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
Syndicate_Admin
Administrator
Administrator

Promedio de días de oficina en casa por mes si el número de días > 0

hola

Estoy trabajando en una base de datos con los siguientes datos:

  • 1 línea por día de oficina en casa, con estos detalles en otras columnas:
    • Identificación del empleado
    • Id. de servicio
    • Fecha del día del home office (dd/mm/aaaa)
    • Día laborable (1 o 0)

Tengo que calcular el promedio de días de oficina en casa por servicio, que es igual a (número de días de oficina en casa / número de identificadores de empleados únicos / número de meses con días de oficina en casa > 0).

En Excel, la tabla dinámica devolverá un promedio correcto, por ejemplo (21 + 22 + 18) / 3 = 20,33:

servicioMayoJunioJulAgostoSieteoctNovdiceneFebMarzoAprMayoPromedio total
Service_1 21,0022,0018,00 20,33

PowerBI, sin embargo, devuelve 61 porque mi medida es

Moyenne = SUM(Tableau2[Business days)/DISTINCTCOUNT(Tableau2[Employee ID])

Traté de agregar un CALCULATE(DISTINCTCOUNT()) con un FILTER(ALL()) basado en una medida que calcula una suma del número de días de oficina en casa solo si son > 0, pero no hay suerte...

Si alguien tiene una idea, ¡estaré encantado de probarla!

Gracias de antemano.

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

No @Spigaw ,

Según mi prueba, podría agregar una columna YearMonth en primer lugar y luego usar la siguiente fórmula para calcular el día hábil avergae basado en cada Servicio y cada YearMonth:

YearMonth = FORMAT([Date],"YYYY-MM") 
Measure = 
VAR _avg =
    SUM ( 'Table'[Business day] )
        / CALCULATE (
            DISTINCTCOUNT ( 'Table'[YearMonth] ),
            ALLEXCEPT ( 'Table', 'Table'[Service] ),
            'Table'[Business day] <> BLANK ()
        )
RETURN
    IF ( HASONEVALUE ( 'Table'[YearMonth] ), SUM ( 'Table'[Business day] ), _avg )

La salida final se muestra a continuación:

average of each yearmonth.PNG

Saludos
Eyelyn Qin
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

View solution in original post

2 REPLIES 2
Syndicate_Admin
Administrator
Administrator

No @Spigaw ,

Según mi prueba, podría agregar una columna YearMonth en primer lugar y luego usar la siguiente fórmula para calcular el día hábil avergae basado en cada Servicio y cada YearMonth:

YearMonth = FORMAT([Date],"YYYY-MM") 
Measure = 
VAR _avg =
    SUM ( 'Table'[Business day] )
        / CALCULATE (
            DISTINCTCOUNT ( 'Table'[YearMonth] ),
            ALLEXCEPT ( 'Table', 'Table'[Service] ),
            'Table'[Business day] <> BLANK ()
        )
RETURN
    IF ( HASONEVALUE ( 'Table'[YearMonth] ), SUM ( 'Table'[Business day] ), _avg )

La salida final se muestra a continuación:

average of each yearmonth.PNG

Saludos
Eyelyn Qin
Si este post ayuda,entonces por favor considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.

Syndicate_Admin
Administrator
Administrator

Pequeña actualización, probé esto :

=(SUM([Business days])/DISTINCTCOUNT([Employee IDD]))/CALCULATE(DISTINCTCOUNT([Month]);Tableau2[Business days] <> BLANK())

Funcionó para mi primer ejemplo anterior, pero el promedio todavía está apagado cuando se trabaja en datos que abarcan dos años.

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.