March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Estimado foro,
¿Sería la mejor manera de combinar datos de una fila inferior basada en el cumplimiento de un valor de columna específico?
Estaba tratando de hacer esto usando dos columnas de índice de desplazamiento y luego ejecutar una consulta de combinación normal. Sin embargo, no sé cómo hacer que esto se base condicionalmente en igualar el EMPLOYEE_IDs.
El producto final debe ser filas de datos donde el Job_Code actual y el anterior (fila inferior) están en la misma línea para cada Employee_ID. Si hago una consulta de fusión normal sin filtrar por un Employee_ID coincidente, en algún momento mencionaré Job_Codes que no pertenecen al empleado en cuestión. Prefiero rellenar "0" o null si no hay coincidencia.
ANTES
FECHA | EMPLOYEE_ID | JOB_CODE | Índice | Índice.1 |
2/1/2021 | 8675309 | 29020003 | 0 | 1 |
11/15/2019 | 8675309 | 29020002 | 1 | 2 |
3/21/2013 | 7779311 | 29030004 | 2 | 3 |
5/11/2005 | 7779311 | 29030003 | 3 | 4 |
3/24/2002 | 6060842 | 29010002 | 4 | 5 |
2/1/2001 | 6060842 | 29010001 | 5 | 6 |
DESPUÉS (DESEADO)
FECHA | EMPLOYEE_ID | JOB_CODE | Índice | Índice.1 | PREV_JOB_CODE |
2/1/2021 | 8675309 | 29020003 | 0 | 1 | 29020002 |
11/15/2019 | 8675309 | 29020002 | 1 | 2 | nulo |
3/21/2013 | 7779311 | 29030004 | 2 | 3 | 29030003 |
5/11/2005 | 7779311 | 29030003 | 3 | 4 | nulo |
3/24/2002 | 6060842 | 29010002 | 4 | 5 | 29010001 |
2/1/2001 | 6060842 | 29010001 | 5 | 6 |
¡Su ayuda en esto sería increíble!
¡Gracias!
Hola
Esta fórmula de columna calculada funciona
Column = LOOKUPVALUE(Data[JOB_CODE],Data[DATE],CALCULATE(MAX(Data[DATE]),FILTER(Data,Data[EMPLOYEE_ID]=EARLIER(Data[EMPLOYEE_ID])&&Data[DATE]<>< ode=""><>
Espero que esto ayude.
Gracias Ashish, esta solución funcionó. Estaba tan obsesionado con el uso de Power Query que no estaba considerando DAX.
De nada.
He creado una muestra simple, por favor consúltela para ver si te ayuda.
Cree una medida.
result =
CALCULATE (
MAX ( 'date'[JOB_CODE] ),
FILTER (
ALL ( 'date' ),
'date'[EMPLOYEE_ID] = SELECTEDVALUE ( 'date'[EMPLOYEE_ID] )
&& 'date'[Index]
= SELECTEDVALUE ( 'date'[Index] ) + 1
)
)
O una columna.
Column =
CALCULATE (
MAX ( 'date'[JOB_CODE] ),
FILTER (
ALL ( 'date' ),
'date'[EMPLOYEE_ID] = EARLIER ( 'date'[EMPLOYEE_ID] )
&& 'date'[Index]
= EARLIER ( 'date'[Index] ) + 1
)
)
Cómo obtener respuestas rápidas a su pregunta
Si no ayuda, proporcione más detalles con la salida deseada y el archivo pbix sin información de privacidad (o algunos datos de muestra).
Saludos
Equipo de Apoyo a la Comunidad _ Polly
Si esta publicación ayuda, considere Aceptarlo como la solución para ayudar a los otros miembros a encontrarlo más rápidamente.
Gracias v-polly-msft, el archivo .pbix ayuda mucho y funciona a las mil maravillas.
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.