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

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
UK_User123456
Resolver I
Resolver I

Returning text based on difference

Hi All,

 

Is there a way of returning text based on a number that I have got e.g. the difference between date(s)?

 

e.g. 

Date 1Date 2Date DifferenceText
01/01/201901/06/2019151Exisiting
12/05/201901/07/201950New
01/06/201831/10/2018152Old

 

I have tried nested if statements but all I get is that for every customer we have it displays the same text for every date we have, I just want it to return the text based on the records I need. 

 

TIA

1 ACCEPTED SOLUTION
evandrocunico
Resolver III
Resolver III

Hi @UK_User123456 

 

create a column:

 

date diference = DATEDIFF(date1;date2;DAY)  (use semicolon or comma)
 
create another column:
text result = If (date diference <= 50;"New";date diference <= 150;"Existing";"Old")
 
best regards.

View solution in original post

8 REPLIES 8
evandrocunico
Resolver III
Resolver III

Hi @UK_User123456 

 

create a column:

 

date diference = DATEDIFF(date1;date2;DAY)  (use semicolon or comma)
 
create another column:
text result = If (date diference <= 50;"New";date diference <= 150;"Existing";"Old")
 
best regards.

@evandrocunico many thanks, will try this out. I have created a new column already for date diff and this throws out some random numbers, but I think I know where the issue lies.

 

I will respond once I have had the chance to try it out.

jdbuchanan71
Super User
Super User

Based on your example and assuming [Date Difference] is a measure this should work.

Text =
SWITCH(
    TRUE(),
    [Date Difference] = 151, "Existing",
    [Date Difference] = 50, "New",
    [Date Difference] = 152, "Old",
    "Other"
)

@jdbuchanan71  Thanks for this, but it then throws out the error of MdxScript(Model) (140,98), 'SWITCH' does not support comparing values of type True/False with values of type text. I dont have any columns or values that are of Ture/False types, so not sure why it wont accept the measure?

 

TIA

@UK_User123456 , You will need to share your model, the measure works in my test:

dateswitch.jpg

@jdbuchanan71see below the screenshots. The data types should are the same, as there are no true/false. 

I wanted to be able to say that if the "Date Difference is between a certain number it would return the text I wanted it to display. I have also attached the error message that I receive.

 

Power BI error.JPG

Power BI example 3.JPGPower BI example.JPG

Is your field 'Date Difference Last Gift (By Day)' a measure of a column from a table?

 

If you want to change the compare you can change to operator in the measure.

Text =
SWITCH(
    TRUE(),
    [Date Difference] < 50, "New",
    [Date Difference] < 151, "Existing",
    [Date Difference] >= 152, "Old",
    "Other"
)

Can you share the nested IF statement that you tried? I dont see any reason as to why a nested if statement wouldnt work here! 


Connect on LinkedIn

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

November Power BI Update Carousel

Power BI Monthly Update - November 2025

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

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.