Есть несколько способов сделать это; например:
Total Team w/ one city =
COUNTROWS ( FILTER ( VALUES ( Data[Team] ), [# of Cities] = 1 ) )
Как это работает:
ЗНАЧЕНИЯ создает список отдельных команд. Затем список фильтруется для показателя числа городов = 1 на команду, и подсчитываются строки отфильтрованного списка.
Аналогично, вы можете использовать функцию SUMX:
Total Team w/ one city =
SUMX( VALUES(Data[Team]), IF([# of Cities] = 1, 1))
Другим распространенным подходом является использование функции SUMMARIZE:
Total Team w/ one city =
COUNTROWS (
FILTER (
SUMMARIZE ( Data,
Data[Team],
"City Count", [# of Cities] ),
[City Count] = 1 )
)
Здесь мы сначала группируем таблицу данных по командам и рассчитываем показатель количества городов каждой команды. Затем сгруппированная таблица фильтруется, оставляя только команды с числом городов = 1. Затем подсчитываются строки отфильтрованной таблицы. Преимущество этого подхода по сравнению с первым состоит в том, что SUMMARIZE позволяет группировать таблицу по нескольким столбцам, тогда как VALUES допускает только один. Тем не менее, первая формула быстрее (важно, если ваш набор данных большой).
Кстати, формулу # of Cities можно немного упростить:
# of Cities = CALCULATE(DISTINCTCOUNT(Data[City]), Data'[Employees]>0)