This time we’re going bigger than ever. Fabric, Power BI, SQL, AI and more. We're covering it all. You won't want to miss it.
Learn moreLevel up your Power BI skills this month - build one visual each week and tell better stories with data! Get started
I have two columns, A parent column which gives the name of each parent and a child column that represents the type of child each parent has. I would like to create a new column within the query editor that tells me if a parent has a toddler, an infant or both. For example the new column would show that John has “both”, Tom has “Toddler”, Mike has “infant” and Bob has “Both”
| Parent | Child |
| John | Toddler |
| John | infant |
| John | infant |
| Tom | Toddler |
| Tom | Toddler |
| Tom | Toddler |
| Mike | infant |
| Mike | infant |
| Mike | infant |
| Bob | Toddler |
| Bob | infant |
| Bob | infant |
Solved! Go to Solution.
This should work:
Note: your third "Tom" has a trailing space. Also, you may be aware Power Query string comparisons are case sensitive by default.
let
// Your table
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8srPyFPSUQrJT0nJSS1SitWBC2XmpSXmleAQCcnPRdNFjIhvZnYqqjnEiDjlJ6GZAxHBUAITiAUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Parent = _t, Child = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Parent", type text}, {"Child", type text}}),
// Group rows by "Parent" into Data column
#"Grouped Rows" = Table.Group(#"Changed Type", {"Parent"}, {{"Data", each _, type table [Parent=nullable text, Child=nullable text]}}),
// Determine Child Type by rows in Data column
#"Added Child Type" = Table.AddColumn(#"Grouped Rows", "Child Type", each
if Table.ContainsAll([Data], {[Child = "Toddler"], [Child = "infant"]})
then "both"
else if Table.Contains([Data], [Child = "Toddler"])
then "Toddler"
else if Table.Contains([Data], [Child = "infant"])
then "infant"
else null,
type text),
// Expanded back Data to Child
#"Expanded Data" = Table.ExpandTableColumn(#"Added Child Type", "Data", {"Child"}, {"Child"})
in
#"Expanded Data"
This should work:
Note: your third "Tom" has a trailing space. Also, you may be aware Power Query string comparisons are case sensitive by default.
let
// Your table
Source = Table.FromRows(Json.Document(Binary.Decompress(Binary.FromText("i45W8srPyFPSUQrJT0nJSS1SitWBC2XmpSXmleAQCcnPRdNFjIhvZnYqqjnEiDjlJ6GZAxHBUAITiAUA", BinaryEncoding.Base64), Compression.Deflate)), let _t = ((type nullable text) meta [Serialized.Text = true]) in type table [Parent = _t, Child = _t]),
#"Changed Type" = Table.TransformColumnTypes(Source,{{"Parent", type text}, {"Child", type text}}),
// Group rows by "Parent" into Data column
#"Grouped Rows" = Table.Group(#"Changed Type", {"Parent"}, {{"Data", each _, type table [Parent=nullable text, Child=nullable text]}}),
// Determine Child Type by rows in Data column
#"Added Child Type" = Table.AddColumn(#"Grouped Rows", "Child Type", each
if Table.ContainsAll([Data], {[Child = "Toddler"], [Child = "infant"]})
then "both"
else if Table.Contains([Data], [Child = "Toddler"])
then "Toddler"
else if Table.Contains([Data], [Child = "infant"])
then "infant"
else null,
type text),
// Expanded back Data to Child
#"Expanded Data" = Table.ExpandTableColumn(#"Added Child Type", "Data", {"Child"}, {"Child"})
in
#"Expanded Data"
1, duplicate the table under edit query
2, find one table to groupby "Parent",
3, Merge the two tables together
4, if or switch true create a new column..
Check out the April 2026 Power BI update to learn about new features.
Sign up to receive a private message when registration opens and key events begin.
If you have recently started exploring Fabric, we'd love to hear how it's going. Your feedback can help with product improvements.
| User | Count |
|---|---|
| 35 | |
| 32 | |
| 25 | |
| 22 | |
| 18 |
| User | Count |
|---|---|
| 66 | |
| 36 | |
| 32 | |
| 25 | |
| 23 |