Forum Discussion

carlossanoli's avatar
carlossanoli
Regular Visitor
6 years ago
Solved

Switch function with multiples conditions

Hello,

I have this situation:

 

Two periods: P6M and P6M YA

Sales of a product in differents sizes: Large, Medium, Small. 

 

previously, I only needed to see the sales by period, so I used this function Switch to select the periods at the dashboard:

SALES  = SWITCH(TRUE();VALUES('Period Table'[PERIOD]) = "P6M"; [P6M SALES ]; VALUES('Period Table'[PERIOD]) = "P6M YA"; [P6M YA SALES ]; BLANK())
 
it worked perfectly, but now I need to see the sales by period and by size. 
 
And I don't know how to use multiples conditions with Switch to first select the period and then select the size. 
 
Anyone could help?
 
 
 

 

 

  • Anonymous's avatar
    Anonymous
    6 years ago

    carlossanoli 


    I cannot have the absolute solution since I do not know how does your model look like. But I have some ideas here that may help you out.

    1. If you want to add Size as another condition, just need to use && in switch value. 

    SALES  = SWITCH(TRUE();
    VALUES('Period Table'[PERIOD]) = "P6M" && 'Period Table'[SIZE] = "Small"; [P6M SALES ];
    VALUES('Period Table'[PERIOD]) = "P6M YA" && 'Period Table'[SIZE] = "Medium"; [P6M YA SALES ];
    BLANK())

    2. The other way of add multiple conditions is SWITCH inside a SWITCH:

    Sales =
    SWITCH(TRUE(),
            VALUES('Period Table'[PERIOD]) = "P6M",
                SWITCH(TRUE(),
                VALUES('Period Table'[Size])="S","P6MS",
                VALUES('Period Table'[Size])="M","P6MM",
                VALUES('Period Table'[Size])="L","P6ML"),
         
       VALUES('Period Table'[PERIOD]) = "P6M YA",
                SWITCH(TRUE(),
                VALUES('Period Table'[Size])="S","P6M YAS",
                VALUES('Period Table'[Size])="M","P6M YAM",
                VALUES('Period Table'[Size])="L","P6M YAL"),

            BLANK())


    Best,
    Paul

2 Replies

  • carlossanoli this existing measure will work, you just need to add Size in whatever visual you are using. Did you tried that?

  • Anonymous's avatar
    Anonymous
    Not applicable

    carlossanoli 


    I cannot have the absolute solution since I do not know how does your model look like. But I have some ideas here that may help you out.

    1. If you want to add Size as another condition, just need to use && in switch value. 

    SALES  = SWITCH(TRUE();
    VALUES('Period Table'[PERIOD]) = "P6M" && 'Period Table'[SIZE] = "Small"; [P6M SALES ];
    VALUES('Period Table'[PERIOD]) = "P6M YA" && 'Period Table'[SIZE] = "Medium"; [P6M YA SALES ];
    BLANK())

    2. The other way of add multiple conditions is SWITCH inside a SWITCH:

    Sales =
    SWITCH(TRUE(),
            VALUES('Period Table'[PERIOD]) = "P6M",
                SWITCH(TRUE(),
                VALUES('Period Table'[Size])="S","P6MS",
                VALUES('Period Table'[Size])="M","P6MM",
                VALUES('Period Table'[Size])="L","P6ML"),
         
       VALUES('Period Table'[PERIOD]) = "P6M YA",
                SWITCH(TRUE(),
                VALUES('Period Table'[Size])="S","P6M YAS",
                VALUES('Period Table'[Size])="M","P6M YAM",
                VALUES('Period Table'[Size])="L","P6M YAL"),

            BLANK())


    Best,
    Paul