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

Earn the coveted Fabric Analytics Engineer certification. 100% off your exam for a limited time only!

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

@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
April AMA free

Microsoft Fabric AMA Livestream

Join us Tuesday, April 09, 9:00 – 10:00 AM PST for a live, expert-led Q&A session on all things Microsoft Fabric!

March Fabric Community Update

Fabric Community Update - March 2024

Find out what's new and trending in the Fabric Community.

Top Solution Authors