#powerbi #dax
#powerbi #dax
Вопрос:
Я пытаюсь получить максимальное количество определенного столбца в отчете Power BI и поместить это как новую меру в каждую СТРОКУ того же набора данных. Пожалуйста, смотрите пример ниже.
Возможно ли это в DAX и через DirectQuery / LiveConnection? Отчет указывает на табличную модель, но из-за внешних факторов мера должна быть создана в отчете.
Спасибо
Комментарии:
1. Что вы исследовали / пробовали на данный момент?
2. Поскольку вы используете агрегированное значение, думали ли вы об использовании меры вместо вычисляемого столбца?
3. Спасибо, M D, но вычисляемые столбцы невозможны при живом подключении к табличным моделям, отсюда и маршрут измерения.
Ответ №1:
Вы можете добиться этого несколькими способами. По сути, вам нужно переопределить контекст фильтра, чтобы функция MAX не просто выполнялась над любым фрагментом, который вы показываете в визуальном представлении. Используя CALCULATE или функцию итератора MAXX, установите параметр «Обернуть таблицу» в функции ALL(), чтобы переопределить контекст и вычислить максимальное количество по всем строкам.
= CALCULATE(MAX([Calendar`Year]), ALL('Smithfield_Fiscal_Calendar'))
или
= MAXX(ALL('Smithfield_Fiscal_Calendar'), [Calendar`Year])
Чтобы получить разбивку по дате, вам нужно включить таблицу дат в вашу модель. PowerBI делает это возможным с помощью нескольких различных параметров DAX. В качестве примера перейдите на вкладку вашей модели, нажмите «Новая таблица» и введите следующее выражение:
MyCalendar = CALENDAR(DATE(2019,1,1), DATE (2019,1,10))
Это немного тривиально — вы хотели бы использовать полезный диапазон дат, но этот соответствует вашему примеру выше. Затем добавьте столбец в [MyCalendar]
CalendarMonthYear = month([date]) amp; "-" amp; year([date])
Перейдите в свою таблицу бюджета и добавьте аналогичное поле
BudgetMonthYear = month([date]) amp; "-" amp; year([date])
Перейдите в представление модели и создайте взаимосвязь между календарным месяцем и бюджетным месяцем. Это свяжет каждую дату в таблице дат с конкретной строкой бюджета из вашей бюджетной таблицы.
Надеюсь, это поможет.
Комментарии:
1. Спасибо, Райан, но это выдает значение только для даты, на которую существует бюджет, а не для каждого дня. Например, мы получаем бюджет на 2-й день каждого месяца, и мне нужно было бы видеть, как это повторяется в каждой строке для каждого дня в этом месяце.
2. Хорошо, вам понадобится таблица дат. Это довольно стандартный элемент в решениях BI, и в Интернете о них есть много информации. По сути, это новая таблица, в которой перечислены строки для каждого дня календаря и множество других параметров. Вам нужно будет добавить в таблицу бюджета поле, в котором указаны только месяц и год, и присоединить его к месяцу / году в таблице дат. Это свяжет одну строку бюджета со всеми датами в таблице дат за этот месяц. Это требует немного усилий, но это не так уж плохо и, вероятно, то, что вы будете делать часто.