Forum Discussion

LoryMenCR's avatar
LoryMenCR
Helper I
1 year ago
Solved

Codes and Group description codes table

Dear All,

i have two tables.

1) Codes

CodeDescription
0576Apple
0577Banana
0578Kiwi

 

2) Group classification of Codes

Parent Code 1Parent Code 2Parent Code 3Parent Code 4CodeGroup Description
1nullnullnullnullGroup Description A
11nullnullnullGroup Description B 
111nullnullGroup Description C
11110576Group Description D
11110577Group Description D
11110578Group Description D

 

Codes are unique both in table 1) and table 2).

 

What I want is relate this two tables so I can put a table/matrix viz where I can expand every Group Description A until every codes with their Group Description D associated.

 

Any idea?

Thanks

lorenzo 

  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi All,
    Firstly  Kedar_Pande thank you for your solution!
    And LoryMenCR , As I understand it, you want to turn the Group Description column into a hierarchy, right? 
    Then we can create a new table, and then use the Path function to give the column a hierarchical relationship and then nested to get the effect you want:

    HierarchyTable = 
    DATATABLE(
        "Child Description", STRING,
        "Parent Description", STRING,
        "Code", STRING,
        {
            { "Group Description C","Group Description D", 	"576" },
            { "Group Description C","Group Description D", "577" },
            { "Group Description C","Group Description D", "578"},
            
            { "Group Description B", "Group Description C", BLANK() },
            { "Group Description A","Group Description B",  BLANK()},
            { BLANK(),"Group Description A",  BLANK()}
            
        }
    )
    
    Path = PATH(HierarchyTable[Parent Description], HierarchyTable[Child Description])
    Level1 = PATHITEM(HierarchyTable[Path], 4, TEXT)

     

    Once we have the exact relationship, we can connect our HierarchyTable to Code to form a one-to-many relationship to get the results we need, and finally use a measure to get the right results.

    Measure = IF(
        NOT(ISINSCOPE('HierarchyTable'[Code])),
        BLANK(),
        LOOKUPVALUE(Code[Value],'Code'[Code],SELECTEDVALUE('HierarchyTable'[Code])))

    If you have further questions, you can check the pbix file I uploaded, I hope my method can help you, I would be honored if I can solve your problem!

    Hope it helps!

    Best regards,
    Community Support Team_ Tom Shen

    If this post helps then please consider Accept it as the solution to help the other members find it more quickly.

     

     

     

2 Replies

  • LoryMenCR 

    Create a one-to-many relationship:
    Codes[Code] → Group Classification[Code].

     

    Add a calculated column

    FullHierarchy = 
    CONCATENATE(
    CONCATENATE(
    CONCATENATE(
    IF(ISBLANK('Group Classification'[Parent Code 1]), "", 'Group Classification'[Parent Code 1] & " > "),
    IF(ISBLANK('Group Classification'[Parent Code 2]), "", 'Group Classification'[Parent Code 2] & " > ")
    ),
    IF(ISBLANK('Group Classification'[Parent Code 3]), "", 'Group Classification'[Parent Code 3] & " > ")
    ),
    'Group Classification'[Group Description]
    )

    💌 If this helped, a Kudos 👍 or Solution mark would be great! 🎉
    Cheers,
    Kedar
    Connect on LinkedIn

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi All,
    Firstly  Kedar_Pande thank you for your solution!
    And LoryMenCR , As I understand it, you want to turn the Group Description column into a hierarchy, right? 
    Then we can create a new table, and then use the Path function to give the column a hierarchical relationship and then nested to get the effect you want:

    HierarchyTable = 
    DATATABLE(
        "Child Description", STRING,
        "Parent Description", STRING,
        "Code", STRING,
        {
            { "Group Description C","Group Description D", 	"576" },
            { "Group Description C","Group Description D", "577" },
            { "Group Description C","Group Description D", "578"},
            
            { "Group Description B", "Group Description C", BLANK() },
            { "Group Description A","Group Description B",  BLANK()},
            { BLANK(),"Group Description A",  BLANK()}
            
        }
    )
    
    Path = PATH(HierarchyTable[Parent Description], HierarchyTable[Child Description])
    Level1 = PATHITEM(HierarchyTable[Path], 4, TEXT)

     

    Once we have the exact relationship, we can connect our HierarchyTable to Code to form a one-to-many relationship to get the results we need, and finally use a measure to get the right results.

    Measure = IF(
        NOT(ISINSCOPE('HierarchyTable'[Code])),
        BLANK(),
        LOOKUPVALUE(Code[Value],'Code'[Code],SELECTEDVALUE('HierarchyTable'[Code])))

    If you have further questions, you can check the pbix file I uploaded, I hope my method can help you, I would be honored if I can solve your problem!

    Hope it helps!

    Best regards,
    Community Support Team_ Tom Shen

    If this post helps then please consider Accept it as the solution to help the other members find it more quickly.