Forum Discussion
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 1 | Date 2 | Date Difference | Text |
| 01/01/2019 | 01/06/2019 | 151 | Exisiting |
| 12/05/2019 | 01/07/2019 | 50 | New |
| 01/06/2018 | 31/10/2018 | 152 | Old |
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
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.
8 Replies
- jdbuchanan71Super 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" )- UK_User123456Resolver I
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
- jdbuchanan71Super User
UK_User123456 , You will need to share your model, the measure works in my test:
- evandrocunicoResolver III
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.- UK_User123456Resolver I
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.