Forum Discussion
Anonymous
6 years agoNot applicable
How to add text condition in Switch
dd
Hello - I need to add another condition to this statement, but not sure how.
I need to add: allopps-products[status]="open" as one of the conditions. But it won't let me.
What do I need to do to be able to add this condition?
SWITCH(
TRUE(),
MAX('AllOpps-Products'[Prob.]) = 80, "30 Days",
DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 90, "Older than 90",
DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 60, "Older than 60",
DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 30, "Older than 30",
DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 15, "30 Days",
FALSE
)
- Anonymous6 years ago
az38 I got it to work using this:
TRUE(),DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY) > -1 && DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY) > -20, "Passed already"
8 Replies
- amitchandak
Super User
Anonymous , not very clear where you want to use that. But check a couple of options
if(max(allopps-products[status])="open", SWITCH( TRUE(), MAX('AllOpps-Products'[Prob.]) = 80, "30 Days", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 90, "Older than 90", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 60, "Older than 60", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 30, "Older than 30", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 15, "30 Days", FALSE ),blank()) SWITCH( TRUE(), MAX('AllOpps-Products'[Prob.]) = 80 && max(allopps-products[status])="open", "30 Days", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 90, "Older than 90", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 60, "Older than 60", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 30, "Older than 30", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 15, "30 Days", FALSE )- AnonymousNot applicable
amitchandak (or anyone that can answer)
The solution from Amit is great, with one exception.
How to deal with a date that is in the past? Example:
The estimated close date may indeed be 15 days or more from today's date....but it could be 15 days in the past from today (not 15 days FROM today). For those estimated close dates that have passed already (from today's current date), how to address in the Switch statement?
- az38
Community Champion
Hi Anonymous
smth like
DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 0, "0 Days", DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> -15, "Passed already",
- AnonymousNot applicableAnonymousYou can add allopps-products[status]="open" using && notationSWITCH(TRUE(),MAX('AllOpps-Products'[Prob.]) = 80 && allopps-products[status]="open" , "30 Days",DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 90, "Older than 90",DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 60, "Older than 60",DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 30, "Older than 30",DATEDIFF(MAX('AllOpps-Products'[Est.Ship]),TODAY(),DAY)> 15, "30 Days",)
Regards,
Harsh NathaniDid I answer your question? Mark my post as a solution! Appreciate with a Kudos!! (Click the Thumbs Up Button)