Forum Discussion
MATRIX PREVENT DRILL DOWN
¡Hola!
Estoy tratando de desarrollar estados financieros usando la matriz visual - y sobre todo exitosa. Estoy usando la instrucción switch para extraer detalles frente a subtotales de resumen. Dentro de la tabla de estados financieros - Tengo una columna - Mostrar detalle, que es un interruptor de si la línea de informe se permite un desglose o no.
La pantalla izquierda muestra el desglose de detalles y los subtotales adecuados. La pantalla derecha es lo que obtenemos cuando el usuario hace clic en el + en la línea de subtotal. ¿Hay alguna manera de no permitir la obtención de detalles, pero sin embargo mantener el valor.
Estoy seguro de que está relacionado con el "en blanco" dentro del componente "entonces" de la instrucción if a continuación. ¿Hay otras opciones para evitar el if
VAR NRSwitch =
SWITCH (
SwitchValue,
"100", -ExtNR,
"130", -FamilyNR,
"120", -RelatedPartyNR,
"140", -(FamilyNR+RelatedPartyNR),
"150", TotalNR,
BLANK ()
)
VAR CenterDescrOrig = ISFILTERED('CenterSetup (orig)'[Description])
RETURN
IF (
AND ( MAX ( NoteReceivables[Show Detail] ) = 0, CenterDescrOrig ),
blank(),
NRSwitch)
11 Replies
- MFelix
Super User
Hola @Dellis81 ,
Puede agregar un nuevo nivel a su filtrado algo similar a esto:
VAR NRSwitch = SWITCH ( SwitchValue, "100", -ExtNR, "130", -FamilyNR, "120", -RelatedPartyNR, "140", -(FamilyNR+RelatedPartyNR), "150", TotalNR, BLANK () ) VAR CenterDescrOrig = ISFILTERED('CenterSetup (orig)'[Description]) RETURN IF (HASONEFILTER(Table[Column]), IF ( AND ( MAX ( NoteReceivables[Show Detail] ) = 0, CenterDescrOrig ), blank(), NRSwitch), NrSwitch)Table[Column] es el nombre que se utiliza para el detalle más bajo de la matriz (no se puede ver cuál es el nombre de esa columna).
- Dellis81
Post Prodigy
Gracias por su respuesta 🙂
El valor más bajo de la matriz es 'CenterSetup (orig)'[Description]. Inserté el adecuado
tabla por su sugerencia, lo que resulta en la siguiente medida (parcial). Desafortunadamente - Todavía me queda un blanco cuando profundice.
VAR CenterDescrOrig = ISFILTERED ( 'CenterSetup (orig)'[Description] ) RETURN IF ( HASONEFILTER ( 'CenterSetup (orig)'[Description] ), IF ( AND ( MAX ( NoteReceivables[Show Detail] ) = 0, CenterDescrOrig ), BLANK (), NRSwitch ), NRSwitch )He verificado que 'CenterSetup (orig)'[Description] es el nivel más bajo en la matriz.
Una vez más - gracias por su ayuda, este foro es genial debido a la gente como usted! - Dellis81
Post Prodigy
Buenos días MFelix
He estado trabajando en este problema - y armado un pequeño conjunto de datos junto con ejemplo para proporcionar. Pero, como mi suerte normal va - su sugerencia funcionó (en mi pequeño conjunto de datos). Sin embargo, volví a colocar la misma medida en el conjunto de datos más grande, lo que resulta en el mismo resultado en blanco. Así que sé que su sugerencia funciona, pero no sé por qué no está en el archivo en vivo. La única diferencia que conozco - es que mis conjuntos de datos más grandes tienen muchas más tablas y relaciones. He comprobado dos/trippled las relaciones que tengo en mi pequeño archivo de prueba coinciden con las mismas relaciones en el archivo en vivo.¿Tienes alguna idea de adónde podría ir desde aquí?
Gracias
- MFelix
Super User
Hola @Dellis81,
Las medidas se basan en el contexto, por lo que dependiendo de la forma en que tenga la configuración del modelo y también de la visualización que necesite para ajustar la medida.
La fórmula se basa en el nivel más bajo de la visualización de matriz, por lo que debe hacer referencia a esa columna.
¿Tiene por qué hacer referencia a que la fórmula funciona, pero está en un conjunto de datos diferente, por lo que sin ningún detalle en el conjunto de datos actual es difícil darle orientación.