强大的查询多个表的功能,将所有信息合并到一张表中,然后合并重复的文本并将相应的计数加在一起

问题描述 投票:0回答:1

我是电源查询的新手,所以如果答案相对简单,请原谅我缺乏知识。

下表是我将表中的数据转换为工作簿中的数据到一张表中的初步测试。添加所有内容后,此电源查询将包含更多信息。

目前第二张照片是如何清点过滤器的,但这都是手动完成的。我希望使用强大的查询来查询所有主表,以获取正在使用的皮带和过滤器信息,以实现自动化,因此当从主表中添加、更改或删除信息时,它也会自动更新库存页面。 F1、F2、F3、F4 列中将包含所有类型的过滤器尺寸,因此例如 20X24X2-GP 显示在 F1 和 F3 中,并且最终可能在某个时刻出现在所有过滤器尺寸中,因为任何过滤器尺寸都可能。我需要将每个过滤器尺寸和皮带的每个实例及其相应的数量组合在一起。例如,根据第一张图片,它将是 AX30 | 3、20X24X2-GP| 13 等

我目前的想法是,在对每个表进行电源查询并将每个表附加在一起之后,我可以使用库存表中的公式来读取电源查询表以将所有内容添加在一起,但这远远超出了我当前的 Excel 技能来创建这样的公式。

非常感谢所有帮助。

顺便说一句,是否还有一种方法可以在进行更改时、或者在打开或关闭文档或类似性质的情况下自动刷新查询?

excel excel-formula powerquery excel-2016 m
1个回答
0
投票

这是一个解决方案。我无法使用您的表格,因为它是图像,所以这里有一个类似的起始表格:

最终结果:

代码由@horseyride提供

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],

    //code courtesy of horseyride - start
    base_columns=0, groupsof=2, 
    Combo = List.Transform(List.Split(List.Skip(Table.ColumnNames(Source),base_columns),groupsof), each List.FirstN(Table.ColumnNames(Source),base_columns) & _),
    #"Added Custom" =List.Accumulate(Combo, #table({"Column1"}, {}),(state,current)=> state & Table.Skip(Table.DemoteHeaders(Table.SelectColumns(Source, current)),1)),
    //code courtesy of horseyride - end
    
    #"Grouped Rows" = Table.Group(#"Added Custom", {"Column1"}, {{"Quantity", each List.Sum([Column2]), type nullable number}}),
    #"Filtered Rows" = Table.SelectRows(#"Grouped Rows", each [Column1] <> null)
in
    #"Filtered Rows"
© www.soinside.com 2019 - 2024. All rights reserved.