cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
AU555
Helper I
Helper I

Using switch in M

Hi all,

I have an easy problem, but as I am a beginner i M I have a bit proglem with this. I have the following calculation in dax swithing between several dates. However, I need to make the same calculation in power query and what i have been trying is not working does not pull the dates correctly:

 I have following:

Date = SWITCH(

TRUE();

'table1'[Real Finish]<> BLANK(); 'table1'[Real Finish];

'table1'[Remaining Finish] <> BLANK(); 'table1'[Remaining Finish];

'table1'[Actual Finish]<> BLANK(); 'table1'[Actual Finish];

'table1'[Real Start]<> BLANK(); 'table1'[Real Start];

'table1'[Remaining Start] <> BLANK(); 'table1'[Remaining Start];

'table1'[Actual Start])

 

Can some of you help me with this?

Thank you for your time,

Anastasia

 

 

2 ACCEPTED SOLUTIONS
AlB
Super User
Super User

Hi @AU555,

you can try something like this, try adding a custom column with the following code

 

if [C1] = null then [C1_1]

else

   if [C2] = null then [C2_1]

else

  if [C3] = null then [C3_1]

  else [C4]

 

This would be equivalent to the following. IUse this pattern to build exactly what you need 

 

ColumnName = SWITCH(

TRUE();

'table1'[C1]<> BLANK(); 'table1'[C1_1];

'table1'[C2] <> BLANK(); 'table1'[C2_1];

'table1'[C3]<> BLANK(); 'table1'[C3_1];

'table1'[C4])

 

 

Please mark the question solved when done and consider giving kudos if posts are helpful.

 

Cheers  Datanaut


 

View solution in original post

@AU555 

You're right. Make it <> null in all cases instead of    = null

 

Please mark the question solved when done and consider giving kudos if posts are helpful.

Cheers  Datanaut

 

View solution in original post

3 REPLIES 3
AlB
Super User
Super User

Hi @AU555,

you can try something like this, try adding a custom column with the following code

 

if [C1] = null then [C1_1]

else

   if [C2] = null then [C2_1]

else

  if [C3] = null then [C3_1]

  else [C4]

 

This would be equivalent to the following. IUse this pattern to build exactly what you need 

 

ColumnName = SWITCH(

TRUE();

'table1'[C1]<> BLANK(); 'table1'[C1_1];

'table1'[C2] <> BLANK(); 'table1'[C2_1];

'table1'[C3]<> BLANK(); 'table1'[C3_1];

'table1'[C4])

 

 

Please mark the question solved when done and consider giving kudos if posts are helpful.

 

Cheers  Datanaut


 

I am a bit confused: this calculation in DAX says: if C1 is not blank, use C1_1, if C2 is not blank, use C2_1 (<> is no eqal to)

ColumnName = SWITCH(

TRUE();

'table1'[C1]<> BLANK(); 'table1'[C1_1];

'table1'[C2] <> BLANK(); 'table1'[C2_1];

'table1'[C3]<> BLANK(); 'table1'[C3_1];

'table1'[C4])

 

and the calculation in M: 

if [C1] = null then [C1_1]

else

   if [C2] = null then [C2_1]

else

  if [C3] = null then [C3_1]

  else [C4]

 

says, if C1 is null then use C1_1, is C2 is null then use C2

 

But I need calculation saying, If C1 is not blank use C1, if C1 is blank use C2, if C2 is not blank use C2, if C2 is blank use C3 etc....

@AU555 

You're right. Make it <> null in all cases instead of    = null

 

Please mark the question solved when done and consider giving kudos if posts are helpful.

Cheers  Datanaut

 

Helpful resources

Announcements
PBI Sept Update Carousel

Power BI September 2023 Update

Take a look at the September 2023 Power BI update to learn more.

Learn Live

Learn Live: Event Series

Join Microsoft Reactor and learn from developers.

Dashboard in a day with date

Exclusive opportunity for Women!

Join us for a free, hands-on Microsoft workshop led by women trainers for women where you will learn how to build a Dashboard in a Day!

MPPC 2023 PBI Carousel

Power Platform Conference-Power BI and Fabric Sessions

Join us Oct 1 - 6 in Las Vegas for the Microsoft Power Platform Conference.

Top Solution Authors
Top Kudoed Authors