usto-excel

блог об Excel и не только

Html

Как приручить дракона: знакомство с Power Pivot

Комментариев нет :



Начиная с того момента как Microsoft опубликовала надстройку PowerPivot для Excel 2010 на форумах и сайтах посвящённых Excel стали появляться странные и непонятные термины наподобие Power Query, M, DAX, Power Map и Power View.
И если для Excel 2010 и Excel 2013 пользователю самому нужно было скачивать и устанавливать эту надстройку то в Excel 2016 она уже предустановлена и доступна на вкладке Power Pivot.
Кроме того, компания Microsoft создала на основе этой надстройки отдельный продукт названный Power BI и сделала его кросс-платформенным. Сегодня пользователям доступны мобильная, десктопная а также web-версии Power BI.

Тем не менее, для большинства даже опытных пользователей Excel, как и для меня в том числе, Power Pivot остаётся чем-то непонятным и слишком сложным. Это можно понять хотя бы по тому какое количество ответов собирают вопросы связанные с Power Pivot на форумах посвящённых Excel.
В этой серии постов посвященных Power Pivot мы с Вами попытаемся изменить эту ситуацию и наконец разобраться со всем этим семейством с приставкой Power.
В качестве руководства я буду использовать второе издание книги "Power Pivot and Power BI The Excel User's Guide to the Data Revolution" за авторством Rob Collie и Avichal Singh.


Как следует из названия книги, она написана как руководство по изучению Power Pivot и Power BI для обычных пользователей Excel (т.е. для тех кто не имеет опыта работы с базами данных) и на понятном им языке.
Скажу сразу, что с первого раза осилить эту книгу мне не удалось. А всё дело в том, что хоть  Power Pivot и встроен в оболочку Excel, его функции и принципы работы с ним сильно отличаются от того, что мы привыкли делать в Excel. Да и само пространство Power Pivot вначале кажется чем-то инородным и требует некоторого времени для привыкания.

Сердце дракона

Так почему же изучать именно Power Pivot а не Power Query или Power Map и Power View или же Power BI. Да потому, что чтобы мы не выбрали мы в конечном итоге будем использовать Power Pivot. Именно Power Pivot является тем самым центральным двигателем, мозгом в котором происходит обработка и анализ полученных данных.

Power Query служит для получения и загрузки данных в  Power Pivot (данные в  Power Pivot можно загружать и напрямую например с листа книги Excel, либо скопировав в буфер обмена). В Power Pivot эти данные обрабатываются с использованием специального языка формул называемого DAX (Data Analysis eXpressions) а уже полученный результат отображается в виде различных графиков и сводных таблиц с помощью Power Map, Power View или же непосредственно с помощью Excel
Что же касается Power BI, то как уже было сказано выше это тот же Power Pivot но только упакованный в виде отдельного, независимого от Excel продукта.



Первый контакт

Теперь давайте перейдём непосредственно в окно Power Pivot. 
Активировать окно Power Pivot можно несколькими способами. Во-первых перейдя на вкладку "Power Pivot" и нажав на кнопку "Управление".


Либо же перейдя на вкладку "Данные" и нажав на кнопку "Вернуться в окно Power Pivot".


Вот как выглядит окно Power Pivot с уже добавленными данными:


Пока что, при первом знакомстве у меня создалось такое впечатление, что Power Pivot является этаким гибридом, результатом скрещивания MS Excel и MS Access. То есть Microsoft взяла самые продвинутые инструменты Excel - сводные и умные таблицы, и добавила к ним функционал Access. 
К примеру Excel уже давно ругали за то, что в процессе анализа и обработки данных  пользователи могут ненароком изменить значения некоторых ячеек. То есть, другими словами, работая  с данными полученными из АБС, CRM или другой базы данных, пользователь может по невнимательности изменить значение в одной из ячеек или же вообще удалить целые строки. Power Pivot устраняет эту проблему, так как в окне Power Pivot невозможно редактировать и изменять значения отдельных ячеек, либо удалять строки из загруженной  таблицы.
Ещё одна особенность Power Pivot которой так не хватало в Excel, но которая присутствовала в Access это возможность создавать связи между таблицами. То есть, к примеру у нас имеется три таблицы - одна с информацией о клиентах, другая с информацией о продажах и третья с информацией о продуктах. В таблице "Customers" и в таблице "Sales" есть столбец "CutomerKey" в котором указан уникальный код клиентов. В таблице "Sales" и в таблице "Products" есть "ProductKey" в котором указан уникальный номер продукта.


Чтобы связать эти таблицы в Excel нужно создавать формулы с использованием функций ВПР() либо ИНДЕКС()+ПОСКПОЗ (), процесс трудоёмкий и опять-таки чреват возможностью допущения ошибок.
В Power Pivot Вы просто указываете какие столбцы в таблицах являются связанными и уже можете на лету добавлять в одну таблицу столбцы из остальных двух.


И ещё одна особенность Power Pivot в том, что данные загруженные в Power Pivot хранятся в окне Power Pivot. То есть даже если открыв файл Excel вы и не видите таблицы с данными, тем не менее они привязаны к этому файлу и чтобы их увидеть нужно активировать окно Power Pivot.


Заключение

Итак мы смогли разобраться в назначении всех этих мистических надстроек с приставкой Power, и поняли что Power Pivot является центральным звеном, своего рода мозгом всей этой цепочки. Мы также поверхностно изучили интерфейс окна Power Pivot и его отличия от интерфейса Excel. Осталось ответить на последний, но главный вопрос - зачем он (Power Pivot) нужен?
И действительно, мой дорогой читатель, который (я надеюсь) чувствует себя в среде Excel как рыба в воде, может спросить что ему даст изучение Power Pivot и в каких ситуациях он может ему понадобиться?
Ответ прост - в любой из тех ситуаций, в которых Вы обычно используете сводные таблицы.
Как правило, при работе со сводными таблицами порядок наших действий выглядит следующим образом:
  • получить данные из одного или нескольких источников и структурировать их в виде таблицы Excel;
  • если нужные нам данные находятся в разных таблицах, использовать функцию ВПР() либо связку ИНДЕКС()+ПОИСКПОЗ() вставки в таблицу А данных из определённого столбца таблицы Б;
  • при необходимости добавить в таблицу ещё несколько столбцов, в которых с помощью формул вычисляются дополнительные значения (например добавить столбец "Валюта счёта" в котором с помощью функции ПСТР() определяется валюта счета из столбца "СЧЕТА");
  • преобразовать созданную таблицу в умную (желательно но необязательно);
  • создать на основе созданной (умной) таблицы сводную таблицу;
  • использовать полученную сводную таблицу в качестве итоговой, либо создать отдельную таблицу и вытягивать в неё значения из сводной с помощью формул.

Если же в таких случаях использовать Power Pivot, то порядок наших действий будет выглядеть так:
  • получить данные из одного или нескольких источников и структурировать их в виде таблицы в окне Power Pivot;
  • если нужные нам данные находятся в разных таблицах, создать связи между таблицами;
  • при необходимости добавить в таблицу ещё несколько столбцов, в которых с помощью формул вычисляются дополнительные значения;
  • создать на основе созданной таблицы сводную таблицу;
  • использовать полученную сводную таблицу в качестве итоговой, либо создать отдельную таблицу и вытягивать в неё значения из сводной с помощью формул.

Как видите, пока что разница между использованием этих двух методов не столь очевидна. Но в следующих постах мы попытаемся понять в чём же преимущество использования Power Pivot по сравнению с обычными сводными таблицами.