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.
Hola, soy un usuario bastante nuevo de Power BI y tengo un problema para calcular una medida para un objeto visual Matrix.
Mi objetivo es calcular las semanas anteriores millas para cada división de negocios en una Matrix. Mi función actual calcula el total de millas de la semana anterior. Sin embargo, lo necesito para calcular las semanas anteriores millas para cada división de negocios.
Solved! Go to Solution.
HOLA @clarkey1988,
Creo que también debe tener en cuenta el problema de conversión de año, así que agregué if statement su fórmula para enviar a dos condiciones basadas en el número de semana actual que se extraen de los campos de fecha de tabla. (Agredo una condición adicional a su fórmula para filtrar los registros en función del año y el número de semana, se filtrará con mayor precisión si la tabla contiene muchos registros de año)
Puede probarlo si la siguiente fórmula cumple con sus requisitos:
Previous Week =
VAR currDate =
MAX ( 'Trip Detail'[date] )
RETURN
CALCULATE (
SUM ( 'Trip Detail'[Miles] ),
FILTER (
ALLSELECTED ( 'Trip Detail' ),
IF (
weekNumber > 1,
YEAR ( 'Trip Detail'[Date] ) = YEAR ( currDate )
&& WEEKNUM ( 'Trip Detail'[Date] )
= WEEKNUM ( currDate ) - 1,
YEAR ( 'Trip Detail'[Date] )
= YEAR ( currDate ) - 1
&& WEEKNUM ( 'Trip Detail'[Date] )
= WEEKNUM ( DATE ( YEAR ( currDate ) - 1, 12, 31 ) )
)
),
VALUES ( 'Trip Detail'[Business Division] )
)
saludos
Xiaoxin Sheng
Thank you all for your responses!
@clarkey1988 , Asegúrese de que la semana está en una tabla independiente. En tabla de fechas o tabla de la semana.
Refiérase a mi blog
No necesitas ALLSELECTED. ¿Cuál es su medida de la semana actual?
Probablemente sólo necesites algo en la línea de:
Previous week = CALCULATE(SUM('Trip Detail'[Miles]),
FILTER(ALL('Trip Detail'),
'Trip Detail'[Week Number]=MAX('Trip Detail'[Week Number])-1))
Si hay otros contextos de fila (anidados, por ejemplo), es posible que necesite ALLEXCEPT
Algo en la línea de:
Previous week = CALCULATE(SUM('Trip Detail'[Miles]),
(FILTER(ALLEXCEPT('Table, Table[Business Division]'),'Trip Detail'[Week Number]=MAX('Trip Detail'[Week Number])-1)))
Proud to be a Super User!
Paul on Linkedin.
Hola @PaulDBrown
Gracias por responder. Mi medida actual es simplemente la suma de las semanas actuales millas / suma de la semana 10 millas (pre COVID)
Sin embargo, necesito que sea semana tras semana y no específico de la semana 10. Tengo dos filtros dentro de matrix, pero parece que la medida que enumeraste sin ALLSELECTED todavía suma las millas TOTAL, y no la rompe por división de negocios. La división de negocios es una columna que agregué y hice en una declaración if.
@clarkey1988
Hola de nuevo,
Es probable que necesite incluir el número fweek en la cláusula ALL:
Previous week = CALCULATE(SUM('Trip Detail'[Miles]),
FILTER(ALL('Trip Detail'[Week Number]),
'Trip Detail'[Week Number]=MAX('Trip Detail'[Week Number])-1))
De lo contrario, intente con la segunda opción que publiqué usando ALLEXCEPT, vea si eso funciona.
Proud to be a Super User!
Paul on Linkedin.
@PaulDBrown así que creo que estoy cerca. La primera optuaion no funcionó
La versión de ALLEXCEPT a continuación calcula las semanas anteriores millas por división de negocios con precisión. Sin embargo, no tiene en cuenta los dos filtros que tengo en la matriz.
HOLA @clarkey1988,
Creo que también debe tener en cuenta el problema de conversión de año, así que agregué if statement su fórmula para enviar a dos condiciones basadas en el número de semana actual que se extraen de los campos de fecha de tabla. (Agredo una condición adicional a su fórmula para filtrar los registros en función del año y el número de semana, se filtrará con mayor precisión si la tabla contiene muchos registros de año)
Puede probarlo si la siguiente fórmula cumple con sus requisitos:
Previous Week =
VAR currDate =
MAX ( 'Trip Detail'[date] )
RETURN
CALCULATE (
SUM ( 'Trip Detail'[Miles] ),
FILTER (
ALLSELECTED ( 'Trip Detail' ),
IF (
weekNumber > 1,
YEAR ( 'Trip Detail'[Date] ) = YEAR ( currDate )
&& WEEKNUM ( 'Trip Detail'[Date] )
= WEEKNUM ( currDate ) - 1,
YEAR ( 'Trip Detail'[Date] )
= YEAR ( currDate ) - 1
&& WEEKNUM ( 'Trip Detail'[Date] )
= WEEKNUM ( DATE ( YEAR ( currDate ) - 1, 12, 31 ) )
)
),
VALUES ( 'Trip Detail'[Business Division] )
)
saludos
Xiaoxin Sheng
Hola @v-shex-msft , su respuesta ayudó con mi cálculo de pedidos de la última semana calendario. Estoy luchando para calcular los pedidos de las últimas 4 semanas del calendario. Cualquier ayuda con eso será muy apreciada.
Ok, así que nos estamos acercando...
Algo que no pregunto, y en realidad es muy importante (por muchas razones, incluyendo este tipo de cálculos): ¿tienes un calendario o una tabla de fechas?
Si no es así, cree uno y vincúlalo a sus tablas en relación de uno a varios.
(En cuanto a la medida que no tiene en cuenta los filtros, es difícil ver lo que está pasando sin saber qué / si tablas y relaciones que está promulgando en los filtros ...).
Ps, sería muy útil si pudiera proporcionar un ejemplo de datos de archivo PBIX / muestra (con datos falsos de necesidad) para trabajar en!
Proud to be a Super User!
Paul on Linkedin.
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 | |
1 | |
1 | |
1 | |
1 |