PowerQuery COUNTIF 以前的日期

PowerQuery COUNTIF Previous Dates

我对 PowerQuery 有点生疏。
我需要在同一个 table.

中计算 "previous" 个条目

例如,假设我们有 table 的汽车销量。
出于 PowerQuery 的目的,此 table 将被命名为 tblCarSales

我需要添加两个聚合列。

第一个聚合列是以前的销售计数。
Excel 公式为 =COUNTIF([Sale Date],"<"&[@[Sale Date]])

第二个汇总列是 .
之前的销售计数 Excel 公式为 =COUNTIFS([Sale Date],"<"&[@[Sale Date]],[Make],[@Make])

如何在 PowerQuery 中实现此行为,而不是使用 Excel 公式?
例如,我从源语句开始:

let
    Source = Excel.CurrentWorkbook(){[Name="tblCarSales"]}[Content]
in
    Source

... 其中源 table 仅提供 MakeModelSale Date 列。

您可以使用 List 和 Table 函数来完成此类操作。我会展示两者。

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 Primer