Чудеса MS PowerPivot (Excel 2016) и DAX. Если миллион строк мало. Если источников данных много. Если автоматизировать отчёты.

Posted on October 8, 2017 by

0



Многие из нас, кто считают что сегодняшний день за Управленцами которые принимают решение основываясь на данных, сталкиваются с проблемой обработки огромных массивов данных из разных источников. Рана или поздно мы все передом к таким инструментом как MS Power BI, MS Analysis Services  и т.д. Но до этого необходима дорасти, и не всегда есть такая необходимость или экономическая обоснование перехода на вычислительные процессы в серверном режиме . По этому, хочу прикоснуться к теме возможности Excel Power Pivot и DAX.

Начнём с примера, как выглядеть современный аналитический материал, в основе которого третичные продажи боле чем 10 контрагентам по всей производителям колбасной продукции в разрезе каждого месяца и SKU за 2016 и 2017 (частично) год, данные за 2018 прогнозные:

Рейтинг производителей

Долья рынка производитель

Долья рынка по групам товаров

Тренд по группам

Десятки файлов и миллионы строк в четырех сводных графиках(PivotCharts), разве это не чудо?

Образец файла, для Excel 2016, Анализ рынка колбасных изделий по основным контрагентам канала сбыта Федеральные сети РФ 2016/2017/2018 год. Рынок колбаса ФС

Господа, DAX язык использовать также в MS Power BI. По этому рекомендую начать пользоваться Модулями данных  Excel 2016.

На нынешний день “Модули данных” Excel фактически дают возможность реализовать  любую необходимость соединять источники. Архитектура может быть настолько разная. И всё это в Excel Power Pivot.

В1

В2

Что насчёт автоматизации отчётов, Вы только подумайте, место ручного добавление информации в ручную созданную таблицу, Вы проста закидываете данные в папку источников, откраиваете отчёт и  обновляете его. Трансформацию данных за Вас сделает “Модуль данных”.

Ссылка на обучающие материалы по теме PowerPivot. 

Технические нюансы:

Если, нужно загрузить файлы из папки, неограниченное количество, скрипт:

let
Source = Folder.Files(“Z:\Отдел продаж\Аналитика\Аналитика управление\Аналитика продажи\Реализация РУБ и КГ”),
#”Removed Other Columns” = Table.SelectColumns(Source,{“Content”}),
#”Added Custom1″ = Table.AddColumn(#”Removed Other Columns”, “Custom”, each Excel.Workbook([Content])),
#”Removed Other Columns1″ = Table.SelectColumns(#”Added Custom1″,{“Custom”}),
#”Expanded Custom” = Table.ExpandTableColumn(#”Removed Other Columns1″, “Custom”, {“Name”, “Data”, “Item”, “Kind”, “Hidden”}, {“Name”, “Data”, “Item”, “Kind”, “Hidden”}),
#”Added Custom” = Table.AddColumn(#”Expanded Custom”, “Custom2″, each Table.PromoteHeaders([Data])),
#”Removed Other Columns2″ = Table.SelectColumns(#”Added Custom”,{“Custom2″}),
#”Expanded Custom1″ = Table.ExpandTableColumn(#”Removed Other Columns2”, “Custom2”, {“Склад Отправитель”, “Номенклатура”, “БИТ П Код77”, “ТТ ОПТИМУМ”, “Торговая Точка”, “Канал Сбыта”, “Год”, “Квартал”, “Месяц”, “Масса”, “Сумма Без НДС”}, {“Склад Отправитель”, “Номенклатура”, “БИТ П Код77”, “ТТ ОПТИМУМ”, “Торговая Точка”, “Канал Сбыта”, “Год”, “Квартал”, “Месяц”, “Масса”, “Сумма Без НДС”}),
#”Changed Type” = Table.TransformColumnTypes(#”Expanded Custom1″,{{“Сумма Без НДС”, type number}, {“Масса”, type number}})
in
#”Changed Type”

 

 

Posted in: Uncategorized