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

The FabCon + SQLCon recap series starts April 14th at 8am Pacific. If you’re tracking where AI is going inside Fabric, this first session is a can't miss. Register now

Reply
Syndicate_Admin
Administrator
Administrator

Promedio de las últimas 2 semanas

Tengo una tabla que usa una medida llamada "Pass (#)" que cuenta todas las transcaciones que tienen el estado "Pass" en mi conjunto de datos y luego las agrega por semana usando mi tabla de fechas y la función USERELATIONSHIP. Esta medida funciona como se esperaba, sin embargo, ahora quiero calcular el promedio de las últimas 2 semanas de todos los pases por semana. Aquí está mi tabla de salida:

stemorri_0-1643326637507.png

A continuación se muestra la medida que se me ha ocurrido para calcular el promedio de las últimas 2 semanas, sin embargo, solo está sumando las últimas 2 semanas y no promediándolas. El resultado que debería obtener para la última semana es 9 ( (16 + 7) / 2), sin embargo, estoy obteniendo 23 (16 + 7).

Últimas 2 semanas =
VAR thisdate =
MAX ( MV_CHG_DateTable[Fin de.de.Semana] )
VAR last2Weeks =
TOPN ( 2, FILTER ( ALL ( MV_CHG_DateTable[End.of.Week] ), MV_CHG_DateTable[End.of.Week] <= thisdate ), MV_CHG_DateTable[End.of.Week] , DESC )
DEVOLUCIÓN
CALCULAR(
[Pase (#)],
last2Weeks,
USERELATIONSHIP(MV_CHG_DateTable[CHG_Dates], 'MDL_LMS_Service Standards Decisions'[Left.Queue.On])
)

Si alguien puede ayudarme a descubrir cómo lograr que esta medida promedie las últimas dos semanas en lugar de sumarlas, estaría agradecido.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

¿ @stemorri

Dado que ya tiene el valor de suma correcto, solo necesita dividir la suma por 2. ¿No es así?

Last 2 Weeks =
VAR thisdate = MAX ( MV_CHG_DateTable[End.of.Week] )
VAR last2Weeks =
    TOPN (
        2,
        FILTER (
            ALL ( MV_CHG_DateTable[End.of.Week] ),
            MV_CHG_DateTable[End.of.Week] <= thisdate
        ),
        MV_CHG_DateTable[End.of.Week], DESC
    )
RETURN
    DIVIDE (
        CALCULATE (
            [Pass (#)],
            last2Weeks,
            USERELATIONSHIP ( MV_CHG_DateTable[CHG_Dates], 'MDL_LMS_Service Standards Decisions'[Left.Queue.On] )
        ),
        2
    )

Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

¿ @stemorri

Dado que ya tiene el valor de suma correcto, solo necesita dividir la suma por 2. ¿No es así?

Last 2 Weeks =
VAR thisdate = MAX ( MV_CHG_DateTable[End.of.Week] )
VAR last2Weeks =
    TOPN (
        2,
        FILTER (
            ALL ( MV_CHG_DateTable[End.of.Week] ),
            MV_CHG_DateTable[End.of.Week] <= thisdate
        ),
        MV_CHG_DateTable[End.of.Week], DESC
    )
RETURN
    DIVIDE (
        CALCULATE (
            [Pass (#)],
            last2Weeks,
            USERELATIONSHIP ( MV_CHG_DateTable[CHG_Dates], 'MDL_LMS_Service Standards Decisions'[Left.Queue.On] )
        ),
        2
    )

Saludos
Equipo de soporte de la comunidad _ Jing
Si esta publicación ayuda, por favor acéptala como Solución para ayudar a otros miembros a encontrarla.

Gracias @v-jingzhang . Esto funciona perfectamente.

Syndicate_Admin
Administrator
Administrator

@stemorri , En tal caso, es mejor tener una tabla de fechas con el rango de la semana en la fecha de inicio de la semana o la fecha de fin de semana.

ejemplo

Rango de la semana = RANKX(all('Date'),'Date'[Fecha de inicio de la semana],,ASC,Dense)

o

Rango de semana = RANKX(all('Date'),'Date'[Fecha de fin de semana],,ASC,Dense)
O
Rango de semana = RANKX(all('Date'),'Date'[Year Week],,ASC,Dense) //YYYYWW formato

Luego puede medir usando el rango de la semana

Últimas 2 semanas = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]>=max('Date'[Week Rank])-2 && 'Date'[Week Rank]<=max('Date'[Week Rank])))


últimas dos semanas = CALCULATE(sum('Table'[Qty]), FILTER(ALL('Date'),'Date'[Week Rank]<=max('Date'[Week Rank])-1
&& 'Date'[Week Rank]>=max('Date'[Week Rank])-3))

Promedio de las últimas 2 semanas = CALCULATE(Averagex(Values('Date'[Week Rank]), calculate(sum('Table'[Qty]))), FILTER(ALL('Date'),'Date'[Week Rank]>=max('Date'[Week Rank])-2 && 'Date'[Week Rank]<=max('Date'[Week Rank])))

Gracias @amitchandak, pero su solución utiliza un ejemplo de sumar/promediar la variable [Qty] que estaría dentro del conjunto de datos "Table". En mi caso, la variable que estoy tratando de promediar está dentro de una tabla de medidas que creé (virtualmente) usando DAX y quiero poder promediar esa variable. ¿Conoces una manera de hacerlo?

Helpful resources

Announcements
New to Fabric survey Carousel

New to Fabric Survey

If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.

Power BI DataViz World Championships carousel

Power BI DataViz World Championships - June 2026

A new Power BI DataViz World Championship is coming this June! Don't miss out on submitting your entry.

Join our Fabric User Panel

Join our Fabric User Panel

Share feedback directly with Fabric product managers, participate in targeted research studies and influence the Fabric roadmap.

March Power BI Update Carousel

Power BI Community Update - March 2026

Check out the March 2026 Power BI update to learn about new features.

Top Kudoed Authors