Forum Discussion

Anonymous's avatar
Anonymous
Not applicable
6 years ago
Solved

Merging an unknown number of columns

Hello,

I am using Jira CSV data that I query directly from the Web.

In this data, comments are added as new columns depending on the number of comments.

So if a record has 2 comments, there will be 2 columns accordingly: comments.1 and comments.2

Etc, etc.

I would like to concactenate these columns (only when not empty) for my entire dataset without knowing beforehand the number of columns (as this can vary).

Is there an easy way to do this ?

Thanks

2 Replies

  • Jimmy801's avatar
    Jimmy801
    Icon for Community Champion rankCommunity Champion

    Hello Anonymous ,

     

    this would be a solution thats its really dynamic

    let
    	Source = #table
    	(
    		{"Comment","xy","zz","test"},
    		{
    			{"abc","f","500","5"},	{"a","c","200","3"},	{"o","d","",""}
    		}
    	),
        ChangeType = Table.TransformColumnTypes(Source,{{"zz", Int64.Type}}),
    	ToRows= Table.ToRows
    	(
    		ChangeType
    	),
    	Transform = List.Transform
    	(
    		ToRows,
    		(transform)=> Text.Combine(List.Select( List.Transform(transform, (transform1)=> Text.From(transform1)), each _ <> ""), ", ")
    	),
    	Combine = Table.FromColumns
    	(
    		Table.ToColumns(ChangeType)&{Transform},
    		Table.ColumnNames(ChangeType)&{"Concatenating"}
    	)
    in
    	Combine

     

    Copy paste this code to the advanced editor to see how the solution works. If this solution fits your need, copy and past a part of it and implement it in your query, or I could create a custom function what makes it easier to apply if you are not used that much to power query.

    If this post helps or solves your problem, please mark it as solution (to help other users find useful content and to acknowledge the work of users that helped you)
    Kudoes are nice too

    Have fun

    Jimmy