电源查询 - 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
出于所有意图和目的,GroupName
和 Description
是同一事物的不同名称 (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
列,然后仅过滤可见行。
我在 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
出于所有意图和目的,GroupName
和 Description
是同一事物的不同名称 (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
列,然后仅过滤可见行。