Check your eligibility for this 50% exam voucher offer and join us for free live learning sessions to get prepared for Exam DP-700.
Get StartedDon't miss out! 2025 Microsoft Fabric Community Conference, March 31 - April 2, Las Vegas, Nevada. Use code MSCUST for a $150 discount. Prices go up February 11th. Register now.
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!
User | Count |
---|---|
123 | |
76 | |
63 | |
50 | |
50 |
User | Count |
---|---|
175 | |
125 | |
60 | |
60 | |
58 |