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
tpal415
Frequent Visitor

Utilización de empleados - totales incorrectos

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:

  • Utilización del empleado: iferror([Horas facturables] / suma('Calendario'[WorkHours]), blank())
Las horas facturables y las horas de trabajo son medidas:
  • Horas facturables: CALCULATE(SUM('2 Hours'[Horas registradas]),FILTER('2 Hours',[Estado facturable]-"1"))
  • WorkHours ? VAR WeekDayNum ? SEMANA DE SEMANA ('Calendario'[Fecha] )
    devolución (SI (O ( O ( WeekDayNum n.o 1, WeekDayNum n.o 7 ), RELACIONADO ( '6 Días festivos'[Fecha de inicio de vacaciones[Fecha] ) <> BLANK ()),0, 8))
Utilization by monthUtilización por mes

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.

7 REPLIES 7
tpal415
Frequent Visitor

@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 empleado123456789101112Total
Empleado 169%61%66%100%92%103%58%81%6%0%0%0%54%

A continuación se muestran mis datos:

Identificación de personasID del proyectoFecha registradaTareaHoras registradasEstado facturableNombre del empleadoTítulo del empleadoTarifa por hora del empleadoEstado del empleado
171876642970412Jueves, 2 de enero de 20202. Trabajo de campo31N/AAnalista200Tiempo completo
2627322849029Jueves, 2 de enero de 202002. Desarrollo empresarial40N/ADirector General y Cofundador300Tiempo completo
2627322849029Jueves, 2 de enero de 20200. Administrador41N/ADirector General y Cofundador300Tiempo completo
2627442854215Jueves, 2 de enero de 20204. QA61N/ADirector275Tiempo completo
4421542691602Jueves, 2 de enero de 20202. Auditoría Interna01N/Adirector250Tiempo completo
170556192855539Jueves, 2 de enero de 2020Soporte de auditoría in situ81N/AConsultor225Tiempo completo
170900272856177Jueves, 2 de enero de 20202. Auditoría Interna01N/AAnalista Senior225Tiempo completo
171876642982088Jueves, 2 de enero de 2020 31N/AAnalista200Tiempo completo
2627442856293Jueves, 2 de enero de 20201. Planificación de proyectos61N/ADirector275Tiempo completo
171876642849029Jueves, 2 de enero de 20200. Administrador20N/AAnalista200Tiempo completo
171876642855500Jueves, 2 de enero de 20202. Trabajo de campo11N/AAnalista200Tiempo completo
171688712856293Jueves, 2 de enero de 20202. Evaluaciones internas01N/AAnalista225Tiempo completo
170900272849029Jueves, 2 de enero de 2020 81N/AAnalista Senior225Tiempo completo

Gracias por cualquier ayuda, esto ya me ha puesto en el camino correcto!

@Greg_Deckler

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?


Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

@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:

Total Hours.png

*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:

Total Hours by Employee.png

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:

Total Billable Hours.png

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:

Utilization.png

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)

Saludos
Kelly
¿He respondido a tu pregunta? ¡Marca mi puesto como una solución!

@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í.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...
Greg_Deckler
Super User
Super User

@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.


@ me in replies or I'll lose your thread!!!
Instead of a Kudo, please vote for this idea
Become an expert!: Enterprise DNA
External Tools: MSHGQM
YouTube Channel!: Microsoft Hates Greg
Latest book!:
The Definitive Guide to Power Query (M)

DAX is easy, CALCULATE makes DAX hard...

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.