Excel dax 计算值之间的行数

Excel dax count rows that evaluate between values

我对 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 约翰

假设您的 table 名字是 "Fact"。

测量:

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

工作原理: 首先,在 FILTER 函数中计算 A/B 比率并将其存储在一个变量中。然后table在你需要的范围内按比例过滤。最后,计算过滤后的 table 行。