Forum Discussion
AddColumns con Resumir
Hola a todos
Novato aquí buscando orientación. Estoy tratando de averiguar cuál es el mejor enfoque de DAX para resolver el siguiente problema. Cualquier ayuda de expertos en esta comunidad es muy apreciada.
Tengo una tabla con la que se tienen los datos del parte de horas enviados por los empleados para registrar el tiempo que dedican a los clientes. Mi objetivo es asignar proporcionalmente el costo de cada empleado a las respectivas cuentas de clientes en las que trabajaron. La salida simplemente mostrará dos columnas Clientes y Costo de mano de obra asignado. Aquí hay una instantánea de cómo lo estoy haciendo en Excel ahora. Intenté usar SummarizeColumns con AddColumns, pero no pude averiguar el código DAX. Gracias
Pruebe esta solución.
1. Modelo de datos:
2. Medidas:
Billable Hours = SUM ( LaborHours[Billable Hours] ) Non-Billable Hours = SUM ( LaborHours[Non-Billable Hours] ) Allocated Labor Cost = VAR vBaseTable = ADDCOLUMNS ( SUMMARIZE ( LaborHours, Customer[Customer ID], Employee[Employee ID], Employee[Labor Cost] ), "@CustomerHours", [Billable Hours] + [Non-Billable Hours] ) VAR vEmpHoursTable = ADDCOLUMNS ( vBaseTable, "@EmployeeHoursTotal", CALCULATE ( [Billable Hours] + [Non-Billable Hours], ALL ( Customer ) ) ) VAR vPercentTable = ADDCOLUMNS ( vEmpHoursTable, "@Percent", DIVIDE ( [@CustomerHours], [@EmployeeHoursTotal] ) ) VAR vAllocationTable = ADDCOLUMNS ( vPercentTable, "@Allocation", [@Percent] * Employee[Labor Cost] ) VAR vResult = SUMX ( vAllocationTable, [@Allocation] ) RETURN vResult3. Crear visual usando Customer[Customer ID]:
2 Replies
- Syndicate_Admin
Administrator
Pruebe esta solución.
1. Modelo de datos:
2. Medidas:
Billable Hours = SUM ( LaborHours[Billable Hours] ) Non-Billable Hours = SUM ( LaborHours[Non-Billable Hours] ) Allocated Labor Cost = VAR vBaseTable = ADDCOLUMNS ( SUMMARIZE ( LaborHours, Customer[Customer ID], Employee[Employee ID], Employee[Labor Cost] ), "@CustomerHours", [Billable Hours] + [Non-Billable Hours] ) VAR vEmpHoursTable = ADDCOLUMNS ( vBaseTable, "@EmployeeHoursTotal", CALCULATE ( [Billable Hours] + [Non-Billable Hours], ALL ( Customer ) ) ) VAR vPercentTable = ADDCOLUMNS ( vEmpHoursTable, "@Percent", DIVIDE ( [@CustomerHours], [@EmployeeHoursTotal] ) ) VAR vAllocationTable = ADDCOLUMNS ( vPercentTable, "@Allocation", [@Percent] * Employee[Labor Cost] ) VAR vResult = SUMX ( vAllocationTable, [@Allocation] ) RETURN vResult3. Crear visual usando Customer[Customer ID]:
- Syndicate_Admin
Administrator
Sí, esto está muy claro y funciona perfectamente. ¡Gracias!