Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

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.

Reply
HarmGrooten
Frequent Visitor

Comparar un valor fijo con un valor similar en la fecha más reciente

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

PartCodePartPrizeFixed
A15
B5
C25

Facturas

PartCodeFecha de facturaPrecio
A1-1-202015
A1-5-202016
A1-10-202014
B1-5-20206
B1-10-20203
B1-1-20205
C1-5-202021
C1-10-202035
C1-1-202025

Para esa segunda tabla, sólo me interesan las últimas fechas por artículo. Así que básicamente:

Facturas

PartCodeFecha de facturaPrecio
A1-10-202014
B1-10-20203
C1-10-202035

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:

PartCodeFecha de facturaPrecioPartPrizeFixed
A1-10-20201415
B1-10-202035
C1-10-20203525

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.

6 REPLIES 6
v-stephen-msft
Community Support
Community Support

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

v-stephen-msft
Community Support
Community Support

Hola @HarmGrooten ,

Por favor, compruebe este resultado si es lo que desea.

7.png

1.InvoiceDate se obtiene seleccionando Más reciente.

8.png

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.

amitchandak
Super User
Super User

@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?

Helpful resources

Announcements
Microsoft Fabric Learn Together

Microsoft Fabric Learn Together

Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City

PBI_APRIL_CAROUSEL1

Power BI Monthly Update - April 2024

Check out the April 2024 Power BI update to learn about new features.

April Fabric Community Update

Fabric Community Update - April 2024

Find out what's new and trending in the Fabric Community.