Power BI中如何实现Excel中条件计数COUNTIF函数?

故事背景

昨天有同事询问,需要使用Power BI统计某张表的编码或者订单号出现的次数,有点类似Excel中的countif函数,但是不知如何实现?PowerBI有没有类似的函数呢?

解决方案

根据需求对数据信息进行统计是个很常见的需求,如果是在Excel中,我相信大家肯定会使用Excel的COUNTIF函数来计算,但是在PowerBI中确实没有与COUNTIF函数功能完全相同的函数。

那我们在Power BI中怎么才能实现这个需求?我们可以使用DAX创建新列或新建度量值来统计信息出现的次数。

以下是两种方法的步骤和示例:

举例,假如样例数据源表如下,我们需要统计表中【客户名称】出现的次数。

图片

Solution1:通过创建新列

1,打开Power BI Desktop:启动Power BI Desktop 应用程序。

2,加载数据:通过“获取数据”连接到包含你想要分析的数据的数据源。这里是连接本地Excel样例表。

图片

3,创建新列:

在你想要添加新列的表,点击【报表视图】->【表工具】 ->【新建列】。

图片

4,在公式栏中,编写DAX公式:

使用COUNTROWS函数结合FILTER函数来统计每个客户名称出现的次数。例如,假设你的表名为订单表,客户名称的列名为客户名称,你可以使用以下DAX公式:CountNums =

CALCULATE(     COUNTROWS('销售表'),     FILTER(          '销售表',          '销售表'[客户名称]=EARLIER('销售表'[客户名称])          ))

这个公式中,EARLIER函数用于引用当前行的客户名称值。

图片

5,确认并应用:

输入公式后,按Enter键确认。

我们可以看到Power BI将计算每个客户名称出现的次数,并在新列中显示。


Solution2:通过创建度量值

1,打开Power BI Desktop。

2,加载数据:通过“获取数据”连接到包含你想要分析的数据的数据源。这里是连接本地Excel样例表。

图片

3,创建度量值:

在你想要添加新列的表,点击【报表视图】->【表工具】 ->【新建度量】。

图片

4,在公式栏中,编写DAX公式:

使用COUNTROWS函数结合FILTER函数来创建一个度量值,用于统计每个客户名称出现的次数。使用以下DAX公式:

CountNums_Measure= CALCULATE(     COUNTROWS('销售表'),     FILTER(          '销售表',          '销售表'[客户名称]='销售表'[客户名称]      ))

这个公式中,我们没有使用EARLIER函数,因为度量值默认在行上下文中进行计算。

图片

5,确认并应用:

输入公式后,按Enter键确认。

现在你可以将这个度量值添加到视觉对象中,如表格或卡片,以展示每个客户名称出现的次数。

图片

在实际应用中,选择哪种方法取决于你的具体需求和数据模型的复杂性。通常,对于简单的计数和直接的数据操作,新列是一个好选择。而对于需要优化性能和实现复杂交互的高级分析,度量值可能更合适。

今天分享结束,感谢大家的支持。请大家持续订阅和关注我的公众号: PowerBI工坊

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值