首页 > 解决方案 > Excel dax 计算在值之间求值的行数

问题描述

我对dax有点陌生,想知道是否有人可以帮助我:

我需要一个度量满足特定条件的行数,并且将 A 列的每一行与 B 列相除的结果在特定范围内。这是一个示例,我将如何在 Excel 中解决它:

+-----+-----+-------------------+
|  A  |  B  | Calculated column |
+-----+-----+-------------------+
| 1,4 | 1,3 | 108 %             |
| 1,1 | 1,4 | 79 %              |
| 0,8 | 1,1 | 73 %              |
|   1 | 1,3 | 77 %              |
| 1,3 | 1,4 | 93 %              |
| 1,1 |   1 | 110 %             |
| 1,3 | 1,3 | 100 %             |
| 1,5 | 0,8 | 188 %             |
| 0,9 | 1,4 | 64 %              |
| 1,1 |   1 | 110 %             |
+-----+-----+-------------------+

结果:5

Excel 中的公式:=COUNTIFS(E8:E17;">=0,9";E8:E17;"<=1,1")

我可以在 powerpivot 中做同样的事情:创建一个计算列,将 A 列与 B 列相除,然后计算该列中落在特定范围内的行数,但我会有很多范围并希望避免如果可能,所有这些额外的列。

是否有可能以一种方式计算出来?

BR约翰

标签: exceldaxpowerpivot

解决方案


假设您的表名是“Fact”。

措施:

   Result     =
        COUNTROWS ( 
          FILTER ( 'Fact',
            VAR Ratio = DIVIDE ( 'Fact'[A], 'Fact'[B] ) 
            RETURN Ratio >= 0.9 && Ratio <= 1.1 ))

它是如何工作的:首先,在 FILTER 函数内部计算 A/B 比率并将其存储在一个变量中。然后按您需要的范围内的比率过滤表格。最后,计算过滤表的行数。


推荐阅读