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
clarkey1988
Helper II
Helper II

Medida de suma de la semana anterior

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.

Millas de la semana anterior : CALCULATE(SUM('Detalle del viaje'[Millas]),(FILTER(ALLSELECTED('Detalle del viaje'),'Detalle del viaje'[Número de semana]-MAX('Detalle del viaje'[Número de semana])-1)))
Capture.PNG
Por favor, ¿alguien podría ayudar?
1 ACCEPTED 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

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

View solution in original post

9 REPLIES 9
clarkey1988
Helper II
Helper II

Thank you all for your responses!

amitchandak
Super User
Super User

@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

https://community.powerbi.com/t5/Community-Blog/Week-Is-Not-So-Weak-WTD-Last-WTD-and-This-Week-vs-La...

PaulDBrown
Community Champion
Community Champion

@clarkey1988

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)))





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

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)

(SUM('Detalle del viaje'[Millas]))/(CALCULATE(SUM('Detalle del viaje'[Millas]),'Detalle del viaje'[Número de semana]-10))-1

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.

Capture.PNG

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





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

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.

Semana Anterior - CALCULATE(SUM('Detalle del Viaje'[Millas]),
(FILTER(ALLEXCEPT('Detalle del viaje', 'Detalle del viaje'[División de negocio]),'Detalle del viaje'[Número de semana]-MAX('Detalle del viaje'[Número de semana])-1)))
Capture.PNG

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

Community Support Team _ Xiaoxin
If this post helps, please consider accept as solution to help other members find it more quickly.

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.

@clarkey1988

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!





Did I answer your question? Mark my post as a solution!
In doing so, you are also helping me. Thank you!

Proud to be a Super User!
Paul on Linkedin.






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.