Find everything you need to get certified on Fabric—skills challenges, live sessions, exam prep, role guidance, and more.
Get startedGrow your Fabric skills and prepare for the DP-600 certification exam by completing the latest Microsoft Fabric challenge.
En el ejemplo siguiente hay una lista de reglas. Quiero que se muestren en una matriz en la fecha con la que están relacionados. Lo que quiero decir con eso es que la matriz debe mostrar las fechas en la parte superior y luego todas las reglas asociadas con esa fecha en una lista debajo de ella. Actualmente sólo muestra la primera. ¿Hay alguna manera de mostrarlos todos? Gracias.
Aquí hay algunas capturas de pantalla relacionadas.
Solved! Go to Solution.
@cmckinney - Puede utilizar CONCATENATEX para concatenar todas las reglas:
Measure = CONCATENATEX('Table',[Rule],",")
Pero tal vez poner fecha y regla columnas en una jerarquía en filas sería mejor?
@cmckinney - Puede utilizar CONCATENATEX para concatenar todas las reglas:
Measure = CONCATENATEX('Table',[Rule],",")
Pero tal vez poner fecha y regla columnas en una jerarquía en filas sería mejor?
Hola @Greg_Deckler
Gracias por la respuesta. Probé el CONCATENATEX, según su dirección, y encontré que no funcionará para esta situación. La razón es que necesito que cada uno sea una celda individual para poder mostrar si ha habido un cambio de una fecha a la siguiente. Tal vez poner todas las reglas en una columna no es la obra en esta situación.
Estaba pensando que podría ser mejor poner las reglas en las filas y las fechas en las columnas, así:
A continuación, cree una medida que muestre si la regla ha cambiado de una fecha a la siguiente. Hay una columna en el origen de datos que se denomina "Valor hash". Cuando cambia esa regla, también lo hace el valor hash. Esta es esencialmente la bandera que tenemos que mostrar ha cambiado en la Medida que se pondrá en los valores de la matriz. ¿Tiene sentido? Por favor, hágamelo saber si tiene más preguntas.
En esta página se muestra la columna de valores hash en los datos:
@cmckinney Sí, en realidad estaba pensando lo mismo cuando estaba respondiendo, pero estaba tratando de "responder al correo"!
@Greg_Deckler ¡Gracias!
¿Podría por casualidad mostrarme cómo hacer una medida que iría en la parte de valores de la matriz que muestra si hubo o no un cambio en la columna "Valor hash"?
Voy a aceptar su primera respuesta como una solución porque respondió a lo que mi pregunta originalmente fue.
@cmckinney - Si estoy entendiendo la situación correctamente, tal vez algo como:
Measure =
VAR __Rule = MAX([Rule])
VAR __CurrentDate = MAX([Analysis Run])
VAR __CurrentHash = MAX([Hash])
VAR __PreviousDate = MAXX(FILTER(ALL('Table'),[Analysis Run]<__CurrentDate),[Analysis Run])
VAR __PreviousHash = MAXX(FILTER(ALL('Table'),[Analysis Run]=__PreviousDate && [Rule]=__Rule),[Hash])
RETURN
IF(__PreviousHash <> __CurrentHash,1,BLANK())
Es una mejor suposición, avísame si eso no encaja en la cuenta.
@Greg_Deckler ¡Impresionante! ¡Esto está tan cerca de trabajar! Aquí hay una captura de pantalla de lo que veo. Sólo necesito la primera columna para mostrar 0s y no 1s. ¿Tiene sentido? ¿Cómo modifico el DAX para que siempre muestre esa primera fila como 0?
@Greg_Deckler Olvidé mencionar esto, agregué una declaración if antes del final, pero desde entonces la he eliminado.
@cmckinney - OK, creo:
Measure =
VAR __Rule = MAX([Rule])
VAR __CurrentDate = MAX([Analysis Run])
VAR __CurrentHash = MAX([Hash])
VAR __PreviousDate = MAXX(FILTER(ALL('Table'),[Analysis Run]<__CurrentDate),[Analysis Run])
VAR __PreviousHash = MAXX(FILTER(ALL('Table'),[Analysis Run]=__PreviousDate && [Rule]=__Rule),[Hash])
RETURN
SWITCH(TRUE(),
ISBLANK(__PreviousDate)||__PreviousDate<0||YEAR(__PreviousDate)<1900,0,
__PreviousHash <> __CurrentHash,1,BLANK(),
2
)
@Greg_Deckler bien, así que esto se está acercando tanto a lo que necesito. Modifiqué tu DAX un poco. Esto es lo que tengo hasta ahora:
Measure =
VAR __Rule = MAX([Rule])
VAR __CurrentDate = MAX([Analysis Run])
VAR __CurrentHash = MAX([Hashed Value])
VAR __PreviousDate = MAXX(FILTER(ALL('analysis vAnalysisRunRuleDetails'),[Analysis Run]<__CurrentDate),[Analysis Run])
VAR __PreviousHash = MAXX(FILTER(ALL('analysis vAnalysisRunRuleDetails'),[Analysis Run]=__PreviousDate && [Rule]=__Rule),[Hashed Value])
RETURN
SWITCH(TRUE(),
ISBLANK(__PreviousDate), 0,
ISBLANK(__Rule), 0,
__PreviousHash <> __CurrentHash, 1,
BLANK(),2
)
@cmckinney Claro, encantado de ayudar. Así que, para ser claros, ¿todavía hay un problema o no? Lo siento, no estaba seguro de si estabas 100% felizmente feliz o no todavía.
Sí, todavía hay un problema. El problema es que la medida debe depender de la matriz y no de la tabla. Lo que significa que el formato condicional funciona de acuerdo con lo que se muestra actualmente en la matriz. ¿Tiene sentido? Actualmente se formatea de acuerdo con lo que está en los datos en sí y no lo que se muestra en la matriz.
Bien, entonces en este punto este hilo / lo que estoy tratando de lograr se han vuelto enrevesados y confusos. Lo siguiente es tan hervido y conciso como creo que puedo hacer mis ideas. Hopefuly ayuda a aclarar las cosas.
Aquí hay un archivo de ejemplo que creo que ayudará. https://www.dropbox.com/s/gsaucwi6iqj1upv/RulesConditionalFormatDummy.pbix?dl=0
El objetivo final es conectar la medida a un formato condicional en la matriz.
El producto de la medida debe ser un 0 , 1 o 2.
1 - Si el valor hash ha cambiado de una regla a la siguiente.
2 - Si la regla es nueva
0 - Si no hay ningún cambio y la regla no es nueva
En el formato condicional 1 será rojo, 2 será azul y 0 permanecerá negro.
La primera columna de la matriz siempre debe permanecer en negro.
Aquí hay una captura de pantalla del archivo de muestra que hice. Observe que la segunda columna es azul. No debería ser azul porque el valor hash anterior no está en blanco y tiene el mismo valor hash de la fecha mostrada anteriormente.
Los únicos dos que deben ser formateados y están formateados correctamente son el rojo 'hashchange' y el azul 'newrule'.
Cuando se selecciona el conjunto de publicación 'Prueba combinada', la columna se vuelve azul. Esto no debería suceder porque es la primera columna de la tabla.
User | Count |
---|---|
1 | |
1 | |
1 | |
1 | |
1 |
User | Count |
---|---|
3 | |
2 | |
1 | |
1 | |
1 |