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.
Hola a todos
Me gusta encontrar los cambios realizados en los datos. Mi tabla de datos tiene el siguiente aspecto:
Tabla de origen:
Reportdate, Objeto, Estado
01.01.2020, 100, A
01.01.2020, 101, A
01.01.2020, 102, A
01.02.2020, 100, A
01.02.2020, 101, B
01.02.2020, 102, A
01.03.2020, 100, A
01.03.2020, 101, B
01.03.2020, 102, C
El resultado que me gustaría obtener es:
Reportdate, Objeto, Estado
01.02.2020, 101, B
01.03.2020, 102, C
Como el objeto A no cambia de estado, no debe aparecer en la lista. Todos los demás objetos deben enumerarse con la fecha más temprana de cambio (para el objeto 101 el formulario de cambio 01.01.2020 a 01.03.2020 no debe enumerarse como el cambio fue en 02.01.2020).
Intenté varias cosas, pero no pude encontrar una solución para este problema. ¿Hay una función DAX para evaluar?
Gracias por su ayuda en avanzado
Solved! Go to Solution.
Hola
Es fácil llegar a él.
Intente crear primero esta columna calculada:
Group = RANKX('Table','Table'[Reportdate],,ASC,Dense)
A continuación, pruebe esta medida:
Measure =
VAR check =
IF (
MAX ( 'Table'[Reportdate] ) = MINX ( ALL ( 'Table' ), 'Table'[Reportdate] ),
BLANK (),
CALCULATE (
MAX ( 'Table'[Status] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Group]
= MAX ( 'Table'[Group] ) - 1
&& 'Table'[Object] = SELECTEDVALUE ( 'Table'[Object] )
)
)
)
RETURN
IF ( MAX ( 'Table'[Status] ) <> check && check <> BLANK (), 1, BLANK () )
Aplique esta medida al objeto visual de la tabla original, el resultado muestra:
Aquí está mi archivo pbix cambiado:
Espero que esto ayude.
Saludos
Giotto Zhi
Hola
Por favor, pruebe esta medida:
Measure =
VAR check =
IF (
MAX ( 'Table'[Reportdate] ) = MINX ( ALL ( 'Table' ), 'Table'[Reportdate] ),
BLANK (),
CALCULATE (
MAX ( 'Table'[Status] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Reportdate]
= MAX ( 'Table'[Reportdate] ) - 1
&& 'Table'[Object] = SELECTEDVALUE ( 'Table'[Object] )
)
)
)
RETURN
IF ( MAX ( 'Table'[Status] ) <> check && check <> BLANK (), 1, BLANK () )
Aplique esta medida al objeto visual de tabla original, el resultado muestra:
Aquí está mi archivo pbix de prueba:
Espero que esto ayude.
Saludos
Giotto Zhi
Gracias por la propuesta Giotto,
su solución está muy cerca de la solución que necesito. La necesidad de analizar los datos no es prudente en el día, siempre hay unos pocos días en el medio. Tal vez la fecha (yo uso dd.mm.yyyy) formato era confusión. ¿También tiene una solución que funcione para este conjunto de datos?
Reportdate, Objeto, Estado
09.01.2020, 100, A
09.01.2020, 101, A
09.01.2020, 102, A
03.02.2020, 100, A
03.02.2020, 101, B
03.02.2020, 102, A
15.03.2020, 100, A
15.03.2020, 101, B
15.03.2020, 102, C
Gracias de antemano
Daniel
Hola
Es fácil llegar a él.
Intente crear primero esta columna calculada:
Group = RANKX('Table','Table'[Reportdate],,ASC,Dense)
A continuación, pruebe esta medida:
Measure =
VAR check =
IF (
MAX ( 'Table'[Reportdate] ) = MINX ( ALL ( 'Table' ), 'Table'[Reportdate] ),
BLANK (),
CALCULATE (
MAX ( 'Table'[Status] ),
FILTER (
ALLSELECTED ( 'Table' ),
'Table'[Group]
= MAX ( 'Table'[Group] ) - 1
&& 'Table'[Object] = SELECTEDVALUE ( 'Table'[Object] )
)
)
)
RETURN
IF ( MAX ( 'Table'[Status] ) <> check && check <> BLANK (), 1, BLANK () )
Aplique esta medida al objeto visual de la tabla original, el resultado muestra:
Aquí está mi archivo pbix cambiado:
Espero que esto ayude.
Saludos
Giotto Zhi
Hola Giotto,
funciona muy bien, gracias por su ayuda y apoyo.
saludos
Daniel
Bueno, podrías crear dos columnas como esta:
Changed Column =
VAR __Table = FILTER('Table',[Reportdate] < EARLIER([Reportdate] && [Object] = EALIER([Object]))
VAR __StatusValues = DISTINCT(SELECTCOLUMNS(__Table,"Status",[Status]))
RETURN
IF(COUNTROWS(__StatusValues) > 1,1,0)
Min Change Column =
VAR __Table = FILTER('Table',[Reportdate] < EARLIER([Reportdate] && [Object] = EALIER([Object]) && [Changed Column] = 1)
VAR __Min = MINX(__Table,[Reportdate])
RETURN
IF([Reportdate] = __Min,1,0)
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
2 | |
2 | |
2 | |
2 | |
1 |