Forum Discussion

MCacc's avatar
MCacc
Helper IV
4 years ago
Solved

How to use ISINSCOPE

Hello, 

 

I'm trying to apply a conditional formatting to my visual matrix. 

 

I have two levels (LEVEL 1, LEVEL 2) which have different measures which I will apply to set my condtional formatting. 

I've read I can use ISINSCOPE: 

 

MEASURE FOR COLORING

VAR LEV_1 = ISINSCOPE(TABLE[LEVEL 1])
VAR LEV_2= ISINSCOPE(TABLE[LEVEL 2])
RETURN
SWITCH (
  TRUE(),
      LEV_1, [MEASURE FOR LEVEL 1],
          LEV_2, [MEASURE FOR LEVEL 2])
 
I expect to have 1 or 0, so my conditional for the backround will be if my MEASURE FOR COLORING value = 1, red.
 
Unfortunately it doesn't work.
 
Do you have any idea. Thank you!
  • MCacc , you should in reverse order. So if level one is above in a visual and level 2 is below, then use Level2, level 1

     

    MEASURE FOR COLORING

    VAR LEV_1 = ISINSCOPE(TABLE[LEVEL 1])
    VAR LEV_2= ISINSCOPE(TABLE[LEVEL 2])
    RETURN
    SWITCH (
      TRUE(),
                  LEV_2, [MEASURE FOR LEVEL 2],
    LEV_1, [MEASURE FOR LEVEL 1] )
     
    IsInScope - Switch Rank at different levels: https://youtu.be/kh0gezKICEM
  • Hey,

     

    ISINSCOPE in combination with a matrix works from top to bottom. The highest rank is always in scope, and the ranks below it only when expanded.

    SWITCH also works from top to bottom on an exclusion basis. Therefore first use the LVL2 condition and then the LVL1 condition:

    MEASURE FOR COLORING =
    VAR LEV_1 =
        ISINSCOPE ( TABLE[LEVEL 1] )
    VAR LEV_2 =
        ISINSCOPE ( TABLE[LEVEL 2] )
    RETURN
        SWITCH ( TRUE (), LEV_2, [MEASURE FOR LEVEL 2], LEV_1, [MEASURE FOR LEVEL 1] )

4 Replies

  • MCacc , you should in reverse order. So if level one is above in a visual and level 2 is below, then use Level2, level 1

     

    MEASURE FOR COLORING

    VAR LEV_1 = ISINSCOPE(TABLE[LEVEL 1])
    VAR LEV_2= ISINSCOPE(TABLE[LEVEL 2])
    RETURN
    SWITCH (
      TRUE(),
                  LEV_2, [MEASURE FOR LEVEL 2],
    LEV_1, [MEASURE FOR LEVEL 1] )
     
    IsInScope - Switch Rank at different levels: https://youtu.be/kh0gezKICEM
  • Barthel's avatar
    Barthel
    Solution Sage

    Hey,

     

    ISINSCOPE in combination with a matrix works from top to bottom. The highest rank is always in scope, and the ranks below it only when expanded.

    SWITCH also works from top to bottom on an exclusion basis. Therefore first use the LVL2 condition and then the LVL1 condition:

    MEASURE FOR COLORING =
    VAR LEV_1 =
        ISINSCOPE ( TABLE[LEVEL 1] )
    VAR LEV_2 =
        ISINSCOPE ( TABLE[LEVEL 2] )
    RETURN
        SWITCH ( TRUE (), LEV_2, [MEASURE FOR LEVEL 2], LEV_1, [MEASURE FOR LEVEL 1] )
    • MCacc's avatar
      MCacc
      Helper IV

      Thank you so much, it works!