Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Por lo tanto, lo que estoy tratando de hacer es igualar un precio fijo para un artículo a su precio de compra más reciente.
La información del artículo se almacena en una tabla específica 'Partes'. Cada artículo tiene un único precio fijo que usamos para calcular.
Los precios de compra se almacenan en una tabla "Facturas" donde son muchos precios por artículo, ya que compramos cada artículo más de una vez. Cada compra tiene una fecha.
Relevante para mí es la comparación entre el precio fijo utilizado para el cálculo y el precio de compra actual (es decir, el más reciente).
Las tablas se ven más o menos así:
Piezas
PartCode | PartPrizeFixed |
A | 15 |
B | 5 |
C | 25 |
Facturas
PartCode | Fecha de factura | Precio |
A | 1-1-2020 | 15 |
A | 1-5-2020 | 16 |
A | 1-10-2020 | 14 |
B | 1-5-2020 | 6 |
B | 1-10-2020 | 3 |
B | 1-1-2020 | 5 |
C | 1-5-2020 | 21 |
C | 1-10-2020 | 35 |
C | 1-1-2020 | 25 |
Para esa segunda tabla, sólo me interesan las últimas fechas por artículo. Así que básicamente:
Facturas
PartCode | Fecha de factura | Precio |
A | 1-10-2020 | 14 |
B | 1-10-2020 | 3 |
C | 1-10-2020 | 35 |
Si utilizo GROUP BY (en PartCode con InvoiceDate como MAX) entonces perderé el precio de esa compra específica. He buscado en el foro para que esto funcione (es decir, conservar la columna y el campo específico para la última fecha), pero sin éxito.
Como quiero hacer una comparación, el resultado final debe tener el siguiente aspecto:
PartCode | Fecha de factura | Precio | PartPrizeFixed |
A | 1-10-2020 | 14 | 15 |
B | 1-10-2020 | 3 | 5 |
C | 1-10-2020 | 35 | 25 |
Por otra parte, quiero hacer una columna calculada (Premio menos PartPriceFixed) para que pueda filtrar todos los artículos donde el precio fijo y el precio de compra son los mismos (ya que los que no necesitan mi atención).
Cualquier solución debe funcionar dinámicamente, ya que quiero hacer esto periódicamente.
La ayuda sería muy apreciada.
Hola @HarmGrooten ,
¿Podría decirme si su problema ha sido resuelto?
Si es así, acédi es la solución. Más gente se beneficiará de ello.
O todavía está confundido al respecto, por favor proporcione más detalles sobre su tabla y su problema o compártame con su archivo pbix de su Onedrive for Business.
Saludos
Stephen Tao
Stephen
Funcionó como un encanto para obtener la visión general que necesitaba. Gracias.
No está del todo seguro de por qué, así que tal vez se puede aclarar un poco?
En la primera medida, se calcula una suma, pero no bajo lo que esto hace ya que todavía obtengo un precio único por línea. En el archivo que proporcionó, si pongo la fecha en 'no resumir', el "último precio" simplemente devuelve los valores originales del precio en el tabel Factura. Así que realmente no entiendo la función de esta medida. (Eso se dice, si sólo agredo la columna Precio, parece que no puedo usar eso para la segunda medida?).
La parte FILTER de las medidas está ahí para asegurarse de que cuando resuma la fecha, devolverá el valor con la fecha más reciente derecho?
Hola @HarmGrooten ,
El Fechac, que se establece en 'no resumir' es igual a una medida que es Latest InvoiceDate ( Fecha factura más reciente) ( MAX('INVOICES'[InvoiceDate]).
La medida del último precio es filtrar el precio de la fecha más reciente. Si coloca la columna de precio directamente, obtendrá el valor total de cada PartCode.
En la medida Premio menos PartPriceFixed, el primer menos es la métrica llamada, la última menos es filtrar el PartPrizeFixed de la fecha más reciente.
Si desea obtener los resultados de las filas que contienen solo la fecha más reciente, debe filtrar todas las funciones solo a las que contienen la fecha más reciente.
Saludos
Stephen Tao
Hola @HarmGrooten ,
Por favor, compruebe este resultado si es lo que desea.
1.InvoiceDate se obtiene seleccionando Más reciente.
2.El precio más reciente es una medida
Latest Price = CALCULATE(SUM('INVOICES'[Price]),FILTER('INVOICES',[InvoiceDate]=MAX('INVOICES'[InvoiceDate])))
3.Premio menos PartPriceFixed también es una medida.
Prize minus PartPriceFixed = [Latest Price]- CALCULATE( MAX('PARTS'[PartPrizeFixed]),FILTER('INVOICES',[InvoiceDate]=MAX('INVOICES'[InvoiceDate])))
El archivo pibx está aquí.
Saludos
Stephen Tao
Si este post ayuda,entonces considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
@HarmGrooten , Pruebe una medida como
última fecha Precio
calculate(max(Table[Price]), filter(Table, Table[Date] á calculate(max(Table[Date]),allexcept(Table, Table[PartCode]))))
PartPrizeFixed price ? maxx(INVOICES ,related( PARTS[PartPrizeFixed]))
No está familiarizado con las medidas, pero estas no proporcionan una columna de tabla que pueda usar para filtrar los precios que coinciden o filtran los precios que no coinciden correctamente?
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |