Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us for an expert-led overview of the tools and concepts you'll need to become a Certified Power BI Data Analyst and pass exam PL-300. Register now.

Reply
nerdyplayer
Helper I
Helper I

need help with a switch function with a null value

Always having problems with blank value. 

i am trying to do a switch function, if the date value is blank "--" 

if not, formula will do a datediff between 2 dates.

 

testing = switch(
TRUE,
       ISBLANK(Policy[Final Concurrence Date]),"--",
        NETWORKDAYS(Policy[Date_Assigned],Policy[Final Concurrence Date],1)
)

 

 

formula is calculating the datediff correctly, but having a hard time if the date is blank/null.

tried IF/else as well, both gave me this error

 

expressions that yield variant data-type cannot be used to define calculated columns

Those who are smarter than I please help. ty

1 ACCEPTED SOLUTION
Rakesh1705
Super User
Super User

Hi @nerdyplayer 
the main issue is confliction of data type within the same column.
Hence to avoid this confliction I have converted the final value in string.
Please check the below snap

Rakesh1705_0-1722326483758.png

If this resolves your issue then please accept the same as your solution.



View solution in original post

4 REPLIES 4
nerdyplayer
Helper I
Helper I

thank you all. it was indeed the conflicted between the dash. I did need for the dashes for another column and it was useful for me. thank you all again.

Rakesh1705
Super User
Super User

Hi @nerdyplayer 
the main issue is confliction of data type within the same column.
Hence to avoid this confliction I have converted the final value in string.
Please check the below snap

Rakesh1705_0-1722326483758.png

If this resolves your issue then please accept the same as your solution.



Anonymous
Not applicable

Hi @nerdyplayer ,

I create a table as you mentioned.

vyilongmsft_0-1722318721939.png

When I use your DAX code in a calculated column, it gives me the same error.

vyilongmsft_1-1722318957759.png

The error you’re encountering is due to the fact that calculated columns in DAX cannot return different data types. In your case, the SWITCH function is trying to return both a string (“–”) and a number (result of NETWORKDAYS), which is causing the issue.

If you still want to use calculated column, you can use this DAX code.

Column = 
SWITCH (
    TRUE,
    ISBLANK ( Policy[Final Concurrence Date] ), 0,
    NETWORKDAYS ( Policy[Date_Assigned], Policy[Final Concurrence Date], 1 )
)

vyilongmsft_2-1722319190677.png

If you want to still use "--", I think you can use Measure, here is the DAX code.

testing = 
SWITCH (
    TRUE,
    ISBLANK ( MAX('Policy'[Final Concurrence Date]) ), "--",
    NETWORKDAYS ( MAX('Policy'[Date_Assigned]), MAX('Policy'[Final Concurrence Date]), 1 )
)

vyilongmsft_3-1722319273992.png

 

 

 

Best Regards

Yilong Zhou

If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

HotChilli
Super User
Super User

networkdays returns an integer, the other path returns a text string.  You can't have those options in a SWITCH/IF. You have to return the same type from all paths

Helpful resources

Announcements
Join our Fabric User Panel

Join our Fabric User Panel

This is your chance to engage directly with the engineering team behind Fabric and Power BI. Share your experiences and shape the future.

June 2025 Power BI Update Carousel

Power BI Monthly Update - June 2025

Check out the June 2025 Power BI update to learn about new features.

June 2025 community update carousel

Fabric Community Update - June 2025

Find out what's new and trending in the Fabric community.