#powerbi #formula #dax #powerquery #calculated-columns
#powerbi #формула #dax #powerquery #вычисляемые столбцы
Вопрос:
Мне нужен вычисляемый столбец на основе условий в двух столбцах (номер бизнес-единицы в обеих таблицах и категории L1 / Account в 1-й таблице и второй таблице), которые суммируются, а затем повторяются для нескольких строк до изменения условий, и новая сумма повторяется для нескольких строк и так далее. Столбцы категорий L1 / Account имеют разные имена, потому что это необработанные данные.
Например, каждый раз, когда АКТИВЫ и 111 появляются в одной строке, я бы хотел использовать их как условия и с суммой всех других совпадающих строк в новом столбце, и сумма будет повторяться каждый раз, когда оба условия появляются в одной строке. Каждый раз, когда P / L и 111 появляются в одной строке, это будет суммой всех других отображений P / L и 111 в наборе данных (всего около 1000 строк)… и так далее.
Я пробовал формулы с DAX, используя FILTER, SUMX, вложенные операторы IF, а также пробовал язык запросов Power среди других попыток. Может быть, мне нужно создать одну или несколько новых таблиц? Если вам нужно взглянуть на несколько моих попыток, просто дайте мне знать.
Верхнее изображение — это то, как я представляю, как будет выглядеть результат в редакторе power query, а нижнее изображение — образец исходных данных.
Этот последний рисунок взят из таблицы — мне нужно создать таблицу в Power BI, которая по сути является дубликатом этого изображения. Последние 2 столбца извлекаются из разных таблиц.
Ответ №1:
Этого должно быть очень просто достичь с помощью отношений и мер — нет необходимости в вычисляемых столбцах или объединениях запросов мощности. Вам нужно построить связь между этими двумя таблицами. Фактически, я бы представил третью таблицу в вашей модели для бизнес-подразделения.
Ограничение отношений модели Power BI заключается в том, что они могут основываться только на одном столбце. Итак, чтобы построить связь между этими двумя таблицами, вам нужно будет добавить вычисляемый столбец в обе из них, который будет содержать как BU, так и строку финансового отчета, например: JoinCol = CONCATENATE([Business_Unit_Number], [L1])
. Затем вы можете создать связь и делать то, что хотите.
Лучшим (который я бы рекомендовал) подходом было бы выделить бизнес-единицу в отдельную таблицу и построить отношения следующим образом:
Затем все, что вам нужно сделать в вашем визуальном представлении, это перетащить название бизнес-единицы из таблицы BU, L1 из таблицы строк FS и показатель для суммирования сумм Amount = SUM('Financial Data'[Rolled Up Detail])
.
Вот рабочий пример: https://1drv.ms/u/s !AmqvMyRqhrBpgtUT5HKnZP1U3Gzc9w?e=en91dV