cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
klehar
Helper III
Helper III

Combining measures into a switch statement

Hi,

 

I'm trying to combine some measures using a switch statement in a calculated column but I get this error

klehar_0-1633001476355.png

 

Here is my dax

 

 

Forecast Actual = 

VAR Total_Upside =
    CALCULATE (
        [Total Value],
        'Table1'[Forecast Category] IN { "Upside" }
    )
VAR Total_Won =
    CALCULATE (
        [Total Value],
        'Table1'[Forecast Category] IN { "Won" }
    )
VAR Total_Commit =
    CALCULATE (
        [Total Value],
        'Table1'[Forecast Category] IN { "Commit" }
    )
RETURN
    SWITCH (
        TRUE (),
        "Commit", Total_Commit,
        "Won", Total_Won,
        "Upside", Total_Upside,
        "Unforecasted"
    )

 

 

How can i resolve this?

I want to use the above created calculated column on my legend shelf of bar chart

7 REPLIES 7
Marik
Solution Supplier
Solution Supplier

@klehar You should replace in SWITCH function texts ("commit", "won" etc.) with conditions (equal, greater than etc.), that is SWITCH(TRUE(), 'something'="Commit", Total_Comit, 'something_else'="Won", Total_Won, ....)

Im already handling boolean logic in variables. hence i thought this would work

Marik
Solution Supplier
Solution Supplier

If you check in SWITCH function whether value is equal to TRUE() (expression as the first parameter) then that value have to be boolean.

So what can i do to make this into an expression or combine the above measures into a switch statement

Marik
Solution Supplier
Solution Supplier

Try this:

 

Forecast Actual=
SWITCH(TRUE(),
	'Table1'[Forecast Category] IN {"Upside"},
	CALCULATE(
             [Total Value],
             'Table1'[Forecast Category] IN {"Upside"}
        ),
	'Table1'[Forecast Category] IN {"Won"},
	CALCULATE(
             [Total Value],
             'Table1'[Forecast Category] IN {"Won"}
        ),
	'Table1'[Forecast Category] IN {"Comit"},
	CALCULATE(
             [Total Value],
             'Table1'[Forecast Category] IN {"Comit"}
        ),
        "Unforcasted"
)

 

It gives me the following error

klehar_0-1633332333871.png

 

Marik
Solution Supplier
Solution Supplier

 

 

Forecast Actual=
IF(HASONEVALUE('Table1'[Forecast Category]),
SWITCH(TRUE(),
	VALUES('Table1'[Forecast Category]) IN {"Upside"},
	CALCULATE(
             [Total Value],
             'Table1'[Forecast Category] IN {"Upside"}
        ),
	VALUES('Table1'[Forecast Category]) IN {"Won"},
	CALCULATE(
             [Total Value],
             'Table1'[Forecast Category] IN {"Won"}
        ),
	VALUES('Table1'[Forecast Category]) IN {"Commit"},
	CALCULATE(
             [Total Value],
             'Table1'[Forecast Category] IN {"Commit"}
        ),
        "Unforcasted"
))

 

 

Helpful resources

Announcements
UG GA Amplification 768x460.png

Launching new user group features

Learn how to create your own user groups today!

November Power BI Update 768x460.png

Check it Out!

Click here to read more about the November 2021 Updates!

M365 768x460.jpg

Microsoft 365 Collaboration Conference | December 7–9, 2021

Join us, in-person, December 7–9 in Las Vegas, for the largest gathering of the Microsoft community in the world.