Формула DAX для COUNT () или DISCTINTCOUNT () в зависимости от условия? - PullRequest
0 голосов
/ 17 октября 2019

Я хочу включить новый показатель с помощью формулы DAX в сводную таблицу. У меня есть следующая формула DAX для подсчета уникальных значений в столбце Column1

= DISTINCTCOUNT(Table1[Column1])

. Как я могу COUNT () значения, равные "XYZ" и DISTINCTCOUNT () значения, отличные от "XYZ". Я пробовал что-то подобное, но это не работает.

=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   |
+----+---+---+-----+

1 Ответ

1 голос
/ 17 октября 2019

Таблица вывода полезна.

Я думаю, что вы хотите что-то вроде этого:

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] )
)
...