Forum Discussion
Anonymous
5 years agoNot applicable
New column when IDs repeat
Hello community,
I'm looking to create a new column with a list of unique medications for each ID.
I have a bit of a weird/complicated data, because my IDs repeat:
| ID | Medication |
| 1 | a |
| 1 | b |
| 1 | c |
| 2 | h |
| 3 | a |
| 3 | a |
| 3 | c |
Some IDs have a row for each medication (ID #1), some IDs have duplicate medications (ID #3) as well as non duplicated medications.
I would like to create a new column with a list of all unique medications for each ID:
| ID | Medication | Medications |
| 1 | a | a, b, c |
| 1 | b | a, b, c |
| 1 | c | a, b, c |
| 2 | h | h |
| 3 | a | a, c |
| 3 | a | a, c |
| 3 | c | a, c |
Would anyone know how to create this?
Thank you for taking the time,
Denisse
7 Replies
- FowmySuper User
Anonymous
You can add a custom column with the following code(x)=> Text.Combine( List.Distinct(Table.SelectRows(#"Changed Type", each [ID] =x[ID])[Medication]),",")- AnonymousNot applicable
- FowmySuper User
Anonymous
You need to modify the step names as per your query. Create a new blank query, go to the Advanced Editor, clear the existing code and paste the following then follow the steps.let Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45WMlTSUUpUitWBsJLgrGQwywjIygCzjOHqUFlAdbEA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [ID = _t, Medication = _t]), #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Medication", type text}}), #"Added Custom" = Table.AddColumn(#"Changed Type", "Custom", (x)=> Text.Combine( List.Distinct(Table.SelectRows(#"Changed Type", each [ID] =x[ID])[Medication]),",")) in #"Added Custom"