Reply
avatar user
Anonymous
Not applicable
Syndicated - Inbound

Obtener ausentismo por ciento KPI

Source Community: Power BI

Tengo una exportación de Excel de nómina que muestra si un empleado trabajó en un día en particular.

Estoy tratando de tener 3 KPI mostrando ausentismo para la semana pasada, el mes pasado y el trimestre pasado.

Si un empleado en particular trabajó más de 40 horas durante una semana, entonces se considera asistencia completa (100%) para esa semana.

Creé una medida que funciona parcialmente porque no mira una semana individual. Tampoco puedo agruparlos y mostrarlos en una tarjeta.

Absentismo ?

1-DIVIDE(MIN(SUM(Payroll[Total Hrs]),40*DISTINCTCOUNT(Payroll[Weekend])),40*DISTINCTCOUNT(Payroll[Weekend]))

Enlace de datos

https://drive.google.com/file/d/1r4yMtAMG425b8_lOLSkOeYiF0zE2bUgo/view?usp=sharing

1 ACCEPTED SOLUTION
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: v-jingzhang
Syndicated - Inbound

No @ncheaib

Sobre la base de su discusión con @amitchandak anteriores, le sugiero que modifique sus medidas como a continuación. Calculará el ausentismo en función de las horas.

Absenteeism = 
VAR absentWeeksTable =
    FILTER (
        SUMMARIZE (
            Payroll,
            Payroll[Emp No],
            Payroll[Weekend],
            "_1", SUM ( Payroll[Total Hrs] )
        ),
        [_1] < 40
    )
VAR absentWeeks = COUNTX ( absentWeeksTable, [Weekend] )
VAR allWeeks = DISTINCTCOUNT ( Payroll[Weekend] )
VAR hrs = SUMX ( absentWeeksTable, [_1] ) + ( allWeeks - absentWeeks ) * 40
RETURN
    1 - DIVIDE ( MIN ( hrs, 40 * allWeeks ), 40 * allWeeks )

011401.jpg

Por favor, hágamelo saber si esto ayuda.
Equipo de apoyo a la comunidad _ Jing Zhang
Si este post ayuda,por favor considere Aceptarlo como la solución para ayudar a otros miembros a encontrarlo.

View solution in original post

4 REPLIES 4
Syndicate_Admin
Administrator
Administrator

Source Community: Power BI | Source Author Name: v-jingzhang
Syndicated - Inbound

No @ncheaib

Sobre la base de su discusión con @amitchandak anteriores, le sugiero que modifique sus medidas como a continuación. Calculará el ausentismo en función de las horas.

Absenteeism = 
VAR absentWeeksTable =
    FILTER (
        SUMMARIZE (
            Payroll,
            Payroll[Emp No],
            Payroll[Weekend],
            "_1", SUM ( Payroll[Total Hrs] )
        ),
        [_1] < 40
    )
VAR absentWeeks = COUNTX ( absentWeeksTable, [Weekend] )
VAR allWeeks = DISTINCTCOUNT ( Payroll[Weekend] )
VAR hrs = SUMX ( absentWeeksTable, [_1] ) + ( allWeeks - absentWeeks ) * 40
RETURN
    1 - DIVIDE ( MIN ( hrs, 40 * allWeeks ), 40 * allWeeks )

011401.jpg

Por favor, hágamelo saber si esto ayuda.
Equipo de apoyo a la comunidad _ Jing Zhang
Si este post ayuda,por favor considere Aceptarlo como la solución para ayudar a otros miembros a encontrarlo.

amitchandak
Super User
Super User

Source Community: Power BI
Syndicated - Inbound

@ncheaib , Sin embargo, para comprobar su archivo

Tomé un poco diferente approch, estoy contando empleado y semana.

Medida 1- divide(Countx(Filter(Summarize(payroll, payroll[empleado], Payroll[Weekend],"_1", SUM(Payroll[Total Hrs])),[_1] >-40), [Empleado]) ,
Countx(Summarize(payroll, payroll[employee], Payroll[Weekend]),[Empleado]))

Aquí cada empleado contará una vez por semana. Por favor, cambie el nombre de la columna según la necesidad

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
avatar user
Anonymous
Not applicable

Source Community: Power BI
Syndicated - Inbound

¡Esto es genial!

El único problema es que si un empleado trabaja durante 33,50 horas, cuenta como si el empleado estuviera ausente durante toda la semana.

A continuación se muestra un ejemplo para los #26 de empleados, durante las últimas 8 semanas, sólo se perdieron 14,5 horas/320 a 0,0453 y no un 25% que faltan 2 semanas de 8

image.png

Source Community: Power BI
Syndicated - Inbound

@ncheaib , Trate de usar horas en lugar de contar 🤔


Medida 1- dividir(Countx(Filter(Summarize(payroll, payroll[empleado], Payroll[Weekend],"_1", SUM(Payroll[Total Hrs])),[_1] >-40), [_1]) ,
Countx(Summarize(payroll, payroll[empleado], Payroll[Weekend],"_1", SUM(Payroll[Total Hrs])),[_1]))

Full Power BI Video 20 Hours YouTube
Microsoft Fabric Series 60+ Videos YouTube
Microsoft Fabric Hindi End to End YouTube
avatar user

Helpful resources

Announcements
Las Vegas 2025

Join us at the Microsoft Fabric Community Conference

March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!

FebPBI_Carousel

Power BI Monthly Update - February 2025

Check out the February 2025 Power BI update to learn about new features.

Feb2025 NL Carousel

Fabric Community Update - February 2025

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

Top Solution Authors (Last Month)
Top Kudoed Authors (Last Month)