Forum Discussion
Ykankam
2 years agoHelper I
IF Statement
Hi All,
I have an IF Statement that is working fine. See below
GoldenBatch =
IF (
[thaw_onTime] = "Y"
&& [proA_onTime] = "Y"
&& [BDS_onTime] = "Y"
&& [harvest_onTime] = "Y"
&& [%RFT_RFT] = "Y"
&& [titer_inFull] = "Y"
&& [yield_inFull] = "Y"
&& [deviation_RFT] = "Y",
"Golden Batch",
"Miss"
)
I want to modify condition in order to have three outputs all under one column i.e
I want to modify condition in order to have three outputs all under one column i.e
"Golden Batch", "Miss", "In Progress".
This is what I want to do
This is what I want to do
GoldenBatch =
IF (
[thaw_onTime] = "Y"
&& [proA_onTime] = "Y"
&& [BDS_onTime] = "Y"
&& [harvest_onTime] = "Y"
&& [%RFT_RFT] = "Y"
&& [titer_inFull] = "Y"
&& [yield_inFull] = "Y"
&& [deviation_RFT] = "Y",
"Golden Batch"
)
||GoldenBatch =
IF (
[thaw_onTime] = "N"
&& [proA_onTime] = "N"
&& [BDS_onTime] = "N"
&& [harvest_onTime] = "N"
&& [%RFT_RFT] = "N"
&& [titer_inFull] = "N"
&& [yield_inFull] = "N"
&& [deviation_RFT] = "N",
"Miss",
||
||
IF(
[thaw_onTime] = BLANK()
|| [proA_onTime] = BLANK()
|| [BDS_onTime] = BLANK()
|| [harvest_onTime] = BLANK()
|| [%RFT_RFT] = BLANK()
|| [titer_inFull] = BLANK()
|| [yield_inFull] = BLANK()
|| [deviation_RFT] = BLANK(),
"In Progess"
)
What is the best way to write the DAX for the if statement to have more than 3 output variables
[thaw_onTime] = BLANK()
|| [proA_onTime] = BLANK()
|| [BDS_onTime] = BLANK()
|| [harvest_onTime] = BLANK()
|| [%RFT_RFT] = BLANK()
|| [titer_inFull] = BLANK()
|| [yield_inFull] = BLANK()
|| [deviation_RFT] = BLANK(),
"In Progess"
)
What is the best way to write the DAX for the if statement to have more than 3 output variables
I actually found solution to this.
1. Either to use nested IF statements2. Use the switch function
Nested IF statement will make it hard to read, thus the SWITCH function works. See solution below
GoldenBatch =SWITCH (TRUE (),[thaw_onTime] = "Y"&& [proA_onTime] = "Y"&& [BDS_onTime] = "Y"&& [harvest_onTime] = "Y"&& [%RFT_RFT] = "Y"&& [titer_inFull] = "Y"&& [yield_inFull] = "Y"&& [deviation_RFT] = "Y", "Golden Batch",[thaw_onTime] = "N"|| [proA_onTime] = "N"|| [BDS_onTime] = "N"|| [harvest_onTime] = "N"|| [%RFT_RFT] = "N"|| [titer_inFull] = "N"|| [yield_inFull] = "N"|| [deviation_RFT] = "N", "Miss",[thaw_onTime] = BLANK ()|| [proA_onTime] = BLANK ()|| [BDS_onTime] = BLANK ()|| [harvest_onTime] = BLANK ()|| [%RFT_RFT] = BLANK ()|| [titer_inFull] = BLANK ()|| [yield_inFull] = BLANK ()|| [deviation_RFT] = BLANK (), "In Progress")
1 Reply
- YkankamHelper I
I actually found solution to this.
1. Either to use nested IF statements2. Use the switch function
Nested IF statement will make it hard to read, thus the SWITCH function works. See solution below
GoldenBatch =SWITCH (TRUE (),[thaw_onTime] = "Y"&& [proA_onTime] = "Y"&& [BDS_onTime] = "Y"&& [harvest_onTime] = "Y"&& [%RFT_RFT] = "Y"&& [titer_inFull] = "Y"&& [yield_inFull] = "Y"&& [deviation_RFT] = "Y", "Golden Batch",[thaw_onTime] = "N"|| [proA_onTime] = "N"|| [BDS_onTime] = "N"|| [harvest_onTime] = "N"|| [%RFT_RFT] = "N"|| [titer_inFull] = "N"|| [yield_inFull] = "N"|| [deviation_RFT] = "N", "Miss",[thaw_onTime] = BLANK ()|| [proA_onTime] = BLANK ()|| [BDS_onTime] = BLANK ()|| [harvest_onTime] = BLANK ()|| [%RFT_RFT] = BLANK ()|| [titer_inFull] = BLANK ()|| [yield_inFull] = BLANK ()|| [deviation_RFT] = BLANK (), "In Progress")