首页 > 解决方案 > 适用于 Power BI 卡的 DAX 中的 COUNTIF

问题描述

这是我的示例表(对于这个报告,我只使用一个表,所以没有表关系链接可以抗衡):

成本中心 项目 发票审批人
123 AB 人一
123 AB 第二个人
123 Z Z 人一
456 结核病 第三人

我已经写了一个措施Approver = COUNT('Table'[Invoice Approver])。在上面的示例中,Approver = 4.

我创建了一个新表,显示具有 1 个批准者的组合。该表显示 123|ZZ 和 456|TB(注意:对于此表,不需要显示审批人,只需显示唯一的成本中心/项目组合)。

我的下一步是制作一张显示过滤器净数量的卡片: 2. 但在编写 DAX 度量时我需要帮助。

我尝试了以下 DAX 公式:

代码 结果
1InvApp = COUNTROWS(FILTER('Table',[Approver]="1")) “DAX 比较操作不支持将 Integer 类型的值与 Text 类型的值进行比较。”
1InvApp = COUNTROWS(FILTER('Table',[Approver]=1)) 空白(文本)
1InvApp = CALCULATE(COUNTROWS('Table'),[Approver]="1") “函数‘CALCULATE’已被用在用作表过滤器表达式的真/假表达式中。”
1InvApp = CALCULATE(COUNTROWS('Table'),[Approver]=1) “函数‘CALCULATE’已被用在用作表过滤器表达式的真/假表达式中。”
1InvApp = COUNTX('Table',[Approver]="1") “DAX 比较操作不支持将 Integer 类型的值与 Text 类型的值进行比较。”
1InvApp = COUNTX('Table',[Approver]=1) “函数 COUNTX 不能使用布尔类型的值。”
1InvApp = COUNTAX(FILTER('Table',[Approver]=1),'Table'[Approver]) 空白(文本)
1InvApp = COUNTAX(FILTER('Table',[Approver]="1"),'Table'[Approver]) “DAX 比较操作不支持将 Integer 类型的值与 Text 类型的值进行比较。”
1InvApp = COUNTROWS(FILTER(ALL('Table'),[Approver]=1))这里建议) 空白(文本)

问题:显示所需总结果 2 的正确 DAX 语法是什么?

提前致谢。

标签: powerbidax

解决方案


您可以分两步执行此操作:首先:

Measure = CALCULATE(COUNT('Table'[Invoiced]), FILTER(ALL('Table'), SELECTEDVALUE('Table'[Cost Centre]) = 'Table'[Cost Centre] && 'Table'[Project] = SELECTEDVALUE('Table'[Project]))) 

秒:

OnlyOne = CALCULATE(COUNTROWS(CALCULATETABLE('Table', FILTER('Table', var __xx = [Measure] return [Measure] = 1))))

在此处输入图像描述


推荐阅读