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
Gjakova
Post Patron
Post Patron

¿Cómo contar dinámicamente el número de días ausentes?

Hola, me preguntaba cómo contar el número de días ausentes. Vi muchos otros ejemplos en la comunidad, pero no estoy seguro de si lo estoy haciendo de la manera correcta.

He creado un conjunto de datos falso que se parece a mi modelo original: https://www.dropbox.com/s/0ju70kfu3kxokrm/Sample%20file%20HR%20data.pbix?dl=0

Así que tengo una tabla con Employees (todas las filas tienen un EmployeeID único) y otra tabla que registra los días ausentes, etc. Un empleado podría estar ausente debido a una enfermedad, vacaciones, etc.

Lo que me gustaría es tener una visión general de la cantidad de días ausentes por período. Así que cuando rebano por semana quiero ver cuántos días ausentes había en una semana, cuando rebano por mes quiero ver cuántos días ausentes había en un mes y así sucesivamente...
Creo que la tabla 'SickLeave' está bien como está, sólo necesito crear una medida que lo cuente y SOLO CUENTA cuando la RAZON es "Enferma", por lo que la licencia de maternidad, etc. no debe contarse en la medida.

Mis habilidades DAX no son tan buenas, por lo tanto estoy pidiendo ayuda.
Si alguien también pudiera saber cómo contar los empleados activos actuales, ¡eso sería un extra increíble!

Gracias de antemano! Si uno necesita más información, etc. sólo tiene que disparar su pregunta!

1 ACCEPTED SOLUTION
FrankAT
Community Champion
Community Champion

Hola @Gjakova

  1. Reorganicé tu mesa SickLeave (ver figura).
  2. En el objeto visual de matriz utilicé el siguiente maesure:
Count Days = CALCULATE(COUNTROWS(SickLeave),FILTER(SickLeave,SickLeave[Reason] = "Sick"))

27-10-_2020_23-34-57.png

Echa un vistazo al archivo pbix adjunto a continuación.

Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)

View solution in original post

8 REPLIES 8
v-lionel-msft
Community Support
Community Support

Hola @Gjakova ,

¿Rellenar el [EndDate] - Blank() con TODAY()?

Saludos
Lionel Chen

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

¡Buena sugerencia, gracias!

FrankAT
Community Champion
Community Champion

Hola @Gjakova

  1. Reorganicé tu mesa SickLeave (ver figura).
  2. En el objeto visual de matriz utilicé el siguiente maesure:
Count Days = CALCULATE(COUNTROWS(SickLeave),FILTER(SickLeave,SickLeave[Reason] = "Sick"))

27-10-_2020_23-34-57.png

Echa un vistazo al archivo pbix adjunto a continuación.

Con saludos amables desde la ciudad donde la leyenda del 'Pied Piper de Hamelin' está en casa
FrankAT (Orgulloso de ser un Datanaut)

Hola @FrankAT probé su solución, pero no entiendo cómo maneja las fechas finales en blanco? En su ejemplo se dejan vacíos y, por lo tanto, no se cuentan(?). ¿Hay alguna manera de arreglar eso? O debería dejarlo en blanco. Puesto que el modelo está conectado con una API, creo que los valores nulos se ajustan automáticamente una vez que entran nuevos datos?

Pero si están en blanco, esas personas no serán contadas, ¿correcto?

guested
New Member

Algo como esto debería funcionar para usted:

SickDays ? CALCULATE(SUMX(SickLeave, DATEDIFF(SickLeave[StartDate], SickLeave[EndDate],DAY)), SickLeave[Reason] á "Sick")

Hola @niveknonrev gracias por su opinión, pero creo que tiene que ser más complejo. Un empleado tiene un StartDate cuando llamó enfermo y un EndDate cuando llegó a la oficina de nuevo (por lo tanto fue mejor). Así que alguien podría haber llamado enfermo el 5 de octubre y regresó a la oficina el 16 de octubre. Así que la cantidad de días que estuvo enfermo habría sido de 10 días hábiles.

En Power BI, ese evento está registrado como 1 fila, por lo que no creo que COUNTROWS sea adecuado para esto.

Básicamente tengo que calcular todos los días entre StartDate y EndDate (EndDate también podría estar en blanco) para cada fila donde la razón de ausencia era "Sick".

Hola @guested Gracias por su respuesta, pero unfortunalety me está mostrando el mismo valor para cada mes y cada año. ¿Creo que es un problema de relación? ¿Tienes alguna idea más al respecto? ¡Gracias de nuevo!

Anonymous
Not applicable

No puedo llegar a su conjunto de datos en este momento, pero creo que quiere un cálculo y recuentos como este
calculate(countrows('tablename'),SickdayColumnName-"Sick")

calcular le permite añadir muchos filtros y si necesita ser aún más complejo uno de los filtros de cálculo, puede ser una función Filter() también.

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