1

我有一个包含以下列的表格:

  • 不同的产品:A、B、C...
  • 购买日期和时间。

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

  • A2
  • B - 4
  • C - 6
  • B - 3
  • 一个 - 4
  • C - 1...

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

4

1 回答 1

0

订购数据后,在电源查询编辑器中添加一个索引列,如下所示 -

在此处输入图像描述

现在创建一个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
)

现在将索引、产品和新度量添加到可视化表中,最终输出如下 -

在此处输入图像描述

第一列索引可能看起来很烦人,但您无法删除。但是您可以对第一列使用 0 宽度来处理,这样最终用户就看不到该列。


更新

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

  1. 复制您的基表并创建一个新表,以便基值保持不变。
  2. 仅保留产品列,确保订单不变。这将如下所示 -

在此处输入图像描述

  1. 现在使用附加参数应用 group by,如下图红色标记。您可以通过这些非常简单的步骤看到您的预期输出。

在此处输入图像描述

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

于 2022-02-17T04:05:30.523 回答