cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Syndicate_Admin
Administrator
Administrator

DAX Rolling 7 Días Promedio en período seleccionado por el usuario

Hola

Tengo datos como este:

7 Day Rolling Census =
VAR sumper =
    CALCULATE (
        SUM ( 'Pace Alert Rollup'[Census] ),
        DATESINPERIOD (
            'Pace Alert Rollup'[Date],
            MIN ( 'Pace Alert Rollup'[Date] ),
            -7,
            DAY
        )
    )
VAR daysinperiod =
    CALCULATE (
        DISTINCTCOUNT ( 'Pace Alert Rollup'[Date] ),
        DATESINPERIOD (
            'Pace Alert Rollup'[Date],
            MAX ( 'Pace Alert Rollup'[Date] ),
            -7,
            DAY
        )
    )
RETURN
    sumper / daysinperiod

Quiero que el usuario pueda seleccionar el período que se está ejecutando el promedio móvil de 7 días. por ejemplo:

hwr7dd_0-1620574489239.png

Esta tabla se muestra con una fecha máxima de 1/07 y sin fecha mínima (comenzando el período de rodadura desde el mínimo de datos en el conjunto de datos).

hwr7dd_1-1620574560875.png

Esta tabla filtró los primeros días de par del conjunto de datos, pero todavía inicia el cálculo de rodadura como si no hubiera ningún filtro de fecha. Esta tabla debe leer algo como esto:

fechaCenso rodantecenso
1/03/2121992199
1/04/212246 ((2199+2293)/2)2293
1/05/212312((2199+2293+2445)/3)2445
1/06/212349((2199+2293+2445+2459)/4)2459
1/07/212375((2199+2293+2445+2459+2483)/5)2483

Así que esencialmente Me pregunto cómo obtener que DATESINPERIOD función para tomar las fechas establecidas por un filtro en lugar de las del conjunto de datos.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

@hwr7dd, creo que ha llevado cumm approch con todos los seleccionados . suponiendo que se seleccione el intervalo de fechas

Cumm Avg= divide( CALCULATE(SUM(Sales[Sales Amount]),filter(allselected(date),date[date] <=max(date[date]))) ,
CALCULATE(distinctcount(Date[Month-Year]),filter(allselected(date),date[date] <=max(date[date])), not(isblank(Sales[Sales Amount])))))

o como

Cumm Avg= divide( CALCULATE(SUM(Sales[Sales Amount]),filter(allselected(date),date[date] <=max(date[date]) && date[date] >=max(date[date])-7)) ,
CALCULATE(distinctcount(Date[Month-Year]),filter(allselected(date),date[date] <=max(date[date]) && date[date] >=max(date[date])-7 ), not(isblank(Sales[Sales Amount])))))

View solution in original post

3 REPLIES 3
Syndicate_Admin
Administrator
Administrator

@hwr7dd, creo que ha llevado cumm approch con todos los seleccionados . suponiendo que se seleccione el intervalo de fechas

Cumm Avg= divide( CALCULATE(SUM(Sales[Sales Amount]),filter(allselected(date),date[date] <=max(date[date]))) ,
CALCULATE(distinctcount(Date[Month-Year]),filter(allselected(date),date[date] <=max(date[date])), not(isblank(Sales[Sales Amount])))))

o como

Cumm Avg= divide( CALCULATE(SUM(Sales[Sales Amount]),filter(allselected(date),date[date] <=max(date[date]) && date[date] >=max(date[date])-7)) ,
CALCULATE(distinctcount(Date[Month-Year]),filter(allselected(date),date[date] <=max(date[date]) && date[date] >=max(date[date])-7 ), not(isblank(Sales[Sales Amount])))))

View solution in original post

@amitchandak
A veces no puedo creer lo duro que trabajas y lo mucho que sabes mirando a través de estos foros. ¡gracias!

Además, nota rápida para cualquier persona que pueda encontrar esto en el futuro, tuve que cambiar -7 días a -6 días para alinear con mi correcto rodando 7 días avg.

Helpful resources

Announcements
PBI User Groups

Welcome to the User Group Public Preview

Check out new user group experience and if you are a leader please create your group!

MBAS on Demand

Microsoft Business Applications Summit sessions

On-demand access to all the great content presented by the product teams and community members! #MSBizAppsSummit #CommunityRocks

MBAS Attendee Badge

Claim Your Badge & Digital Swag!

Check out how to claim yours today!

Top Kudoed Authors