Forum Discussion

Dellis81's avatar
Dellis81
Icon for Post Prodigy rankPost Prodigy
6 years ago

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.

MatrixDrilldown.PNG

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

  • 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's avatar
      Dellis81
      Icon for Post Prodigy rankPost 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's avatar
      Dellis81
      Icon for Post Prodigy rankPost Prodigy

      @MFelix

      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's avatar
        MFelix
        Icon for Super User rankSuper 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.