Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

Join us at FabCon Atlanta from March 16 - 20, 2026, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM. Register now.

Reply
dw700d
Post Patron
Post Patron

Conditional Column

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      
JohnToddler
Johninfant
Johninfant
TomToddler
TomToddler
Tom Toddler
Mikeinfant
Mikeinfant
Mikeinfant
BobToddler
Bobinfant
Bobinfant
1 ACCEPTED SOLUTION
jeffshieldsdev
Solution Sage
Solution Sage

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"

 

View solution in original post

2 REPLIES 2
jeffshieldsdev
Solution Sage
Solution Sage

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"

 

jianlong
Resolver I
Resolver I

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..

jianlong_0-1645927682763.png

jianlong_1-1645927729782.png

jianlong_2-1645927866549.png

 

Helpful resources

Announcements
FabCon Global Hackathon Carousel

FabCon Global Hackathon

Join the Fabric FabCon Global Hackathon—running virtually through Nov 3. Open to all skill levels. $10,000 in prizes!

October Power BI Update Carousel

Power BI Monthly Update - October 2025

Check out the October 2025 Power BI update to learn about new features.

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.