Forum Discussion

cmaloyb's avatar
cmaloyb
Helper II
4 years ago
Solved

If Text Contains Value from Another Table, Return All that are True

Hi,   Key Word Table [Common Word] wrench tighten screwdriver bolt   Solutions Table [CommonSolutions] Use a wrench to tighten the bolt. Use a screwdriver to loosen...
  • smpa01's avatar
    4 years ago

    cmaloyb  you can try it in this way

    let
        src=let
        Source = Web.BrowserContents("https://community.powerbi.com/t5/Power-Query/If-Text-Contains-Value-from-Another-Table-Return-All-that-are/m-p/2171350#M64145"),
        #"Extracted Table From Html" = Html.Table(Source, {{"Column1", "TABLE:nth-child(4) > * > TR > :nth-child(1)"}}, [RowSelector="TABLE:nth-child(4) > * > TR"]),
        #"Changed Type" = Table.TransformColumnTypes(#"Extracted Table From Html",{{"Column1", type text}}),
        #"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
        #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"[Common Word]", type text}}),
        #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"[Common Word]", "Word"}})
    in
        #"Renamed Columns",
        Target = let
        Source = Web.BrowserContents("https://community.powerbi.com/t5/Power-Query/If-Text-Contains-Value-from-Another-Table-Return-All-that-are/m-p/2171350#M64145"),
        #"Extracted Table From Html" = Html.Table(Source, {{"Column1", "TABLE:nth-child(7) > * > TR > :nth-child(1)"}}, [RowSelector="TABLE:nth-child(7) > * > TR"]),
        #"Changed Type" = Table.TransformColumnTypes(#"Extracted Table From Html",{{"Column1", type text}}),
        #"Promoted Headers" = Table.PromoteHeaders(#"Changed Type", [PromoteAllScalars=true]),
        #"Changed Type1" = Table.TransformColumnTypes(#"Promoted Headers",{{"[CommonSolutions]", type text}}),
        #"Renamed Columns" = Table.RenameColumns(#"Changed Type1",{{"[CommonSolutions]", "Transaction"}})
    in
        #"Renamed Columns",
        #"Added Custom" = Table.AddColumn(Target, "Custom", each let
    j=[Transaction],
    Y=src[Word],
    Loop = List.Generate(
    ()=>[a=0,b=Y{a},c=if Text.Contains(j,b)=true then b else null],
    each [a]<List.Count(Y),
    each[a=[a]+1,b=Y{a},c=if Text.Contains(j,b)=true then b else null],
    each [c])
    in
    List.RemoveNulls(Loop)),
        #"Expanded Custom" = Table.ExpandListColumn(#"Added Custom", "Custom")
    in
        #"Expanded Custom"

     

    pbix is attached.