michaelsh
Tengo una tabla de instantáneas.
Para cada empleado tengo un atributo (departamento, gerente, rango de salario, puesto, etc.) y para cada atributo, tengo su valor.
Quiero que mis usuarios elijan 3 cosas de las segmentaciones:
1. Una instantánea de la fecha,
2. Otra instantánea para comparar,
3. Un atributo
Y quiero que mis resultados sean una tabla que muestre cuántos empleados «se movieron» de un valor de atributo a otro entre las instantáneas, como se muestra a continuación:
¿Cómo puedo hacer esto de forma dinámica?
https://1drv.ms/x/s!AoP_9ampPIT7-ykdCeSDHqZeb8Zn?e=fhAnrX
michaelsh
Crossjoin! ¡Veo! Gracias, @ v-stephen-msft
¿Hay alguna manera de hacer que funcione con alguna medida DAX sin crear estas tablas de unión cruzada?
Tengo miles de valores y atributos en mi escenario del mundo real …
Podría crear algunas tablas desconectadas para la medida de atributos distintos para comparar, pero la unión cruzada de la tabla de hechos me parece pesada …
¿Algunas ideas?
v-stephen-msft
En respuesta a michaelsh
Hola @michaelsh,
Según lo que he aprendido, parece difícil prescindir de creando estas tablas de unión cruzada.
Lo pensé durante mucho tiempo antes de que se me ocurriera la unión cruzada.😁
Atentamente,
Stephen Tao
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.
michaelsh
En respuesta a v-stephen-msft
¡Gracias, @ v-stephen-msft!
Aprecio tu ayuda.
Si nadie se presenta con la idea de la medida dinámica, marcaré la suya como una solución.
v-stephen-msft
En respuesta a michaelsh
Hola @michaelsh,
Perdón por molestarte …
Marque mi respuesta como solución. Muchísimas gracias.
Atentamente,
Stephen Tao
michaelsh
En respuesta a v-stephen-msft
De hecho, tengo una solución alternativa: dinámica, pero aún no la he probado.
M1 = VAR vSelectedDateBefore = SELECTEDVALUE (SnapshotDateBefore[SnapshotDate], MIN (SnapshotDateBefore[SnapshotDate] )) VAR vSelectedDateAfter = SELECTEDVALUE (SnapshotDateAfter[SnapshotDate], MAX (SnapshotDateAfter[SnapshotDate] )) REGRESAR COUNTROWS (FILTRO (ADDCOLUMNS (VALUES (Data[Employee] ), «cBeforeFl», CALCULATE (NOT (ISEMPTY (Data)), Data[SnapshotDate] = vSelectedDateBefore, Datos[AttributeValue] EN VALORES (DepartamentoAntes[AttributeValue] )), «cAfterFl», CALCULATE (NOT (ISEMPTY (Data)), Data[SnapshotDate] = vSelectedDateAfter, Datos[AttributeValue] EN VALORES (Departamento después[AttributeValue] ))), [cBeforeFl] && [cAfterFl] ))
v-stephen-msft
Hola @michaelsh,
1. Cree tres tablas calculadas.
After =
SELECTCOLUMNS (
'Table',
"After", [Attribute Value],
"AfterEmployee", [Employee],
"AfterDate", [Snapshot Date],
"AfterAttribute", [Attribute]
)
Before =
SELECTCOLUMNS (
'Table',
"Before", [Attribute Value],
"BeforeEmployee", [Employee],
"BeforeDate", [Snapshot Date],
"BeforeAttribute", [Attribute]
)
Table 2 =
FILTER (
CROSSJOIN ( 'After', 'Before' ),
[AfterEmployee] = [BeforeEmployee]
&& [BeforeAttribute] = [AfterAttribute]
)
2. Cree imágenes de la siguiente manera.
Puedes consultar más detalles desde aquí.
Atentamente,
Stephen Tao
Si esta publicación ayuda, entonces por favor considere Acéptalo como la solución para ayudar a los demás miembros a encontrarlo más rápidamente.