在 Power BI 中对数据排序后计算组的行数

Count rows of groups after sorting data in Power BI

我有一个包含以下列的 table:

我已经对 table 进行了排序,以从最新到最早的日期降序排列数据。我想计算一起购买的相同产品的数量。例如:对 table 进行排序后,我的产品列将显示为 A,A,B,B,B,B,C,C,C,C,C,C,B,B,B,A,一个,一个,一个,一个…… 我想要的是将它们分组 n 计算在一起的相同产品的数量:

有谁知道如何在 Power BI 中执行此操作?即使在不同的日期 背靠背 多次购买相同的产品,我仍然希望将它们(相同的产品)分组在一起进行计数。提前致谢。

订购数据后,在 power query editor 中添加一个索引列,如下所示-

现在创建一个 Measure 如下-

consecutive_count = 

var current_row_product = MAX('your_table_name'[product])
var current_row_index = MAX('your_table_name'[Index])
var next_row_index = max('your_table_name'[Index]) + 1

var next_row_product = 
CALCULATE(
    MAX('your_table_name'[product]),
    FILTER(
        ALL('your_table_name'),
        'your_table_name'[Index] = next_row_index
    )
)

var min_consecutive_product_index = 
CALCULATE(
    MAX('your_table_name'[Index]),
    FILTER(
        ALL('your_table_name'),
        'your_table_name'[Index] <= current_row_index
        && 'your_table_name'[product] <> current_row_product
    )
) + 0

return 
if(
    next_row_product <> current_row_product, 
    current_row_index - min_consecutive_product_index
)

现在将索引、产品和新度量添加到 table 视觉效果,最终输出将如下所示-

First column Index 可能看起来很烦人但你不能删除。但是您可以使用第一列的 0 宽度来处理,这样最终用户就看不到该列。


更新

Power Query 编辑器 中找到了一种非常特殊的方法。只需按照以下步骤操作-

  1. 复制您的基础 table 并创建一个新的 table 以便基础值保持不变。
  2. 仅保留产品列以确保订单不变。这看起来像下面-

  1. 现在应用带有附加参数的分组依据,如下图中以红色标记的。您可以通过这些非常简单的步骤看到预期的输出。

现在您有了物理 table,您可以在任何需要的地方使用这个新值。