Forum Discussion
New table from two tables with condition
Hey Guys.
I have 3 tables.
1 Base table ("a")
2 Data Tables ("b","c")
All of them have a username column.
Now I need 2 new tables with conditional rows:
(1) First new table: Includes only rows where username from "b" is also in "a".
(2) Second new table: Includes only rows where username from "c" is not in "a". (basically c-a)
How can I realize that? For (1) I tried merging queries in query editor but this seems to be buggy?
It shows that 164 rows (usernames) are matching but when I create the table it seems to be done nothing:
Resulting table:
I'm also open to any DAX Logic that creates new tables.
In result I would need two new seperate tables.
Thanks in advance 🙂
Hey lynnsop ,
I would do the work all in Power Query. The joins that you want are already available and you won't have additional tables in the data model that you don't need.
Please find my example file here:
https://www.swisstransfer.com/d/9387d28f-e05e-436e-9151-3de28ad519fd
For your first case, you only have to do an inner join:
For the second case you have to do a "left anti":
And that should already give you the result you want.
If you need any help please let me know.If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍Best regardsDenisBlog: WhatTheFact.biFollow me: twitter.com/DenSelimovic
3 Replies
- selimovd
Most Valuable Professional
Hey lynnsop ,
I would do the work all in Power Query. The joins that you want are already available and you won't have additional tables in the data model that you don't need.
Please find my example file here:
https://www.swisstransfer.com/d/9387d28f-e05e-436e-9151-3de28ad519fd
For your first case, you only have to do an inner join:
For the second case you have to do a "left anti":
And that should already give you the result you want.
If you need any help please let me know.If I answered your question I would be happy if you could mark my post as a solution ✔️ and give it a thumbs up 👍Best regardsDenisBlog: WhatTheFact.biFollow me: twitter.com/DenSelimovic - amitchandak
Super User
lynnsop , Try two new tables
new table =
var _tab = INTERSECT(TableB[username], TableA[username])
return
calculatetable(filter(TableA, TableA[user] in _tab))new table 2 =
var _tab = except(TableC[username], TableA[username])
return
calculatetable(filter(TableC, TableC[user] in _tab))- lynnsop
Helper I
Hi amitchandak
the "intersect" and "except" both seem to require a single table and not column of table. Therefore I get an error when I want to implement this solution