Promedio móvil: asistencia por semana con número variable de eventos

Un usuario Pregunto ✅

mikemagill

Tengo una tabla de conteos de asistencia para diferentes eventos. Algunas semanas hay dos eventos, otras semanas solo hay un evento y ocasionalmente no hay eventos. Quiero calcular la asistencia promedio móvil de 52 semanas por semana.

Probé esta medida pero calcula la asistencia promedio por evento, no por semana.

CALCULAR(PROMEDIO(‘Asistencia Total'[Count]),DATESBETWEEN(‘Tabla de fechas'[Date],LASTDATE(‘Tabla de fechas'[Date])-364,LASTDATE(‘Tabla de fechas'[Date])))
¿Cómo agrego los recuentos de eventos por semana antes de promediarlos sobre la cantidad de semanas en las que hay al menos un recuento?

ImkeF

Si desea calcular cuántas personas visitaron (tantos) eventos (como son) por semana y luego promediarlos solo durante semanas con eventos, esta fórmula debería brindar el resultado deseado:

AvgAtt = IF (
    ISBLANK ( SUM ( 'Total Attendance'[Count] ) );  // 4) Return value only if there has been an event
    BLANK ();
    AVERAGEX (                                      // 3) Average the weekly figures
        SUMMARIZE (                                 // 2) Group by week and sum all attendees
            CALCULATETABLE (                        // 1) Get relevant period
                'Total Attendance';
                DATESBETWEEN (
                    'Date Table'[Date];
                    LASTDATE ( 'Date Table'[Date] ) - 364;
                    LASTDATE ( 'Date Table'[Date] )
                )
            );
            'Date Table'[Week];
            "WeeklySum"; SUM ( 'Total Attendance'[Count] )
        );
        [WeeklySum]
    )
)

ImkeF

Si desea calcular cuántas personas visitaron (tantos) eventos (como son) por semana y luego promediarlos solo durante semanas con eventos, esta fórmula debería brindar el resultado deseado:

AvgAtt = IF (
    ISBLANK ( SUM ( 'Total Attendance'[Count] ) );  // 4) Return value only if there has been an event
    BLANK ();
    AVERAGEX (                                      // 3) Average the weekly figures
        SUMMARIZE (                                 // 2) Group by week and sum all attendees
            CALCULATETABLE (                        // 1) Get relevant period
                'Total Attendance';
                DATESBETWEEN (
                    'Date Table'[Date];
                    LASTDATE ( 'Date Table'[Date] ) - 364;
                    LASTDATE ( 'Date Table'[Date] )
                )
            );
            'Date Table'[Week];
            "WeeklySum"; SUM ( 'Total Attendance'[Count] )
        );
        [WeeklySum]
    )
)

mikemagill

En respuesta a ImkeF

Muchas gracias. Eso funciona perfectamente. Solo necesito hacer algunos deberes para entender lo que sucede en la fórmula (aunque sus comentarios son de gran ayuda).

mikemagill

Este es un subconjunto muy simple de los datos que muestra los datos de asistencia durante un período de cinco semanas (1-7, 8-14, 15-21, 22-28 de enero, 29 de enero – 4 de febrero):

Fecha, tipo de evento, recuento

01 enero 2018, mañana, 100

01 enero 2018, PM, 110

08 enero 2018, mañana, 120

24 enero 2018, PM, 130

31 enero 2018, PM, 70

01 febrero 2018, mañana, 80

Quiero calcular la asistencia promedio por semana donde hay eventos. En este ejemplo, el promedio durante el período es 152,5 (es decir, 610/4).

¿Eso ayuda?

Ashish_Mathur

Hola,

Comparta un conjunto de datos y muestre el resultado esperado.

mfelix

Hola @mikemagill,

En primer lugar, su información no es muy clara sobre el conjunto de datos y la forma en que está calculando el recuento de eventos, sin embargo, si puedo entender correctamente, está contando los eventos y luego quiere el promedio. Debe configurar una función AVERAGEX para que funcione.

Debería verse algo como esto:

Average Of Events =
CALCULATE (
    AVERAGEX ( Table, [Count] ),
    DATESBETWEEN (
        'Date Table'[Date],
        LASTDATE ( 'Date Table'[Date] ) - 364,
        LASTDATE ( 'Date Table'[Date] )
    )
)

No estoy realmente seguro de si esto funciona, ya que se ajustará a su conjunto de fechas, sin embargo, esta es la fórmula general.

¿Puede compartir alguna muestra de datos o una copia del archivo PBIX?

Saludos,

mfelix

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *