PowerQuery: Row with same ID, CONCATENATE image column into one row.

santnok

Board Regular
Hi

In PowerQuery I have a tabel that looks like the tabel under (TBL1). if you see under the ItemNo I have 1 or several same ID. So I need help to
make a colum that takes e.g. ItemNo: SHD3061 that have 2 rows of images and concatenate. So my result I hope to achieve is this (TBL2)

TBL2
ItemNoImages
SHD3061/photos/SHD3061/SHD3061.jpg, /photos/SHD3061/SHD3061_4.png

<tbody>
</tbody>

From the tabel under you can see that the Image can be more than 1 for a ItemNo.

TBL1: Here is my result today I hope to fix
ItemNoImages
SHD3061/photos/SHD3061/SHD3061.jpg
SHD3061/photos/SHD3061/SHD3061_4.png
SHD3062/photos/SHD3062/SHD3062.jpg
SHD3062/photos/SHD3062/SHD3062_pack.png
SHD3063/photos/SHD3063/SHD3063.jpg
SHD3063/photos/SHD3063/SHD3063_4.png
SHD3071/photos/SHD3071/SHD3071.jpg
SHD3071/photos/SHD3071/SHD3071_1.png
SHD3072/photos/SHD3072/SHD3072.jpg
SHD3072/photos/SHD3072/SHD3072_1.png
SHD3361/photos/SHD3361/SHD3361.jpg
SHD3361/photos/SHD3361/SHD3361_4.png
SHD3362/photos/SHD3362/SHD3362.jpg
SHD3362/photos/SHD3362/SHD3362_pack.png
SHD3461/photos/SHD3461/SHD3461.jpg
SHD3461/photos/SHD3461/SHD3461_4.png
SHD3462/photos/SHD3462/SHD3462.jpg
SHD3462/photos/SHD3462/SHD3462_pack.png
SHD3561/photos/SHD3561/SHD3561.jpg
SHD3561/photos/SHD3561/SHD3561_4.png
SHD3562/photos/SHD3562/SHD3562.jpg
SHD3562/photos/SHD3562/SHD3562_4.png
SHD3661/photos/SHD3661/SHD3661.jpg
SHD3661/photos/SHD3661/SHD3661_4.png
SHD3662/photos/SHD3662/SHD3662.jpg
SHD3662/photos/SHD3662/SHD3662_pack.png
SHD3862/photos/SHD3862/SHD3862.jpg
SHD3862/photos/SHD3862/SHD3862_Box.png
SHD3863/photos/SHD3863/SHD3863.jpg
SHD3863/photos/SHD3863/SHD3863_Box.png
SWB7140/photos/SWB7140/SWB7140.jpg
SWB7140/photos/SWB7140/SWB7140_0.jpg
SWB7140/photos/SWB7140/SWB7140_1.jpg
SWB7140/photos/SWB7140/SWB7140_10.jpg
SWB7140/photos/SWB7140/SWB7140_11.jpg
SWB7140/photos/SWB7140/SWB7140_12.jpg
SWB7140/photos/SWB7140/SWB7140_13.jpg
SWB7140/photos/SWB7140/SWB7140_14.jpg
SWB7140/photos/SWB7140/SWB7140_15.jpg

<tbody>
</tbody>

Hope it is possible to do without coding directly in the Advanced Editor

Hope somone can help me out here

Thanks for all help :)
 

sandy666

Well-known Member
try

Code:
[SIZE=1]// Table1
let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Grouped Rows" = Table.Group(Source, {"ItemNo"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Images", each Table.Column([Count],"Images")),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Images", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
    #"Extracted Values"[/SIZE]
without Advanced Editor ;)
 

santnok

Board Regular
Thanks for the reply, can you please help me out when I have this code before in Advanced Editor
How to place your code in my code :)

Code:
let
    Kilde = Xml.Tables(Web.Contents("https://xxxxxxxxxxxxxxxxxxx.xml")),
    Table1 = Kilde{1}[Table],
    Table0 = Table1{0}[Table],
    #"Utvidet Picture" = Table.ExpandTableColumn(Table0, "Picture", {"Property"}, {"Property"}),
    #"Utvidet Property" = Table.ExpandTableColumn(#"Utvidet Picture", "Property", {"Attribute:Value"}, {"Attribute:Value"}),
    #"Renamed Columns" = Table.RenameColumns(#"Utvidet Property",{{"Attribute:Value", "Image"}}),
    #"Removed Other Columns" = Table.SelectColumns(#"Renamed Columns",{"ItemNo", "Image"})
in
    #"Removed Other Columns"
I see that in the code it shows some norwegian words.

Kilde = Source
Utvidet = Extended

Thanks :)
 

sandy666

Well-known Member
if the result of your M-code is your table from post#1 add last 3 lines from my post to your M-code, eg.

Code:
[SIZE=1]let
    Kilde = Xml.Tables(Web.Contents("https://xxxxxxxxxxxxxxxxxxx.xml")),
    Table1 = Kilde{1}[Table],
    Table0 = Table1{0}[Table],
    #"Utvidet Picture" = Table.ExpandTableColumn(Table0, "Picture", {"Property"}, {"Property"}),
    #"Utvidet Property" = Table.ExpandTableColumn(#"Utvidet Picture", "Property", {"Attribute:Value"}, {"Attribute:Value"}),
    #"Renamed Columns" = Table.RenameColumns(#"Utvidet Property",{{"Attribute:Value", "Image"}}),
    #"Removed Other Columns" = Table.SelectColumns(#"Renamed Columns",{"ItemNo", "Image"}),
[COLOR="#0000FF"]    #"Grouped Rows" = Table.Group(#"Removed Other Columns", {"ItemNo"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Images", each Table.Column([Count],"Images")),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Images", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
    #"Extracted Values"[/COLOR][/SIZE]
but you should check proper syntax (you need to use Advanced Editor :) :) :) )

or
with your M-code
- group by ItemNo
- add custom column with Table.Column(....
- expand List column with delimiter: ", " (second option)

btw. your code has Image but your table from post#1 has Images
 
Last edited:

santnok

Board Regular
Hi

Thanks, now I get an Error

See the picture here http://servyou.net/Capture.PNG

My code is now

Code:
let
    Kilde = Xml.Tables(Web.Contents("https://xxxxxxxxxxxx.xml")),
    Table1 = Kilde{1}[Table],
    Table0 = Table1{0}[Table],
    #"Utvidet Picture" = Table.ExpandTableColumn(Table0, "Picture", {"Property"}, {"Property"}),
    #"Utvidet Property" = Table.ExpandTableColumn(#"Utvidet Picture", "Property", {"Attribute:Value"}, {"Attribute:Value"}),
    #"Renamed Columns" = Table.RenameColumns(#"Utvidet Property",{{"Attribute:Value", "Image"}}),
    #"Removed Other Columns" = Table.SelectColumns(#"Renamed Columns",{"ItemNo", "Image"}),
    #"Grouped Rows" = Table.Group(#"Removed Other Columns", {"ItemNo"}, {{"Count", each _, type table}}),
    #"Added Custom" = Table.AddColumn(#"Grouped Rows", "Images", each Table.Column([Count],"Images")),
    #"Extracted Values" = Table.TransformColumns(#"Added Custom", {"Images", each Text.Combine(List.Transform(_, Text.From), ", "), type text})
in
    #"Extracted Values"
Thanks for help :)
 

santnok

Board Regular
Hi again,

I found what is wrong, see in your code that you have writen Images, I changed to Image and it work :)
So thank you verry much for the help :) Have a nice day :)

Sorry, dident see btw in your last post :)
 
Last edited:

santnok

Board Regular
Hi again

Have a follwup question. If I want to seperate the images into new column for each image insted of have them comma seperated in one column, is that possible?

Best Regard
Roy
 

Some videos you may like

This Week's Hot Topics

  • Importing multiple excel files into one spreadsheet
    Hi, I'm trying to import multiple excel files (with the same format into a single spreadsheet) so that each day's file is listed underneath the...
  • find many based on a certain criteria
    good evening, I hope someone can help me? I have a workbook sheet 2 contains lots of data.... I would like to be able to find anything on sheet...
  • How to copy multiple rows using If
    Hi all, I'm very new to VBA and have written this simple code to copy certain cells if a certain cell within that row contains any data. I need...
  • VBA If statement
    Dear All, I have two dates, where I'd like a message box to pop, if the dates are between this criteria. [CODE] sDate1 = #10/1/2019#...
  • Text Format
    I have a sheet for user to keyin the data. The format of the data can be 451 / 1903, 0012 / 9908 or 00287 / 0099. The number after the "/" is...
  • Macro to copy values across rows and transposing them and add the user id
    [FONT=Times New Roman][SIZE=3][COLOR=#000000][/COLOR][/SIZE][/FONT][FONT=Calibri][SIZE=3][COLOR=#000000]Hi,[/COLOR][/SIZE][/FONT] [FONT=Times New...
Top