Forum Discussion
Loop Command in Power Query
Hi to all,
Stuck up with large set of data which has multiple variables and overlapping sets of values.
To overcome the same, Through "Power Query", I have managed to get non-overlapped value for single item in sheet 'Length Achieved - Single Item'. (Item1 - A is having value of 400)
However, I'm unable to apply the same with Multiple Item in sheet 'Length Achieved - Multiple Item'.. ((Item1 - A value changes to 950)
I need help in Running Same Sets of Command in Loop. Sheet Attached.
Thanks in Advance..
As variant, to receive such result
and ignoring column Value in source data, not sure for what it is needed, we may generate list from start to end for each record, group table on Item and Side, as aggregation union lists for the groups and count them. Entire script is
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Add column with lists of points" = Table.AddColumn( Source, "List values", each {[Start]+1..[End]} ), #"Groupe by Items and Sides and count union" = Table.Group( #"Add column with lists of points", {"Item", "Side"}, { {"Count", each List.Count(List.Union([List values])) } } ) in #"Groupe by Items and Sides and count union"
7 Replies
- Riny_van_EekelenPlatinum Contributor
aditya Not sure if I fully comprehended your problem, but perhaps the attached workbook contains the result you are after. I've added a query "Table1 (2)" that loads a four row table.
- adityaCopper Contributor
Riny_van_Eekelen Attached solves one part of problem of looping.
However, It is not removing and capturing overlapping & non-overlapping data. Sample data for single item is shown below. And Power Query of Single Item is attached in previous post named as "Length Achieved -Single Item".
Data with same set of (ITEM & SIDE) Resultant Item Side Start End Value Item Side Start End LENGTH Item1 A 100 300 1 Item1 A 100 400 300 Item1 A 200 250 1 Item1 A 500 600 100 Item1 A 100 150 1 Item1 A 750 850 100 Item1 A 500 600 1 Item1 A 900 1000 100 Item1 A 280 400 1 Item1 A 750 800 1 Item1 A 600 Item1 A 800 850 1 Item1 A 900 1000 1 - SergeiBaklanDiamond Contributor
As variant, to receive such result
and ignoring column Value in source data, not sure for what it is needed, we may generate list from start to end for each record, group table on Item and Side, as aggregation union lists for the groups and count them. Entire script is
let Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content], #"Add column with lists of points" = Table.AddColumn( Source, "List values", each {[Start]+1..[End]} ), #"Groupe by Items and Sides and count union" = Table.Group( #"Add column with lists of points", {"Item", "Side"}, { {"Count", each List.Count(List.Union([List values])) } } ) in #"Groupe by Items and Sides and count union"