Вопрос или проблема
У меня есть визуализация таблицы в Power BI, и я хочу отобразить данные в столбце на основе условия из другого столбца. В загруженном наборе данных есть страна, пользователи и счета. В визуализации таблицы я хочу показать только количество пользователей с счетом >1.
Что у меня есть в наборе данных:
страна | пользователи | счет |
---|---|---|
Америка | пользователь1 | 1 |
Америка | пользователь1 | 1 |
Америка | пользователь1 | 1 |
Америка | пользователь2 | 1 |
Америка | пользователь2 | 1 |
Великобритания | пользователь4 | 1 |
Великобритания | пользователь4 | 1 |
Великобритания | пользователь5 | 1 |
Великобритания | пользователь6 | 1 |
Что я хочу увидеть в визуализации таблицы:
страна | количество пользователей с счетом больше 1 |
---|---|
Америка | 2 |
Великобритания | 1 |
Я создал следующий фильтр, но он показывает неправильные числа:
_filter = if(SUM(‘Table'[Bill])>1, 1,0)
Ответ или решение
Для выполнения агрегации и фильтрации данных в Power BI, вы можете создать новую меру с помощью языка DAX (Data Analysis Expressions) и использовать его в таблице визуализации. Ваша задача заключается в подсчете количества уникальных пользователей, у которых сумма биллов превышает 1 для каждой страны.
В вашем случае в исходных данных содержатся столбцы: "country", "users" и "bill". Для того чтобы получить нужные результаты, выполните следующие шаги:
-
Создать новую меру:
Перейдите в "Модель данных" Power BI и создайте новую меру. Для этого в панели полей щелкните правой кнопкой мыши на таблице, к которой вы хотите добавить меру, и выберите "Новая мера". -
Напишите DAX-выражение:
Введите следующее DAX-выражение для вашей новой меры:CountUsersWithBillGreaterThan1 = CALCULATE( DISTINCTCOUNT('Table'[users]), FILTER( 'Table', 'Table'[bill] > 1 ) )
Это выражение делает следующее:
CALCULATE
изменяет контекст, в котором вычисляется результат.DISTINCTCOUNT
считает уникальные значения пользователей.FILTER
выбирает только те строки, у которых значение столбца "bill" больше 1.
-
Создайте таблицу визуализации:
Перейдите к визуализации таблицы. Добавьте поле "country" в строки и созданную меру "CountUsersWithBillGreaterThan1" в значения. -
Настройка фильтров (если необходимо):
Убедитесь, что включены правильные фильтры, чтобы отображать только те данные, которые вам нужны. В данном случае дополнительная фильтрация может быть не обязательна, так как вы уже используете фильтр в DAX-выражении.
Теперь в вашей таблице визуализации должны отображаться страны и количество уникальных пользователей с биллом, превышающим 1.
Вот и все шаги для выполнения вашей задачи по агрегации и добавлению данных в Power BI. Если у вас возникнут дополнительные вопросы, не стесняйтесь спрашивать!