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.
Estoy tratando de averiguar cómo construir una fórmula que proporcionará la utilización para varios empleados que reportan diferentes horas facturables y también con diferentes horas de trabajo debido a cuándo comenzaron. Las horas se notifican por día con varios empleados en la misma columna y horas en otra columna. He calculado las horas de trabajo dentro de una tabla de calendario maestro.
Estoy tratando de dividir las horas facturables por horas de trabajo, usando el calendario para filtrar dinámicamente por mes, trimestre, etc. Lo ideal sería usar esto para tener a cada empleado en una fila con la utilización y luego el total de la utilización.
A continuación se muestra la tabla de utilización, pero los totales son incorrectos calculados como tales:
Los valores de fila parecen estar muy cerca, pero creo que está calculando cada empleado horas facturables por el total de horas disponibles y no totalizar correctamente.
@Greg_Deckler Gracias por la respuesta rápida! He utilizado su receta y funcionó muy bien, los totales son correctos y mucho más fáciles. Mi único problema es si un empleado no había comenzado todavía divide el total de horas facturables por horas de trabajo totales, lo que resulta en una utilización inacurratly baja. ¿Cómo puedo filtrar mis horas de trabajo totales para cada empleado individual único?
Estos son los cálculos que utilicé de su receta:
% Utilization =
VAR __Table = SUMMARIZE('2 Hours','2 Hours'[Employee Name])
VAR __TotalBillableHours = SUMX(__Table,[Total Billable Hours])
VAR __TotalHours = SUMX(__Table,[Total Hours])
VAR __Utilization = DIVIDE(__TotalBillableHours,__TotalHours,0)
RETURN
IF(ISBLANK(__Utilization),0,__Utilization)
Total Billable Hours =
var _Category = MAX('2 Hours'[Billable Status])
Return
IF(
_category = "0",
0,
SUMX(
FILTER(
'2 Hours','2 Hours'[Billable Status] = "1"
),
'2 Hours'[Logged Hours]
)
)
Total Hours =
switch(max('2 Hours'[Column]),
"Full-Time", SUM('Work Hour Calendar'[Work Hours]),
blank()
)
Aquí está el resultado:
Nombre del empleado | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | Total |
Empleado 1 | 69% | 61% | 66% | 100% | 92% | 103% | 58% | 81% | 6% | 0% | 0% | 0% | 54% |
A continuación se muestran mis datos:
Identificación de personas | ID del proyecto | Fecha registrada | Tarea | Horas registradas | Estado facturable | Nombre del empleado | Título del empleado | Tarifa por hora del empleado | Estado del empleado |
17187664 | 2970412 | Jueves, 2 de enero de 2020 | 2. Trabajo de campo | 3 | 1 | N/A | Analista | 200 | Tiempo completo |
262732 | 2849029 | Jueves, 2 de enero de 2020 | 02. Desarrollo empresarial | 4 | 0 | N/A | Director General y Cofundador | 300 | Tiempo completo |
262732 | 2849029 | Jueves, 2 de enero de 2020 | 0. Administrador | 4 | 1 | N/A | Director General y Cofundador | 300 | Tiempo completo |
262744 | 2854215 | Jueves, 2 de enero de 2020 | 4. QA | 6 | 1 | N/A | Director | 275 | Tiempo completo |
442154 | 2691602 | Jueves, 2 de enero de 2020 | 2. Auditoría Interna | 0 | 1 | N/A | director | 250 | Tiempo completo |
17055619 | 2855539 | Jueves, 2 de enero de 2020 | Soporte de auditoría in situ | 8 | 1 | N/A | Consultor | 225 | Tiempo completo |
17090027 | 2856177 | Jueves, 2 de enero de 2020 | 2. Auditoría Interna | 0 | 1 | N/A | Analista Senior | 225 | Tiempo completo |
17187664 | 2982088 | Jueves, 2 de enero de 2020 | 3 | 1 | N/A | Analista | 200 | Tiempo completo | |
262744 | 2856293 | Jueves, 2 de enero de 2020 | 1. Planificación de proyectos | 6 | 1 | N/A | Director | 275 | Tiempo completo |
17187664 | 2849029 | Jueves, 2 de enero de 2020 | 0. Administrador | 2 | 0 | N/A | Analista | 200 | Tiempo completo |
17187664 | 2855500 | Jueves, 2 de enero de 2020 | 2. Trabajo de campo | 1 | 1 | N/A | Analista | 200 | Tiempo completo |
17168871 | 2856293 | Jueves, 2 de enero de 2020 | 2. Evaluaciones internas | 0 | 1 | N/A | Analista | 225 | Tiempo completo |
17090027 | 2849029 | Jueves, 2 de enero de 2020 | 8 | 1 | N/A | Analista Senior | 225 | Tiempo completo |
Gracias por cualquier ayuda, esto ya me ha puesto en el camino correcto!
Todavía no ha descubierto cómo incorporar las fechas de inicio y finalización en el total de horas de trabajo para cada empleado utilizando su fórmula de utilización. Compré y leí los capítulos de utilización dentro de su libro, pero no puedo ver una explicación sobre cómo calcular las horas de trabajo por empleado individual, sólo una agregación de las horas de trabajo totales posibles. Cualquier ayuda sería apreciada!
Hola @tpal415 ,
¿Está resuelto tu problema ahora?
@Kelly Desgraciadamente no. Creo que mi problema es con calucalting horas totales disponibles. No puedo averiguar cómo calcular el total de horas de trabajo disponibles por cada empleado individual cuando los empleados tienen diferentes fechas de inicio. Tengo un calendario con el total de horas de trabajo y otra mesa con las fechas de inicio del empleado, pero no puedo atar los dos juntos. Las horas facturables son correctas, y los totales son todos correclty suma, pero a continuación están las salidas:
Horas totales:
#TotalHours =
VAR __Start = MAX('7 People'[Start Date])
RETURN
switch(max('2 Hours'[Employee Type]),
"Full-Time", SUMX(FILTER('Work Hour Calendar',[Date]>__Start),'Work Hour Calendar'[WorkHours]),
blank()
)
Salida:
*Aquí está el problema - es bueno que solo los números están apareciendo en meses donde las personas tienen horas de entrada, pero de nuevo it's tomar todo el mes de horas de trabajo, no por día y también sólo 7-12 que es más probable porque la fecha de inicio más reciente (máximo) fue mediados de julio. Esto obviamente despete todo lo demás.
Total de horas por empleado:
#TotalHoursByEmployee = SUM('Work Hour Calendar'[WorkHours])
Salida:
Horas facturables totales:
Total Billable Hours =
var _Category = MAX('2 Hours'[Billable Status])
Return
IF(
_category = "0",
0,
SUMX(
FILTER(
'2 Hours','2 Hours'[Billable Status] = "1"
),
'2 Hours'[Logged Hours]
)
)
Salida:
Utilización:
%Utilization =
VAR __utilization = DIVIDE([Total Billable Hours],[#TotalHours],0)
VAR __days = countrows('2 Hours')
RETURN
IF(ISINSCOPE('7 People'[Employee Name]),
IF(
Isblank(__Days),
BLANK(),
IF(
ISBLANK(__utilization),
0,
__utilization
)),
VAR __tempTable =
SUMMARIZE(
'2 Hours',
'2 Hours'[Employee Name],
"__billableHours",[Total Billable Hours],
"__totalHours",[#TotalHours]
)
VAR __totalBillableHours = SUMX(__tempTable,[__billableHours])
VAR __totalTotalHours = SUMX(__tempTable,[__totalHours])
RETURN
DIVIDE(__totalBillableHours,__totalTotalHours,0)
)
Salida:
Hola @tpal415 ,
Es un problema de subtotal, un problema muy común, ¿podrían pls cargar su archivo .pbix a la empresa Onedrive y compartir el enlace conmigo? (Recuerde eliminar la información confidencial)
@tpal415: vea si esto ayuda, asociado PBIX de mi otro libro, Learn Power BI que revisa todo el material de utilización en detalle.
Estoy pensando tal vez:
Total Hours =
VAR __Start = MAX('Employee Table'[Start Date]),
RETURN
switch(max('2 Hours'[Column]),
"Full-Time", SUMX(FILTER('Work Hour Calendar',[Date]>__Start),[Work Hours]),
blank()
)
Algo así.
@tpal415 - Tengo una receta de utilización en mi libro, DAX Cookbook, es la Receta 1, Capítulo 8.
https://github.com/gdeckler/DAXCookbook
Si puede publicar datos de ejemplo que ayudarían.
Parece que medir el total está apagado. Vea mi post al respecto aquí: https://community.powerbi.com/t5/DAX-Commands-and-Tips/Dealing-with-Measure-Totals/td-p/63376
Además, esta Medida Rápida, Medir Totales, La Palabra Final debe obtener lo que necesita:
https://community.powerbi.com/t5/Quick-Measures-Gallery/Measure-Totals-The-Final-Word/m-p/547907
Por último, ya que veo que es un nuevo miembro, compruebe si su problema es un problema común que aparece aquí: https://community.powerbi.com/t5/Community-Blog/Before-You-Post-Read-This/ba-p/1116882
Además, consulte este post sobre cómo obtener respuesta a su pregunta rápidamente: https://community.powerbi.com/t5/Community-Blog/How-to-Get-Your-Question-Answered-Quickly/ba-p/38490
Las partes más importantes son:
1. Datos de muestra como texto, utilice la herramienta de tabla en la barra de edición
2. Salida esperada de los datos de muestra
3. Explicación en palabras de cómo obtener de 1. a 2.
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 |
---|---|
2 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |