Forum Discussion

Hanuma_Srikiran's avatar
Hanuma_Srikiran
Frequent Visitor
8 years ago
Solved

Comparing Two columns with Output (Parent and Child relation)

Hi , I have a source file like below Child Parent Parrot Pet LoveBirds Pet Eagle Adventures Bat Adventures Lion Wild Tiger Wild Cow Domestic Goat Domestic Wha...
  • Zubair_Muhammad's avatar
    8 years ago

    Hi Hanuma_Srikiran

     

    Try this Calculated Table.

     

    New Table =
    VAR AllParent =
        SELECTCOLUMNS ( TableName, "AllParents", TableName[Parent] )
    VAR Firstparent =
        ADDCOLUMNS (
            EXCEPT ( ALL ( TableName[Child] ), ALL ( TableName[Parent] ) ),
            "FirstParent", CALCULATE ( VALUES ( TableName[Parent] ) )
        )
    VAR secondparent =
        ADDCOLUMNS (
            SELECTCOLUMNS (
                Firstparent,
                "LastChild", [Child],
                "FirstParent", [FirstParent]
            ),
            "SecondParent", LOOKUPVALUE ( TableName[Parent], TableName[Child], [FirstParent] )
        )
    VAR thirdparent =
        ADDCOLUMNS (
            SUMMARIZE ( secondparent, [LastChild], [FirstParent], [SecondParent] ),
            "ThirdParent", LOOKUPVALUE ( TableName[Parent], TableName[Child], [SecondParent] )
        )
    VAR Fourthparent =
        ADDCOLUMNS (
            SUMMARIZE (
                thirdparent,
                [LastChild],
                [FirstParent],
                [SecondParent],
                [ThirdParent]
            ),
            "FourthParent", LOOKUPVALUE ( TableName[Parent], TableName[Child], [ThirdParent] )
        )
    RETURN
        FILTER (
            UNION (
                SUMMARIZE ( Fourthparent, [LastChild], [FirstParent] ),
                SUMMARIZE ( Fourthparent, [LastChild], [SecondParent] ),
                SUMMARIZE ( Fourthparent, [LastChild], [ThirdParent] ),
                SUMMARIZE ( Fourthparent, [LastChild], [FourthParent] )
            ),
            [FirstParent] <> BLANK ()
        )