电源查询 - Table.SelectRows

Power Query - Table.SelectRows

我在 Excel 中有两个 tables/queries。一个 table 是一个组维度,它列出了每个组以及关于每个组的一些元数据。下一个 table 是事实 table,其中包含每个组的每月信息。 table 看起来像这样:

表 1

GroupName       Location     GroupID   
Even Steven     New York     04952
BillyBobs       Texas        04035
Nunya           California   04859

表 2

GroupID     Description    SalesVolume
04952       Even Steven    59003
04035       BillyBobs      98390
04859       Nunya          50194   

出于所有意图和目的,GroupNameDescription 是同一事物的不同名称 (GroupName = Description)

我想做的是设置一些东西,这样当我在 GroupName 上过滤 Table1 时,Table2 也会被过滤。 所以如果我过滤掉即使是表1中的史蒂文,那么表2也只会显示BillyBobs和Nunya。

我当前的 Power Query 脚本如下所示(注意:我有另一个名为 "Query" 的 table,它只是一个未过滤的 SELECT * FROM dbo.Table,我将其用作源对于 Table2。Table1 来自同一数据库中的另一个 table):

let
    Source = Excel.CurrentWorkbook(){[Name="Query"]}[Content],
    #"Changed Type" = Table.TransformColumnTypes(Source,{{"Month Year", type date}}),
in
    #"Removed Columns"

我认为我需要添加类似于以下在线示例的步骤,但我不知道怎么说我只想要在组 table 上可见的行。

Table.SelectRows(Sales_Customers, each List.Contains(Query, [CustomerCategoryID]))

首先,我们需要一些方法让 PowerQuery 知道某行是否已被过滤。一种方法是使用 SUBTOTAL 函数。使用以下公式向 Table1 添加一个新的 Subtotal 列:

=IF(SUBTOTAL(104,[@GroupID])=[@GroupID], "Visible", "Hidden")

现在将 Table1 合并到匹配 Table1[GroupName]Table2[Description]Table2 中。

仅展开 Subtotal 列,然后仅过滤可见行。