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.
Hola Comunidad,
Es mi primer post probando ayuda en este portal.
Les comento, quisiera calcular como medida el % entre las primeras 2 columnas, pero con la siguiente particularidad:
Ejemplo:
[%] Total Name 2 - 2018:
(168+384)/2196
Como ven, para el Name 2, necesito consolidar el total de horas pero sobre un valor unico que serían sus horas planificadas las cuales se van repitiendo a medida que se va teniendo el tipo de Ausencia en la columna Att/abs. type text
Entendiendo que después podré abrir dicho porcentaje en la visualización por la cuarta columna (Att/abs. type text), me gustaría tenerlo como una medida en donde pueda seleccionar por año también.
Saludos!
Solved! Go to Solution.
Muchas gracias por la muestra y explicación. Para empezar, he creado tablas de dimension para Trabajador, Año, y tipo de ausencia. El modelo queda así:
Para las horas ausentes, la medida es una simple suma:
Sum Abs/attendance =
SUM(FTable[Abs./attendance hours])
Para las horas planificadas la medida es algo más compleja. Hay que hacer el promedio por trabjador y año, y luego la suma de este valor. Esto permite que el cálculo refleje las horas tanto a nivel trabajador como total por año. La medida es la siguiente:
Planned Hours por trabajador =
SUMX (
SUMMARIZE ( FTable, 'Dim Año'[dAño], 'Dim Trabajador'[dID Trabajador] ),
CALCULATE ( AVERAGE ( FTable[Planned hours] ) )
)
Finalmente, el % es una simple división:
% Abs/Attendance =
DIVIDE([Sum Abs/attendance], [Planned Hours por trabajador])
y este es el resultado:
Te adjunto el archivo PBIX de muestra
Proud to be a Super User!
Paul on Linkedin.
Muchas gracias por la muestra y explicación. Para empezar, he creado tablas de dimension para Trabajador, Año, y tipo de ausencia. El modelo queda así:
Para las horas ausentes, la medida es una simple suma:
Sum Abs/attendance =
SUM(FTable[Abs./attendance hours])
Para las horas planificadas la medida es algo más compleja. Hay que hacer el promedio por trabjador y año, y luego la suma de este valor. Esto permite que el cálculo refleje las horas tanto a nivel trabajador como total por año. La medida es la siguiente:
Planned Hours por trabajador =
SUMX (
SUMMARIZE ( FTable, 'Dim Año'[dAño], 'Dim Trabajador'[dID Trabajador] ),
CALCULATE ( AVERAGE ( FTable[Planned hours] ) )
)
Finalmente, el % es una simple división:
% Abs/Attendance =
DIVIDE([Sum Abs/attendance], [Planned Hours por trabajador])
y este es el resultado:
Te adjunto el archivo PBIX de muestra
Proud to be a Super User!
Paul on Linkedin.
Muy agradecido por tu ayuda.
Me queda solamente una duda,
Son necesarias las 3 tablas de dimensión? o puedo usar la formula solamente con la tabla "FTable"?
Saludos!
Se puede hacer sin tablas de dimensión. Sin embargo es recomendable (mejores prácticas en PBI) usar tablas de dimensión.
Proud to be a Super User!
Paul on Linkedin.
Puedes por favor publicar una muestra de datos (no confidenciales) o un PBIX para poder trabajarlo?
Por cierto, las 2196 horas son constantes o variables?
Proud to be a Super User!
Paul on Linkedin.
Hola!
Muchas gracias por responderme! te adjunto el mismo Excel de la imagen y te doy un poco de Contexto sobre los nombres de las columnas y las nuevas añadidas:
Abs./attendance hours: Horas ausentes de un trabajador en el año por algun tipo de ausencia.
Planned hours: Horas planificadas para un trabajador en el año.
Name of employee or applicant: Nombre Trabajdor.
Att./abs. type text: Tipo de Ausencia.
Año: Año.
ID Trabajador: ID Trabajdor.
Respondiendo a tu duda, las horas planificadas son para cada trabajador en el año constantes, por ejemplo, en la imagen el trabajador "Name 1", en el 2018, tiene 60 horas ausentes de 2184 horas planificadas por Ausencia del tipo "Annual Leave".
En cambio, el trabajador "Name 2", en el 2018, tiene 168 horas ausentes de 2196 horas planificadas por Ausencia del tipo "Annual Leave" y tiene 384 horas ausentes de 2196 horas planificadas por Ausencia del tipo "Sick Leave".
Lo que yo quisiera saber, es el % sobre horas ausentas / horas planificadas en el año por cada trabajador y luego podré obtener el mismo % pero por tipo de Ausencia.
Acá la Data de muestra:
Abs./attendance hours | Planned hours | Name of employee or applicant | Att./abs. type text | Año | ID Trabajador |
60 | 2184 | Name 1 | Annual Leave | 2018 | 1 |
168 | 2196 | Name 2 | Annual Leave | 2018 | 2 |
384 | 2196 | Name 2 | Sick Leave | 2018 | 2 |
236 | 2180 | Name 3 | Annual Leave | 2018 | 3 |
68 | 2228 | Name 4 | Annual Leave | 2018 | 4 |
588 | 2228 | Name 4 | Sick Leave | 2018 | 4 |
60 | 2196 | Name 5 | Sick Leave | 2018 | 5 |
12 | 2196 | Name 5 | Paid Absence | 2018 | 5 |
184 | 2164 | Name 6 | Annual Leave | 2018 | 6 |
180 | 2196 | Name 7 | Annual Leave | 2018 | 7 |
120 | 2092 | Name 8 | Annual Leave | 2018 | 8 |
104 | 2204 | Name 9 | Annual Leave | 2018 | 9 |
184 | 2184 | Name 1 | Ds28 | 2019 | 1 |
180 | 2196 | Name 2 | Annual Leave | 2019 | 2 |
120 | 2196 | Name 2 | Sick Leave | 2019 | 2 |
104 | 2180 | Name 3 | Annual Leave | 2019 | 3 |
236 | 2228 | Name 4 | DS28 | 2019 | 4 |
68 | 2228 | Name 4 | Sick Leave | 2019 | 4 |
588 | 2196 | Name 5 | Sick Leave | 2019 | 5 |
60 | 2196 | Name 5 | Paid Absence | 2019 | 5 |
236 | 2164 | Name 6 | Annual Leave | 2019 | 6 |
68 | 2196 | Name 7 | Annual Leave | 2019 | 7 |
588 | 2092 | Name 8 | DS28 | 2019 | 8 |
60 | 2204 | Name 9 | Annual Leave | 2019 | 9 |
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
113 | |
97 | |
84 | |
67 | |
60 |
User | Count |
---|---|
150 | |
120 | |
99 | |
87 | |
68 |