Forum Discussion
DAX Return Two Columns With Distinct A Column And Concatenated Distinct B Column Values
- 1 year ago
Hi NTXDallasUser ,
You can achieve this in Power Query.
First you can remove the duplicate rows (where the id and the name are the same).Then you group by on the id, select Sum for the name column, and when it shows you the error do a little trick based on this blog post's 3rd chapter and replace the List.Sum with Text.Combine and specify the separator.
Here is the full M code with your sample data:let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUQrydPZWitWJVjICcrz8XcFsYyDbyd8JzDYBsl38/Rx9XMBckB4XxzBXOAdugCmQ4+ji6KsUGwsA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [SalespersonNum = _t, SalespersonName = _t]), #"Removed Duplicates" = Table.Distinct(Source), #"Changed Type" = Table.TransformColumnTypes(#"Removed Duplicates",{{"SalespersonNum", Int64.Type}, {"SalespersonName", type text}}), #"Grouped Rows" = Table.Group(#"Changed Type", {"SalespersonNum"}, {{"SalespersonS", each Text.Combine([SalespersonName],", "), type nullable text}}) in #"Grouped Rows"
Let me know if you have any questions.
Hi,
I used your "data" and came up with this solution:
Thank you for your reply, however I think the table may not hgave been easy enough to see - I need two columns returned searching two columns of input. On the output column SalespersonNum must be DISTINCT. The SalesPersonNames column would concatenate if needed any SalesPersonName (only Name) in conditions where the same SalesPersonNum contains unique SalesPersonName values. Here's the use case, and that might help, along with a table version of the input and output: Salesperson numbers can be recycled over time such that the same salesperson number could have a different name. The salesperson number is being used as a filter, but I want the name value to show ALL salespeople NAMES in the returned column that have had that number. Notice on the input, the SalespersonNum can appear with the SAME VALUE and either the SAME or DIFFERENT SalespersonName.
INPUT COLUMNS:
| SalespersonNum | SalespersonName |
| 1 | RICK |
| 2 | JOE |
| 3 | BOB |
| 4 | DONALD |
| 1 | DAVE |
| 1 | RICK |
| 5 | ADAM |
DESIRED OUTPUT (Both Columns)
| SalespersonNum | SalespersonNameS |
| 1 | RICK, DAVE |
| 2 | JOE |
| 3 | BOB |
| 4 | DONALD |
| 5 | ADAM |