首页 > 解决方案 > 具有多个条件的 Power BI 累积计数

问题描述

有人知道如何将 RunningCount 转换为 Power bi Dax 吗?我在 RunningTotal、Rankx 上进行测试,但似乎无法正常工作。[year] 只是一个文本列,不是日期时间格式。

我对此仍然很陌生,不确定我的解释是否足够好。如有不便之处,敬请原谅。

我尝试根据下面的公式在 power bi 中创建度量/计算列。我需要按年份计数,按产品、客户、费率和类别等列进行细分。

标签: powerbi

解决方案


在我进入我的解决方案之前,我必须做出一些假设:

  1. “年份”列应该是年份,而不是五位数字。因此,在我的数据中,我删除了每个数据中的第二个“2”(即“20213”->“2013”​​)。
  2. 您的数据中可能有另一列可以打破平局,但鉴于您提供的数据,无法对第一行和第三行进行排名(它们都有产品 ABC 和 2003 年)。

鉴于这些假设,这是我的解决方案......

首先,这是我的数据的样子。我添加了一个 ID 列,以便我们可以看到每一行,甚至是重复的。

数据

从那里,您可以使用以下公式简单地添加一个新列。

Running Count = 
    COUNTROWS(
        FILTER(
            'Data',
            [ProductName] = EARLIER([ProductName]) &&
            [Customer] = EARLIER([Customer]) &&
            [Seller] = EARLIER([Seller]) &&
            [Year] <= EARLIER([Year])
        )
    )

EARLIER函数用于从要用于过滤数据的表的行中指定 ProductName、Customer 等。一旦我们过滤了数据,我们就可以简单地计算行数。

最终结果如下所示。正如我在第二个假设中所指出的,没有办法打破平局,所以我的数字与您在屏幕截图中的数字略有不同

在此处输入图像描述


推荐阅读