Forum Discussion

RokuCap's avatar
RokuCap
Helper I
3 years ago
Solved

Merging Two Tables - Keep Order of Rows from Secondary Table in the Merged Table

I have two tables: Table A & Table B. I want to merge the Table B values to Table A but keep the row order from Table B (merging messes the row ordering). I've created a Group Rank column (based on the Category value) as a helper column for the merge.

Any help would be greatly appreciated!

Table A

IndexCategoryDescriptionPrice ($/kg)
1Cat AApples5
2Cat BOranges2
3Cat CPears3
4Cat DWatermelon4

Table B

Group RankCategoryOrder ID
1Cat A77381
2Cat A71329
3Cat A61086
1Cat C52255
2Cat C68071

 

Desired Merge Result:

CategoryDescriptionPrice ($/kg)Group RankOrder ID
Cat AApples5177381
Cat AApples5271329
Cat AApples5361086
Cat BOranges2  
Cat CPears3152255
Cat CPears3268071
Cat DWatermelon4  

 

Extra question: I'd also like the price value to only show on the 1st instance of the Category (Group Rank: 1) and be null or zero for rows after with the same value. Is this achievable in PQ?

  • Hi, RokuCap ;

    After we merge two table, we could sort the column.

     

    = Table.Sort(#"Expanded TableB",{{"Index", Order.Ascending}, {"TableB.Group Rank", Order.Ascending}})

     

    Then the final show:


    Best Regards,
    Community Support Team _ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.

3 Replies

  • Anonymous's avatar
    Anonymous
    Not applicable

    Hi RokuCap ,

     

    What if you add an index column to Table B before the merge, and then order the merged table by index column?

  • v-yalanwu-msft's avatar
    v-yalanwu-msft
    Community Support

    Hi, RokuCap ;

    After we merge two table, we could sort the column.

     

    = Table.Sort(#"Expanded TableB",{{"Index", Order.Ascending}, {"TableB.Group Rank", Order.Ascending}})

     

    Then the final show:


    Best Regards,
    Community Support Team _ Yalan Wu
    If this post helps, then please consider Accept it as the solution to help the other members find it more quickly.