Microsoft Fabric Community Conference 2025, March 31 - April 2, Las Vegas, Nevada. Use code FABINSIDER for a $400 discount.
Register nowGet inspired! Check out the entries from the Power BI DataViz World Championships preliminary rounds and give kudos to your favorites. View the vizzies.
Hola
Tengo laborcode(número de empleado), nombre y laborhrs en una fila
Y euipment, equipmenthrs, equilaborcode en fila diferente.
Laborcode y equilaborcode son lo mismo. Me gustaría identificar al operador por su nombre.
Creé la columna
Fecha de trabajo | Código de trabajo | nombre | laborhrs | equipo | Horas de equipamiento | Equipocódigo de trabajo | Unidad de equipos expendedores | Operator_name | Oprator total horas |
12/1/2022 | 30017091 | Landry | 0.5 | ||||||
12/1/2022 | 30004386 | LETENDRE | 3 | ||||||
12/1/2022 | 30012147 | Penkov | 0.5 | ||||||
12/1/2022 | 30004376 | ROY | 2.5 | ||||||
12/1/2022 | 30004393 | Vergunov | 3 | ||||||
12/1/2022 | 30004376 | ROY | 5.5 | ||||||
12/1/2022 | 30004393 | Vergunov | 5 | ||||||
12/1/2022 | 30004393 | Vergunov | 2 | ||||||
12/1/2022 | 160 TONELADAS | 4.5 | 30004393 | 160-1-4433 | Vergunov | 10 | |||
12/1/2022 | 160 TONELADAS | 7 | 30004376 | 160-1-4433 | ROY | 12.5 | |||
12/1/2022 | 30004376 | ROY | 2 | ||||||
12/1/2022 | 30004376 | ROY | 2.5 | ||||||
12/1/2022 | 30017091 | Landry | 2 | ||||||
12/1/2022 | 30017091 | Landry | 1 | ||||||
12/2/2022 | 30004370 | BANARES | 0.5 | ||||||
12/2/2022 | 30017091 | Landry | 0.5 | ||||||
12/2/2022 | 30004370 | BANARES | 1 | ||||||
12/2/2022 | 100 TON | 2 | 30004370 | 100-1-4617 | BANARES | 10 | |||
12/2/2022 | 30004370 | BANARES | 7.5 | ||||||
12/2/2022 | 30004370 | BANARES | 1 | ||||||
12/2/2022 | 100 TON | 6 | 30017091 | 100-1-4475 | Landry | 11 | |||
12/2/2022 | 30017091 | Landry | 7.5 | ||||||
12/2/2022 | 30017091 | Landry | 2 | ||||||
12/2/2022 | 30017091 | Landry | 1 |
Seguro.
Comparta sus fórmulas tanto para Nombre del operador como para Horas totales del operador.
Solo necesitaba ver cómo nombraste la columna Nombre del operador.
La columna de nombre a la que se hace referencia en la instrucción ALLEXCEPT debe ser la columna "Nombre del operador", no la columna Nombre del empleado original.
Ok, cambiemos la columna Horas totales calculadas del operador a esto ...
Total de horas del operador2 =
Dónde _operatorName =
codeTable[operatorName]
Dónde _workDate =
codeTable[Fecha de trabajo]
Dónde _Calc =
CALCULAR(
SUMA(codeTable[laborhrs]),
FILTRO(TODO(codeTable), codeTable[operatorName] = _operatorName && codeTable[Fecha de trabajo] = _workDate)
)
Devolución
_Calc
Ok, reemplace el "_calc" con _OperatorName y vea si se devuelven los nombres.
A continuación, reemplace _calc con _workdate y vea si se devuelven las fechas de trabajo.
Déjame saber cómo funciona eso
Cuando sustituyo _calc por Operatorname, entonces retuen Operatorname.
Cuando sustituyo _calc por Workdate, vuelvo Workdate.
Pero necesito horas totales.
Gracias
Rupal
Gracias. Eso me permite saber que no hay errores en los datos.
Cuando se utiliza
Total de horas del operador2 =
Dónde _operatorName =
codeTable[operatorName]
Dónde _workDate =
codeTable[Fecha de trabajo]
Dónde _Calc =
CALCULAR(
SUMA(codeTable[laborhrs]),
FILTRO(TODO(codeTable), codeTable[operatorName] = _operatorName && codeTable[Fecha de trabajo] = _workDate)
)
Devolución
_Calc
¿Qué valores de datos o errores se devuelven? ¿Podrías tomar una captura de pantalla de los resultados?
Lo siento por la respuesta tardía. Sale en blanco (sin datos, sin error)
Gracias
Esto es un poco un rascador de cabeza.
¿Puede agregar una prueba de horas de trabajo en el código de la siguiente manera y luego devolver _rowHours y hágamelo saber? La premisa básica es que agregamos el nombre del operador a cada fila de la tabla y ahora estamos haciendo una suma simple para cada operador para cada fecha de trabajo.
Total de horas del operador2 =
donde _rowHours =
codeTable[labourhrs]
Dónde _operatorName =
codeTable[operatorName]
Dónde _workDate =
codeTable[Fecha de trabajo]
Dónde _Calc =
CALCULAR(
SUMA(codeTable[laborhrs]),
FILTRO(TODO(codeTable), codeTable[operatorName] = _operatorName && codeTable[Fecha de trabajo] = _workDate)
)
Devolución
_Calc
Bueno, ahora estamos llegando a alguna parte.
Volviendo al principio...
Empezamos con...
Si creó una columna calculada en este punto, eso fue
RowHours = codeTable[labourhrs]
Simplemente debe retirar las horas de trabajo para todas las filas, excepto las filas de equipos.
¿Puedes comprobar que esto sucede en tus datos?
Suponiendo que funcione correctamente, agregamos el Nombre del operador a cada fila.
operatorName =
Dónde _nameLookup =
LOOKUPVALUE(codeTable[nombre],codeTable[Código laboral],codeTable[Equipmentlaborcode])
Devolución
SI(
O(ISBLANK(_nameLookup), _nameLookup=""),
[nombre],
_nameLookup
)
Todo esto es buscar en la columna del código de trabajo para el código de trabajo Equipmentlabourcode y devolver cualquiera que sea el nombre para esa fila. El Equipmentlabourcode y el labourcode deben estar en el mismo formato para que esto funcione. Si esto funcionó correctamente, la tabla que resulta debería verse como ...
¿Puedes verificar que este es el resultado que obtienes?
Déjame saber cómo funcionan y vamos a partir de ahí.
No está tirando del nombre del operador para employee_name.
Creo que lo veo...
Reemplace el código de la siguiente manera (en negrita)...
operatorName =
var _nameLookup =
LOOKUPVALUE(codeTable[name],codeTable[Laborcode],codeTable[Equipmentlaborcode])
Return
IF(
OR(_nameLookup=",", _nameLookup=""),
[name],
_nameLookup
)
Puede agregar las siguientes columnas calculadas...
operatorName =
Dónde _nameLookup =
LOOKUPVALUE(codeTable[nombre],codeTable[Código laboral],codeTable[Equipmentlaborcode])
Devolución
SI(
O(ISBLANK(_nameLookup), _nameLookup=""),
[nombre],
_nameLookup
)
y
Total de horas del operador =
CALCULAR(
SUMA(codeTable[laborhrs]),
TODOS excepto(codeTable, codeTable[operatorName], codeTable[Fecha de trabajo])
)
Ahora el nombre del operador está tirando. ¿Cuál es nuestro próximo paso? Por favor
Puede cambiar el operador Total Hrs2 a Devolver _calc ahora.
¡Perfecto!
Muchas gracias por tu ayuda
Muchas gracias a Solution Sage,
El nombre del operador funciona bien, pero el total de horas del operador se queda en blanco. ¿Me ayudarías a averiguarlo?
Gracias de nuevo
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code FABINSIDER for a $400 discount!
Check out the February 2025 Power BI update to learn about new features.