📅  最后修改于: 2023-12-03 14:45:37.162000             🧑  作者: Mango
在 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()
来实现。下面是具体步骤:
点击 Power BI Desktop 工具栏中的“视图”按钮,在“编辑器选项”中启用 DAX 编辑器。
新建一个表格视力,将日期和用户名这两个字段拖入行区域。
在“值”区域右键单击,选择“添加聚合”,选择“计数”函数,设置为“不同的计数”。
单击新创建的计数列,进入“字段”选项卡,并将“值过滤器”选项设置为“不等于空”。
使用以下 DAX 公式计算累积不同的计数:
Cumulative Count =
CALCULATE(
DISTINCTCOUNT('MyTable'[Username]),
FILTER(
ALL('MyTable'),
'MyTable'[Date] <= MAX('MyTable'[Date])
)
)
此公式使用 CALCULATE()
函数和 FILTER()
函数计算直到当前行为止所有日期的不同用户名数量,并使用 ALL()
函数将过滤器应用于整个数据集。
将公式拖动到新列“累积不同计数”中。
现在您已经知道如何使用 Power BI 累积计算不同的计数了。使用 DAX 函数和 Power BI 的强大功能,我们可以轻松地计算和分析各种复杂数据。