📜  power bi 累积不同计数 (1)

📅  最后修改于: 2023-12-03 14:45:37.162000             🧑  作者: Mango

Power BI 累积不同计数

在 Power BI 中,我们经常需要对数据进行聚合和计数。而在某些情况下,我们需要计算累积不同的计数,也就是每一行都需要考虑之前所有行中的不同计数。

下面是一些场景举例:

  • 一个在线商店需要统计每天不同的顾客数量;
  • 一个游戏公司需要统计每天不同的玩家数量;
  • 一个社交媒体公司需要统计每天不同的活跃用户数量。

在这些场景下,我们需要能够累积计算每天不同的计数。下面是一个示例数据:

| 日期 | 用户名 | | ---------- | ------ | | 2022/01/01 | A | | 2022/01/01 | B | | 2022/01/01 | A | | 2022/01/02 | A | | 2022/01/02 | C | | 2022/01/02 | B | | 2022/01/03 | A | | 2022/01/03 | C | | 2022/01/03 | D |

我们需要计算每天不同的用户名数量,得到下面的结果:

| 日期 | 不同用户名计数 | | ---------- | -------------- | | 2022/01/01 | 2 | | 2022/01/02 | 3 | | 2022/01/03 | 4 |

现在我们来看看如何在 Power BI 中实现这个功能。

方法

方法很简单,我们可以通过 DAX 函数中的 DISTINCTCOUNT()CALCULATE() 来实现。下面是具体步骤:

  1. 点击 Power BI Desktop 工具栏中的“视图”按钮,在“编辑器选项”中启用 DAX 编辑器。

  2. 新建一个表格视力,将日期和用户名这两个字段拖入行区域。

  3. 在“值”区域右键单击,选择“添加聚合”,选择“计数”函数,设置为“不同的计数”。

    add distinct count

  4. 单击新创建的计数列,进入“字段”选项卡,并将“值过滤器”选项设置为“不等于空”。

    value filter

  5. 使用以下 DAX 公式计算累积不同的计数:

    Cumulative Count = 
        CALCULATE(
            DISTINCTCOUNT('MyTable'[Username]),
            FILTER(
                ALL('MyTable'),
                'MyTable'[Date] <= MAX('MyTable'[Date])
            )
        )
    

    此公式使用 CALCULATE() 函数和 FILTER() 函数计算直到当前行为止所有日期的不同用户名数量,并使用 ALL() 函数将过滤器应用于整个数据集。

  6. 将公式拖动到新列“累积不同计数”中。

    cumulative count

结论

现在您已经知道如何使用 Power BI 累积计算不同的计数了。使用 DAX 函数和 Power BI 的强大功能,我们可以轻松地计算和分析各种复杂数据。