我对 PowerQuery 有点生疏。
我需要计算同一个表中的“先前”条目。
例如,假设我们有一张汽车销售表。
出于 PowerQuery 的目的,该表将被命名为tblCarSales
我需要添加两个聚合列。
第一个聚合列是以前的销售计数。
Excel 公式为=COUNTIF([Sale Date],"<"&[@[Sale Date]])
第二个聚合列是之前的销售计数by make.
Excel 公式为=COUNTIFS([Sale Date],"<"&[@[Sale Date]],[Make],[@Make])
如何在 PowerQuery 中而不是使用 Excel 公式来完成此行为?
例如,我从源语句开始:
let
Source = Excel.CurrentWorkbook(){[Name="tblCarSales"]}[Content]
in
Source
...源表仅提供Make
, Model
, and Sale Date
列。
您可以使用列表和表格函数来完成此类操作。我会展示两者。
let
Source = Excel.CurrentWorkbook(){[Name="tblCarSales"]}[Content],
#"Added Custom" = Table.AddColumn(Source, "Previous Sale Count",
(C) => List.Count(List.Select(Source[Sale Date],
each _ < C[Sale Date]))),
#"Added Custom1" = Table.AddColumn(#"Added Custom", "Previous Sale Count By Make",
(C) => Table.RowCount(Table.SelectRows(Source,
(S) => S[Sale Date] < C[Sale Date] and S[Make] = C[Make])))
in
#"Added Custom1"
我们必须使用这些函数,以便 Power Query 知道我们正在查看的列的上下文。要进一步阅读,请查看此Power Query M 入门 https://bengribaudo.com/blog/2017/12/08/4270/power-query-m-primer-part3-functions-function-values-passing-returning-defining-inline-recursion.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)