Forum Discussion

daniel_t_93_'s avatar
daniel_t_93_
Frequent Visitor
2 years ago
Solved

Help with merging values on a specific column in a new table

Hi, 

 

I have the following dataset (simplified)

 

IDValueStep 1Step 2Step 3
1AA  
1B B 
1C  C
2AA  
3AA  
3D D 
3G  G
4AA  
4F F 

 

Step 1, 2 and 3 are derived from the value in the column 'value', using IF statements.

 

What I want is, in a new table, the following:

 

IDStep 1Step 2Step 3
1ABC
2A  
3ADG
4AF 

 

I tried this using a LOOKUPVALUE function, but that obviously doesn't work since it matches on multiple values (also the blanks). I also tried a CALCULATE, FIRSTNONBLANK and FILTER combination, but that also didn't work.

 

As you can see, step 2 and 3 can take up different values, or have no value at all. This happens when a person didn't get to that step at all. 

 

Anyone has some advice on how to achieve this? 

 

Thanks in advance!

  • Hi,

    This M code works

    let
        Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Value", type text}, {"Step 1", type text}, {"Step 2", type text}, {"Step 3", type text}}),
        #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Value"}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Removed Columns", {"ID"}, "Attribute", "Value"),
        #"Pivoted Column" = Table.Pivot(#"Unpivoted Other Columns", List.Distinct(#"Unpivoted Other Columns"[Attribute]), "Attribute", "Value")
    in
        #"Pivoted Column"

    Hope this helps.

     

1 Reply

  • Hi,

    This M code works

    let
        Source = Excel.CurrentWorkbook(){[Name="Data"]}[Content],
        #"Changed Type" = Table.TransformColumnTypes(Source,{{"ID", Int64.Type}, {"Value", type text}, {"Step 1", type text}, {"Step 2", type text}, {"Step 3", type text}}),
        #"Removed Columns" = Table.RemoveColumns(#"Changed Type",{"Value"}),
        #"Unpivoted Other Columns" = Table.UnpivotOtherColumns(#"Removed Columns", {"ID"}, "Attribute", "Value"),
        #"Pivoted Column" = Table.Pivot(#"Unpivoted Other Columns", List.Distinct(#"Unpivoted Other Columns"[Attribute]), "Attribute", "Value")
    in
        #"Pivoted Column"

    Hope this helps.