Earn a 50% discount on the DP-600 certification exam by completing the Fabric 30 Days to Learn It challenge.
Buenas tardes,
Tengo un modelo de datos en el que estoy tratando de calcular, por medio de una columna calculada, los costes asociados a un producto, según el producto, la moneda en la que se realiza la factura y la fecha de la factura.
En el siguiente ejemplo, que adjunto en archivo "pbix" con datos de muestra, disponemos de dos orígenes de datos, los costes de productos en base a moneda y fecha (por las exportaciones de producto y las variaciones de coste) y las facturas de venta (identificando fecha, moneda y producto).
https://drive.google.com/file/d/1heOdC5omBtv_qOCljaHI6-AaMCDDFcBy/view?usp=sharing
Mi objetivo es asociar el coste producto de la fecha anterior más cercana cuando la fecha de la factura no coincida con ninguna fecha de coste.
Por ejemplo:
Hasta ahora he conseguido obtener el coste cuando la fecha de la factura es igual a la fecha de coste, pero no consigo completar con los costes del día anterior más cercano.
Me gustaría conseguir una columna como se muestra en la siguiente imagen "Coste fecha anterior más cercana".
¿Cuál sería la opción y expresión adecuada para calcularlo?
Gracias. Un saludo,
Jacob
Solved! Go to Solution.
Hay @jacob2102,
Cambie la función 'calcular' en la variable 'lista' a 'calculable' para solucionar el problema:
Measure =
VAR dateStart =
MIN ( Calendar[Date] )
VAR dateEnd =
MAX ( Calendar[Date] )
VAR list =
CALCULATETABLE (
VALUES ( Table[Date] ),
ALLSELECTED ( Table ),
VALUES ( Table[ID] )
)
RETURN
IF (
MINX ( list, [Date] ) = dateStart
&& MAX ( list, [Date] ) = dateEnd,
"Y",
"N"
)
Saludos
Xiaoxin Sheng
Hay @jacob2102,
No estoy tan seguro de sus descripciones, ¿quería filtrar los registros con dos condiciones? (por ejemplo, registros de filtro que comienzan en xxx, terminan en xxx)
Si ese es el caso, puede usar la categoría actual como condición para filtrar la lista de fechas, luego puede extraer la fecha mínima y máxima de esa lista como condiciones para filtrar registros.
Measure =
VAR dateStart =
MIN ( Calendar[Date] )
VAR dateEnd =
MAX ( Calendar[Date] )
VAR list =
CALCULATE (
VALUES ( Table[Date] ),
ALLSELECTED ( Table ),
VALUES ( Table[ID] )
)
RETURN
IF (
MINX ( list, [Date] ) = dateStart
&& MAX ( list, [Date] ) = dateEnd,
"Y",
"N"
)
Saludos
Xiaoxin Sheng
Hola
Gracias por su respuesta, pero no es posible crear esta medida usando la expresión return usando "MINX(list... && MAX(lista...))".
Saludos
Jacob
Hay @jacob2102,
Cambie la función 'calcular' en la variable 'lista' a 'calculable' para solucionar el problema:
Measure =
VAR dateStart =
MIN ( Calendar[Date] )
VAR dateEnd =
MAX ( Calendar[Date] )
VAR list =
CALCULATETABLE (
VALUES ( Table[Date] ),
ALLSELECTED ( Table ),
VALUES ( Table[ID] )
)
RETURN
IF (
MINX ( list, [Date] ) = dateStart
&& MAX ( list, [Date] ) = dateEnd,
"Y",
"N"
)
Saludos
Xiaoxin Sheng
Tienes soluciónes en este hilo:
https://community.powerbi.com/t5/Desktop/Duplicar-filas-con-fechas-diferentes/m-p/2037653#M763738
las has probado?
Si aún así tienes dudas, ponlas que te ayudaremos (pero en el hilo original por favor)
(y por favor, no dupliques preguntas que se dispersan soluciones y concocimientos )