Power Query - 多次过滤并组合输出

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

我有一些数据需要多次应用过滤器(不同条件),最后合并每次过滤的结果。我想用电源查询来做到这一点。

数据示例:

设备 来自区域 前往区域
防火墙1 内部 外部
防火墙1 内部 VPN
防火墙1 网关 公开
防火墙2 外部 非军事区
防火墙2 VPN 非军事区
防火墙2 网关 非军事区
防火墙3 网关 内部
防火墙3 非军事区 内部

数据集1:将通过“设备”列中的“防火墙1”和与“内部”匹配的“来自区域”列

设备 来自区域 前往区域
防火墙1 内部 外部
防火墙1 内部 VPN

数据集2:将通过“设备”列中的“防火墙2”和与“DMZ”匹配的“到区域”列或与“VPN”匹配的“来自区域”列或与“网关”匹配的“来自区域”

设备 来自区域 前往区域
防火墙2 外部 非军事区
防火墙2 VPN 内部
防火墙2 网关 内部

等等...

最后,我需要将所有结果合并到一个查询中。如果可能的话,我宁愿不为每个过滤条件创建源的副本以便稍后将其组合。我想为每个设备提供输入参数,例如:

设备:防火墙1

来自区域:内部

前往区域:任何

设备:防火墙2

来自区域:网关、VPN

前往区域: DMZ

excel powerquery
1个回答
0
投票

您可以在过滤步骤中使用逻辑表达式(

and
or
)来完成此操作。

例如:

= Table.SelectRows(YourPreviousStep, each 
      ( [Device] = "firewall 1" and [From Zone] = "Internal" )
      or
      ( [Device] = "firewall 2" and ( List.Contains({"Gateway", "VPN"}, [From Zone] ) or [To Zone] = "DMZ" ) )
    )
© www.soinside.com 2019 - 2024. All rights reserved.