Всё, что может быть подсчитано, должно быть рассчитано! Работая в Excel, можно вспомнить о дополнительных вычислений в сводных таблицах. Но! В каждом отчете возникает необходимость в добавлении поля, выбор вычисления, изменении имени поля. А при создании вычисляемых полей – мер – в Power Pivot, значительно сокращается количество действий. Ведь подобную настройку мы делаем при создании меры, т.е. один раз!
Формула выглядит так: Доля продажи, %:=SUMX(‘БытоваяТехника’; ‘БытоваяТехника'[Цена за шт, р]*‘БытоваяТехника'[Количество, шт])/ SUMX(ALL(‘БытоваяТехника’); ‘БытоваяТехника'[Цена за шт, р]*’БытоваяТехника'[Количество, шт])
Функция SUMX(Table;Expression) – позволяет без создания вычисляемых столбцов, сразу задать расчетное выражение по исходным столбцам. Когда мера добавляется в отчет, то значения рассчитываются по значениям категорий. Например, наименование или производитель.
Функция ALL игнорирует все возможные фильтры и вычисляет итоговое значение по всем данным.
Затем следует применить к созданной мере процентный формат. Остается добавить вычисляемое поле в нужный отчёт. Готово!
При создании в модели Power Pivot вычисляемого столбца, часто используют обычный оператор деления – /. Однако, при отсутствии части данных или если значения равны нулю, то результат вычисления – бесконечность:
Практичнее использовать функцию DIVIDE, которая не будет выдавать ошибку от деления на ноль.
DIVIDE(<numerator>, <denominator> [,<alternateresult>]), где <numerator> – числитель , <denominator> – знаменатель <alternateresult> – альтернативный вариант, если не указан, то по умолчанию используется пустая строка BLANK()
В массе своей текстовые данные не любит никто: ни пользователь, ни программист, т.к. заставить людей вводить корректно – это не самая простая задача.
После некоторых обновлений в PowerQuery в возможностях разделения данных столбцов, помимо ранее существующих По разделителю и По количеству символов, добавились интересные и нужные при работе с текстовыми данными:
По позициям – указывается сколько символов слева нужно убрать
По переходу со строчных на прописные
По переходу с прописных на строчные
По переходу с цифр на не цифры
По переходу с не цифр на цифры
Ранее подобные задачи приходилось решать или сложными формулами массивов или написанием алгоритмов на VBA. Теперь всё решается мгновенно!
Примечание: команда Разделить столбец именно преобразовывает, поэтому при необходимости не забываем делать дубликат столбца.