March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount! Early bird discount ends December 31.
Register NowBe one of the first to start using Fabric Databases. View on-demand sessions with database experts and the Microsoft product team to learn just how easy it is to get started. Watch now
Hi all,
I would like to gain some of your Power BI wisdom to solve my problem below.
So I have 2 tables as follow:
Table 1.
WIC | Opstudy |
1 | Baby |
2 | Tena |
3 | Allergy |
4 | First Aid |
Table 2.
WIC | Ship To |
1 | DC 01 |
2 | DC 02 |
3 | DC 03 |
4 | DC 04 |
I would like to add a conditional column on Table 2 with result as follow:
WIC | Ship To | Result |
1 | DC 01 | Baby |
2 | DC 02 | Tena |
3 | DC 03 | Allergy |
4 | DC 04 | DOT COM |
The logic is:
If "Ship To" = DC 04, print "DOT COM"
Else -> Return the corresponding "Opstudy" value from Table 1 based on the matching WIC.
However, the 2 tables have a many to many relationship.
Is this possible through a power query or DAX calculation?
Thank you so much!
Best Regards,
Marsha Pribadi
Solved! Go to Solution.
Hi, @mpribadi07
Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.
Table1:
Table2:
Relationship(Many to Many):
You may create a calculated column as below.
Result Column =
var wic = [WIC]
return
IF(
[Ship To]="DC 04",
"DOT COM",
CONCATENATEX(
FILTER(
Table1,
[WIC]=wic
),
[Opstudy],
","
)
)
Result:
Or you may try the following calculated table.
Table =
ADDCOLUMNS(
SUMMARIZE(
Table2,
Table2[WIC],
"Ship To",
CONCATENATEX(
Table2,
[Ship To],
","
)
),
"Result",
var wic = [WIC]
return
IF(
[Ship To]="DC 04",
"DOT COM",
CONCATENATEX(
FILTER(
Table1,
[WIC]=wic
),
[Opstudy],
","
)
)
)
Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi, @mpribadi07
Based on your description, I created data to reproduce your scenario. The pbix file is attached in the end.
Table1:
Table2:
Relationship(Many to Many):
You may create a calculated column as below.
Result Column =
var wic = [WIC]
return
IF(
[Ship To]="DC 04",
"DOT COM",
CONCATENATEX(
FILTER(
Table1,
[WIC]=wic
),
[Opstudy],
","
)
)
Result:
Or you may try the following calculated table.
Table =
ADDCOLUMNS(
SUMMARIZE(
Table2,
Table2[WIC],
"Ship To",
CONCATENATEX(
Table2,
[Ship To],
","
)
),
"Result",
var wic = [WIC]
return
IF(
[Ship To]="DC 04",
"DOT COM",
CONCATENATEX(
FILTER(
Table1,
[WIC]=wic
),
[Opstudy],
","
)
)
)
Result:
Best Regards
Allan
If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.
Hi,
Please show relevant data in both tables (with entries being repeated in the WIC columns of both tables) and on that data show the expected result.
Hi Marsha,
Please @ mention me or I'll miss your replies. Type @ then select my name.
The data you provided would have a 1-1 relationship. You should avoid M-M. My code won't work for M-M.
Can you change your tables so that they have 1-1 or 1-M?
Looking at Table2 I'd expect that to have unique entries for WIC as I'd expect you can only ship to a single DC?
Your stated logic is
If "Ship To" = DC 04, print "DOT COM"
Else -> Return the corresponding "Opstudy" value from Table 1 based on the matching WIC.
But if a WIC value appears multiple times in Table1 there is no corresponding Opstudy value. There are multiple matching values. How to know which one to use?
The values in WIC column of Table 1 need to unique in that column.
Regards
Phil
Proud to be a Super User!
Hi @mpribadi07
Assuming the tables have a (1-1) relationship, this code creates a column in Table2
ToResult = IF('Table2'[Ship To] = "DC 04" , "DOT COM", RELATED(Table1[Opstudy]))
regards
Phil
Proud to be a Super User!
Hi Phil,
Thank you so much for your reply!
The Tables have a many to many relationship.
I will try the code you provided but appreciate any insights if you think the code won't work for a many to many relationship.
Thank you!
Marsha
March 31 - April 2, 2025, in Las Vegas, Nevada. Use code MSCUST for a $150 discount!
Your insights matter. That’s why we created a quick survey to learn about your experience finding answers to technical questions.
Arun Ulag shares exciting details about the Microsoft Fabric Conference 2025, which will be held in Las Vegas, NV.
User | Count |
---|---|
129 | |
90 | |
75 | |
58 | |
53 |
User | Count |
---|---|
200 | |
104 | |
101 | |
67 | |
55 |