Конечно, такие вещи удобнее и правильнее делать в DAX, но иногда всё же возникает необходимость посчитать проценты на этапе подготовки данных.
Так как сейчас Power Query есть и в Excel, и в Power BI, то представленный метод можно использовать в обоих инструментах.
Первым шагом подготовим исходную таблицу данных:
Для начала посчитаем % массы каждого продукта от общей суммы.
Добавляем расчётный столбец со следующей формулой:
Обратите внимание, что функцию и имя предыдущего шага надо ввести вручную, иначе получите сообщение об ошибке:
В результате получим колонку с процентами от суммы всех значений в колонке «Масса»:
Теперь добавим колонку с процентным соотношением в изделии, то есть суммируем не всё, а по изделию.
Добавляем расчётный столбец с формулой:
Тут почти всё придётся вводить вручную.
В результате получим ещё одну колонку с удельным весом продукта в изделии:
При желании можно изменить тип колонок на «%», но мы не советуем этого делать 🙂
Коды для копирования:
1. Процент от общего
=[Масса]/List.Sum(#"Renamed Columns"[Масса])
2. Процент по категориям
=[Масса]/Table.SelectRows(Table.Group(#"Added Custom", {"Изделие"}, {{"Общий", each List.Sum([Масса]), type number}}), each ([Изделие] = [Изделие])) {[Изделие=[Изделие]]}[Общий]
Колонку «Общий» можно не менять — это промежуточный расчёт.
Загрузим полученную таблицу в модель данных и без использования DAX имеем таблицу вида:
Статья подготовлена по материалам блога EXCEL OFF THE GRID.
Картинки утеряны