Register now to learn Fabric in free live sessions led by the best Microsoft experts. From Apr 16 to May 9, in English and Spanish.
Hi everyone,
I created a flag on tableau which works fine but now I have to translate that in DAX and I tried with if-else and it's throwing me error.
Could you please help me with it?
Tableau code:
If [Code] = 'D'
OR
( [Code] = 'C' and [ID] <> '' and NOT ISNULL([ID]) )
THEN 1 ELSE 0 END
I tried the following code but didn't work and in DAX, AND or OR operators take only 2 parameters and my second part of OR has 3.
Thanks!
Solved! Go to Solution.
Hi @k3rz0rg
It looks like you're creating a calculated column - is that right?
I would suggest this. I've used variables for readability and you can use the && operator instead of the AND function to handle more than 2 conditions.
Also, VALUES isn't needed if you are referring to a column's value in a row context (assuming this is a calculated column). Just use the column reference directly.
Flag =
VAR SaleCode = 'NA Pharmacy Distribution'[Sale_Code]
VAR ContractID = 'NA Pharmacy Distribution'[Contract_ID]
RETURN
IF (
OR (
SaleCode = "D",
SaleCode = "C" && ContractID <> "" && NOT ( ISBLANK ( ContractID ) )
),
1,
0
)
Regards
Hi @OwenAuger , thank you for your response! I was trying to create a calculated measure and almost forgot that I could create a column as well since I'm the owner of the dataset. Your suggestion helped me to solved my purpose!
Hi @k3rz0rg ,
I’d like to acknowledge the valuable input provided by the @OwenAuger . His initial ideas were instrumental in guiding my approach. However, I noticed that further details were needed to fully understand the issue.
In my investigation, I took the following steps:
I create a table as you mentioned.
Then I change your DAX code and get what you want.
Column =
IF (
'NA Pharmacy Distribution'[Sale_Code] = "D"
|| (
'NA Pharmacy Distribution'[Sale_Code] = "C"
&& NOT ISBLANK ( 'NA Pharmacy Distribution'[Contract_ID] )
&& 'NA Pharmacy Distribution'[Contract_ID] <> ""
),
1,
0
)
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.
Hi @k3rz0rg
It looks like you're creating a calculated column - is that right?
I would suggest this. I've used variables for readability and you can use the && operator instead of the AND function to handle more than 2 conditions.
Also, VALUES isn't needed if you are referring to a column's value in a row context (assuming this is a calculated column). Just use the column reference directly.
Flag =
VAR SaleCode = 'NA Pharmacy Distribution'[Sale_Code]
VAR ContractID = 'NA Pharmacy Distribution'[Contract_ID]
RETURN
IF (
OR (
SaleCode = "D",
SaleCode = "C" && ContractID <> "" && NOT ( ISBLANK ( ContractID ) )
),
1,
0
)
Regards
Hi @OwenAuger , thank you for your response! I was trying to create a calculated measure and almost forgot that I could create a column as well since I'm the owner of the dataset. Your suggestion helped me to solved my purpose!
Covering the world! 9:00-10:30 AM Sydney, 4:00-5:30 PM CET (Paris/Berlin), 7:00-8:30 PM Mexico City
Check out the April 2024 Power BI update to learn about new features.
User | Count |
---|---|
97 | |
96 | |
81 | |
74 | |
66 |
User | Count |
---|---|
129 | |
106 | |
106 | |
86 | |
72 |