我有一个数据集,其中包含 5 年以上的销售预测数据。
每行都有客户、项目类型、年份、数量和销售价格。
并非所有客户在所有年份都购买所有产品。
我想获取在所有列出的年份中购买的所有产品的列表。
一个示例,缩减表如下所示:
客户 产品 年份 数量 价格 CustA ProdA 2020 50 100 CustA ProdA 2021 50 100 CustA ProdA 2022 50 100 CustA ProdB 2020 50 100 CustA ProdB 2021 50 100 CustA ProdC 2021 50 100 CustA ProdC 2022 50 100 CustA ProdD 2020 50 100 CustA ProdD 2021 50 100 CustA ProdD 2022 50 100 CustB ProdA 2021 50 100 CustB ProdA 2022 50 100 CustB ProdC 2020 50 100 CustB ProdC 2021 50 100 CustB ProdC 2022 50 100 CustB ProdD 2020 50 100 CustB ProdD 2021 0 100 CustB ProdD 2022 50 100
并转置,看起来像这样:
客户产品 2020 2021 2022 CustA ProdA 50 50 50 CustA ProdB 50 50 CustA ProdC 50 50 客户产品 50 50 50 CustB ProdA 50 50 CustB 产品 50 50 50 CustB 产品 50 0 50
因此,对于此示例,我想对所有三年都有销售数量的行进行计算或指示。我试图使用以下公式与集合中的最大年数进行比较,以将行标记为有效或无效,但它正在杀死 Excel。源表中只有 32,000 行。
=CALCULATE(
DISTINCTCOUNT(DataTable[Year]),
filter(DataTable, DataTable[Product] = EARLIER(DataTable[Product])),
filter(DataTable, DataTable[Customer] = EARLIER(DataTable[Customer])),
filter(DataTable, DataTable[Qty] > 0)
)
我可以为此使用更好的方法吗?

