DAX 公式根据条件计算为 COUNT() 或 DISCTINTCOUNT()?
DAX formula to COUNT() or DISCTINTCOUNT() based on condition?
我想在 Pivot Table 中包含一个使用 DAX 公式的新度量。我有以下 DAX 公式来计算 Column1
中的唯一值
= DISTINCTCOUNT(Table1[Column1])
如何计算等于 "XYZ" 的 COUNT() 值和不同于 "XYZ" 的 DISTINCTCOUNT() 值。我试过类似的方法,但没有用。
=IF(Table1[Column1] <> "XYZ",
DISTINCTCOUNT(Table1[Column1]),
COUNT(Table1[Column1])
样本输入
+----+---------+---------+
| Id | Column1 | Column2 |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | DEF | A |
+----+---------+---------+
| 1 | GHI | B |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | IIU | XYZ |
+----+---------+---------+
| 1 | HYW | A |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | ABC | B |
+----+---------+---------+
| 1 | WQW | XYZ |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | RTT | XYZ |
+----+---------+---------+
| 1 | PPO | XYZ |
+----+---------+---------+
我正在寻找的输出:
+----+---+---+-----+
| ID | A | B | XYZ |
+----+---+---+-----+
| 1 | 3 | 2 | 4 |
+----+---+---+-----+
输出 table 很有帮助。
我想你想要这样的东西:
IF (
SELECTEDVALUE ( Table1[Column2] ) = "XYZ",
COUNT ( Table1[Column2] ),
DISTINCTCOUNT ( Table1[Column1] )
)
如果您的过滤器上下文中只有一个值,并且该值为 "XYZ"
,那么您计算 "XYZ"
的出现次数。否则,计算不同 Column1
值的数量。
如果使用不支持 SELECTEDVALUE
的旧版本,试试这个:
count =
IF (
IF ( HASONEVALUE ( Table1[Column2] ), VALUES ( Table1[Column2] ) ) = "XYZ",
COUNT ( Table1[Column2] ),
DISTINCTCOUNT ( Table1[Column1] )
)
我想在 Pivot Table 中包含一个使用 DAX 公式的新度量。我有以下 DAX 公式来计算 Column1
中的唯一值= DISTINCTCOUNT(Table1[Column1])
如何计算等于 "XYZ" 的 COUNT() 值和不同于 "XYZ" 的 DISTINCTCOUNT() 值。我试过类似的方法,但没有用。
=IF(Table1[Column1] <> "XYZ",
DISTINCTCOUNT(Table1[Column1]),
COUNT(Table1[Column1])
样本输入
+----+---------+---------+
| Id | Column1 | Column2 |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | DEF | A |
+----+---------+---------+
| 1 | GHI | B |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | IIU | XYZ |
+----+---------+---------+
| 1 | HYW | A |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | ABC | B |
+----+---------+---------+
| 1 | WQW | XYZ |
+----+---------+---------+
| 1 | ABC | A |
+----+---------+---------+
| 1 | RTT | XYZ |
+----+---------+---------+
| 1 | PPO | XYZ |
+----+---------+---------+
我正在寻找的输出:
+----+---+---+-----+
| ID | A | B | XYZ |
+----+---+---+-----+
| 1 | 3 | 2 | 4 |
+----+---+---+-----+
输出 table 很有帮助。
我想你想要这样的东西:
IF (
SELECTEDVALUE ( Table1[Column2] ) = "XYZ",
COUNT ( Table1[Column2] ),
DISTINCTCOUNT ( Table1[Column1] )
)
如果您的过滤器上下文中只有一个值,并且该值为 "XYZ"
,那么您计算 "XYZ"
的出现次数。否则,计算不同 Column1
值的数量。
如果使用不支持 SELECTEDVALUE
的旧版本,试试这个:
count =
IF (
IF ( HASONEVALUE ( Table1[Column2] ), VALUES ( Table1[Column2] ) ) = "XYZ",
COUNT ( Table1[Column2] ),
DISTINCTCOUNT ( Table1[Column1] )
)