Excel Power Query-通过比较两列来过滤行

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

我在Excel中有一个表,该表在Power Query Editor中进行自我外部联接以创建对]]

Table named Items
-----------------
Item   Value
A      1
B      2
C      3

我创建了一个从表/范围查询,该查询已关闭并加载到名为“项”的仅连接

let
    Source = Excel.CurrentWorkbook(){[Name="Table1"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Item", type text}, {"Value", Int64.Type}})
in
    #"Changed Type"

然后进行另一个自反交叉联接的查询

let
    Source = Items,
    #"Added Custom" = Table.AddColumn(Source, "Custom", each Items),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Item", "Value"}, {"Custom.Item", "Custom.Value"}),
    #"Renamed Columns" = Table.RenameColumns(#"Expanded Custom",{{"Custom.Item", "Item.2"}, {"Custom.Value", "Value.2"}, {"Value", "Value.1"}, {"Item", "Item.1"}}),
    #"Added Custom1" = Table.AddColumn(#"Renamed Columns", "Value", each [Value.1]*[Value.2])
in
    #"Added Custom1"

此时查询显示9行(3x3)

Item.1 Value.1 Item.2 Value.2 Value
A      1       A      1       1
A      1       B      2       2
A      1       C      3       3
B      2       A      1       2
B      2       B      2       4
B      2       C      3       6
C      3       A      1       3
C      3       B      2       6
C      3       C      3       9

我正在努力编辑查询,以便将搜索结果过滤到value.1 <= value.2的情况>

Item.1 Value.1 Item.2 Value.2 Value
A      1       A      1       1
A      1       B      2       2
A      1       C      3       3
B      2       B      2       4
B      2       C      3       6
C      3       C      3       9

Power Query Editor UI似乎没有提供x < y过滤器功能,我不确定如何使用Power Query M formula language来过滤所需的数据。

Microsoft Power Query提供了包含许多功能的强大数据导入体验。 Power Query可与Analysis Services,Excel和Power BI工作簿一起使用。 Power Query的一项核心功能是过滤和合并,即从一个或多个受支持数据源的丰富集合中汇总数据。任何此类数据混搭都使用Power Query M Formula Language表示。这是一种实用的,区分大小写的语言,类似于F#。

我在Excel中有一个表,该表在Power Query Editor中自外部联接以创建对,该表名为Items ----------------- Item Value A 1 B 2 C 3 a从表/范围查询...

excel powerquery m
3个回答
2
投票

添加自定义列:


0
投票

我最终使用高级编辑器编辑查询,并将#"Added Custom1"中的步骤Table.SelectRows表用于下一步。

let
    Source = Items,
    #"Added Custom" = Table.AddColumn(Source, "Custom", each Items),
    #"Expanded Custom" = Table.ExpandTableColumn(#"Added Custom", "Custom", {"Item", "Value"}, {"Custom.Item", "Custom.Value"}),
    #"Renamed Columns" = Table.RenameColumns(#"Expanded Custom",{{"Custom.Item", "Item.2"}, {"Custom.Value", "Value.2"}, {"Value", "Value.1"}, {"Item", "Item.1"}}),
    #"Added Custom1" = Table.AddColumn(#"Renamed Columns", "Value", each [Value.1]*[Value.2]),

0
投票

让我们有一张桌子

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.