Планета excel power query

Постановка задачи

Давайте разберем красивое решение для одной из весьма стандартных ситуаций, с которой рано или поздно сталкивается большинство пользователей Excel: нужно быстро и автоматически собрать данные из большого количества файлов в одну итоговую таблицу. 

Предположим, что у нас есть вот такая папка, в которой содержится несколько файлов с данными из филиалов-городов:

Файлы для сборки

Количество файлов роли не играет и может меняться в будущем. В каждом файле есть лист с именем Продажи, где расположена таблица с данными:

Данные в книгах

Количество строк (заказов) в таблицах, само-собой, разное, но набор столбцов везде стандартный.

Задача: собрать данные из всех файлов в одну книгу с последующим автоматическим обновлением при добавлении-удалении файлов-городов или строк в таблицах. По итоговой консолидированной таблице затем можно будет строить любые отчеты, сводные таблицы, фильтровать-сортировать данные и т.д. Главное — суметь собрать.

Подбираем оружие

Для решения нам потребуется последняя версия Excel 2016 (в нее нужный функционал уже встроен по умолчанию) или предыдущие версии Excel 2010-2013 с установленной бесплатной надстройкой Power Query от Microsoft (скачать ее можно здесь). Power Query — это супергибкий и супермощный инструмент для загрузки в Excel данных из внешнего мира с последующей их зачисткой и обработкой. Power Query поддерживает практически все существующие источники данных — от текстовых файлов до SQL и даже Facebook :)

Если у вас нет Excel 2013 или 2016, то дальше можно не читать (шучу). В более древних версиях Excel подобную задачу можно реализовать только программированием макроса на Visual Basic (что весьма непросто для начинающих) или монотонным ручным копированием (что долго и порождает ошибки).

Шаг 1. Импортируем один файл как образец

Для начала давайте импортируем данные из одной книги в качестве примера, чтобы Excel «подхватил идею». Для этого создайте новую пустую книгу и…

  • если у вас Excel 2016, то откройте вкладку Данные и выберите Создать запрос — Из файла — Из книги (Data — New Query- From file — From Excel)
  • если у вас Excel 2010-2013 с установленной надстройкой Power Query, то откройте вкладку Power Query и выберите на ней Из файла — Из книги (From file — From Excel)

Затем в открывшемся окне переходим в нашу папку с отчетами и выбираем любой из файлов-городов (не играет роли какой именно, т.к. они все типовые). Через пару секунд должно появиться окно Навигатор, где нужно в левой части выбрать требуемый нам лист (Продажи), а в правой отобразится его содержимое:

Навигатор Power Query

Если нажать в правом нижнем углу этого окна кнопку Загрузить (Load), то таблица будет сразу импортирована на лист в исходном виде. Для одиночного файла — это хорошо, но нам нужно загрузить много таких файлов, поэтому мы пойдем немного другим путем и жмем кнопку Правка (Edit). После этого должен в отдельном окне отобразиться редактор запросов Power Query с нашими данными из книги:

Редактор запросов Power Query

Это очень мощный инструмент, позволяющий «допилить» таблицу под нужный нам вид. Даже поверхностное описание всех его функций заняло бы под сотню страниц, но, если совсем кратко, то с помощью этого окна можно:

  • отфильтровывать ненужные данные, пустые строки, строки с ошибками
  • сортировать данные по одному или нескольким столбцам
  • избавляться от повторов
  • делить слипшийся текст по столбцам (по разделителям, количеству символов и т.д.)
  • приводить текст в порядок (удалять лишние пробелы, исправлять регистр и т.д.)
  • всячески преобразовывать типы данных (превращать числа как текст в нормальные числа и наоборот)
  • транспонировать (поворачивать) таблицы и разворачивать двумерные кросс-таблицы в плоские
  • добавлять к таблице дополнительные столбцы и использовать в них формулы и функции на встроенном в Power Query языке М.

Для примера, давайте добавим к нашей таблице столбец с текстовым названием месяца, чтобы потом проще было строить отчеты сводных таблиц. Для этого щелкните правой кнопкой мыши по заголовку столбца Дата и выберите команду Дублировать столбец (Duplicate Column), а затем щелкните правой кнопкой мыши по заголовку появившегося столбца-дубликата и выберите команды Преобразование — Месяц — Название месяца:

Добавление столбца с месяцем

Должен образоваться новый столбец с текстовыми названиями месяца для каждой строки. Дважды щелкнув по заголовку столбца, его можно переименовать из Копия Дата в более удобное Месяц, например.

Новый столбец
Если в каких-то столбцах программа не совсем корректно распознала тип данных, то ей можно помочь, щелкнув по значку формата в левой части каждого столбца:

Преобразование форматов данных в столбцах

Исключить строки с ошибками или пустые строки, а также ненужных менеджеров или заказчиков можно с помощью простого фильтра:

Фильтрация данных в Power Query

Причем все выполненные преобразования фиксируются в правой панели, где их всегда можно откатить (крестик) или изменить их параметры (шестеренка):

Шаги преобразований

Легко и изящно, не правда ли?

Шаг 2. Преобразуем наш запрос в функцию

Чтобы впоследствии повторить все сделанные преобразования данных для каждой импортируемой книги, нужно преобразовать наш созданный запрос в функцию, которая затем будет применяться, по очереди, ко всем нашим файлам. Сделать это, на самом деле, очень просто.

В редакторе запросов перейдите на вкладку Просмотр и нажмите кнопку Расширенный редактор (View — Advanced Editor). Должно открыться окно, где все наши предыдущие действия будут записаны в виде кода на языке М. Обратите внимание, что в коде жестко прописан путь к файлу, который мы импортировали для примера:

Исходный код

Теперь аккуратно вносим пару правок:

Измененный код

Смысл их прост: первая строка (filepath)=> превращает нашу процедуру в функцию с аргументом filepath, а ниже мы меняем фиксированный путь на значение этой переменной. 

Все. Жмем на Готово и должны увидеть вот это:

Созданная функция

Не пугайтесь, что пропали данные — на самом деле все ОК, все так и должно выглядеть :) Мы успешно создали нашу пользовательскую функцию, где запомнился весь алгоритм импорта и обработки данных без привязки к конкретному файлу. Осталось дать ей более понятное имя (например getData) на панели справа в поле Имя и можно жать Главная — Закрыть и загрузить (Home — Close and Load). Обратите внимание, что в коде жестко прописан путь к файлу, который мы импортировали для примера.. Вы вернетесь в основное окно Microsoft Excel, но справа должна появиться панель с созданным подключением к нашей функции:

Подключение к функции

Шаг 3. Собираем все файлы

Все самое сложное — позади, осталась приятная и легкая часть. Идем на вкладку Данные — Создать запрос — Из файла — Из папки (Data — New Query — From file — From folder) или, если у вас Excel 2010-2013, аналогично на вкладку Power Query. В появившемся окне указываем папку, где лежат все наши исходные файлы-города и жмем ОК. Следующим шагом должно открыться окно, где будут перечислены все найденные в этой папке (и ее подпапках) файлы Excel и детализация по каждому из них:

Импорт всех файлов Excel из заданной папки

Жмем Изменить (Edit) и опять попадаем в знакомое окно редактора запросов.

Теперь нужно добавить к нашей таблице еще один столбец с нашей созданной функцией, которая «вытянет» данные из каждого файла. Для этого идем на вкладку Добавить столбец — Пользовательский столбец (Add Column — Add Custom Column) и в появившемся окне вводим нашу функцию getData, указав для ее в качестве аргумента полный путь к каждому файлу:

Дополнительный столбец

После нажатия на ОК созданный столбец должен добавиться к нашей таблице справа.

Теперь удалим все ненужные столбцы (как в Excel, с помощью правой кнопки мыши — Удалить), оставив только добавленный столбец и столбец с именем файла, т.к. это имя (а точнее — город) будет полезно иметь в итоговых данных для каждой строки.

А теперь «вау-момент» — щелкнем мышью по значку со своенным стрелками в правом верхнем углу добавленного столбца с нашей функцией:

Подгружаем данные в пользовательский столбец

… снимаем флажок Использовать исходное имя столбца как префикс (Use original column name as prefix)и жмем ОК. И наша функция подгрузит и обработает данные из каждого файла, следуя записанному алгоритму и собрав все в общую таблицу:

Собранные данные

Для полной красоты можно еще убрать расширения .xlsx из первого столбца с именами файлов — стандартной заменой на «ничего» (правой кнопкой мыши по заголовку столбца — Заменить) и переименовать этот столбец в Город. А также подправить формат данных в столбце с датой.

Все! Жмем на Главной — Закрыть и загрузить (Home — Close & Load). Все собранные запросом данные по всем городам будут выгружены на текущий лист Excel в формате «умной таблицы»:

Собранные данные

Созданное подключение и нашу функцию сборки не нужно никак отдельно сохранять — они сохраняются вместе с текущим файлом обычным образом.

В будущем, при любых изменениях в папке (добавлении-удалении городов) или в файлах (изменение количества строк) достаточно будет щелкнуть правой кнопкой мыши прямо по таблице или по запросу в правой панели и выбрать команду Обновить (Refresh) — Power Query «пересоберет» все данные заново за несколько секунд.

P.S.

Поправка. После январских обновлений 2017 года Power Query научился собирать Excel’евские книги сам, т.е. не нужно больше делать отдельную функцию — это происходит автоматически. Таким образом второй шаг из этой статьи уже не нужен и весь процесс становится заметно проще:

  1. Выбрать Создать запрос — Из файла — Из папки — Выбрать папку — ОК
  2. После появления списка файлов нажать Изменить
  3. В окне редактора запросов развернуть двойной стрелкой столбец Binary и выбрать имя листа, который нужно взять из каждого файла

И все! Песня!

Ссылки по теме

  • Редизайн кросс-таблицы в плоскую, подходящую для построения сводных таблиц
  • Построение анимированной пузырьковой диаграммы в Power View
  • Макрос для сборки листов из разных файлов Excel в один

Поиск ключевых слов в тексте

Как быстро найти в исходном тексте все ключевые слова из справочника и вывести их рядом с каждой ячейкой данных через заданный символ-разделитель. Попутно разбираемся с буферизацией запросов в Power Query с помощью функции Table.Buffer для ускорения обработки.

Производственный календарь в Excel

Как при помощи Power Query сделать в Excel «вечный» производственный календарь — автоматически обновляющийся список нерабочих дней за все годы для использования в своих расчетах.

Дубликаты внутри ячейки

Как бороться с повторами в тексте внутри ячейки: обнаруживать их, выделять цветом или удалять. С помощью формул, макросов или запросов Power Query.

Генератор фраз из заданных фрагментов

Как быстро сгенерировать все возможные фразы, состоящие из заданных наборов слов в любом порядке, используя Декартово произведение множеств с помощью формул или Power Query.

Параметризация путей к данным в Power Query

При пересылке файлов с запросами Power Query они очень часто перестают работать, т.к. путь к исходным данным на другом ПК меняется. Как решить эту проблему и превратить путь в параметр (переменную), чтобы наш запрос работал на любом компьютере?

Новые типы данных в Excel 2016

Подробный разбор особенностей использования двух новых типов данных География (Geography) и Акции (Stocks), появившихся в Microsoft Excel 2016.

Диаграмма Ганта в Power Query

Как с помощью Power Query быстро «размазать» бюджет по дням в списке проектов, построив упрощенный вариант диаграммы Ганта в Excel.

Расчет средневзвешенного значения в Excel

Что такое средневзвешенное значение и чем оно отличается от обычного среднего арифметического. Как вычислить средневзвешенное в Excel с помощью формул и в сводной таблице (в том числе с помощью DAX и Power Pivot).

Сравнение двух таблиц

Как сравнить между собой две таблицы (прайс-листа) и наглядно отобразить отличия между ними — добавленные и удаленные товары, изменение цены и т.д. Разбор 3 способов: с помощью функции ВПР (VLOOKUP), сводной таблицей и через надстройку Power Query.

Трансформация столбца в таблицу

Три способа (формулы, Power Query и макросы) для трансформирования длинного столбца с чередующимися данными в полноценную двумерную таблицу, с которой можно работать.

Генерация дубликатов строк

Как размножить некоторые строки в таблице, создав для них заданное количество дубликатов. Разбор двух способов: «в лоб» макросом и красиво — через Power Query.

Поиск совпадений в двух списках

Как подсчитать совпадения в двух диапазонах данных и вывести их отдельным списком. Разбор трех способов: формулами, макросами и с помощью слияния запросов в Power Query.

Слияние двух списков без дубликатов

Как соединить два списка, чтобы в итоге получить один обобщенный список, причем без повторений. Подробный разбор нескольких способов (вручную, формулами, через Power Query).

Визуализация движения по маршруту

Как наглядно отобразить движение объекта (транспорта, службы доставки…) по заданному маршруту на географической карте с привязкой ко времени?

Сборка таблиц из разных файлов Excel с помощью Power Query

Как с помощью надстройки Power Query для Excel собрать данные из нескольких таблиц (разного размера), расположенных в разных книгах Excel — в одну общую таблицу. С автоматическим обновлением в будущем и «причесываниями» данных в процессе.

Анимированная пузырьковая диаграмма

Как за 2 минуты без формул и сложных действий создать в Excel анимированную пузырьковую диаграмму, шарики которой двигаются, отображая развитие ситуации во времени.

Создание базы данных в Excel

Пошаговый пример создания в Excel небольшой, но полноценной базы данных на примере учета продаж: с формой ввода, связанными таблицами, отчетами и печатными формами.

Визуализация геоданных на карте

Обзор различных способов для отображения числовых данных из Excel на карте: надстройки Microsoft Power View, Microsoft Power Map, Bing Maps, пузырьковая диаграмма и др.

Склеивание текста по условию

Как при помощи формул, макро-функций или надстройки Power Query склеить (сцепить) текст из нескольких ячеек, но только при выполнении заданного условия. Что-то похожее на функцию СУММЕСЛИ (SUMIF), но — для текста. Причем условия могут быть как точными, так и приблизительными или их может быть несколько.

Редизайнер таблиц

Специальный макрос, позволяющий переконструировать Вашу «красивую» таблицу в тот вид, который понимает и с которым может работать Excel.

Содержание

  1. Что такое Power Query / Pivot / Map / View / BI и зачем они пользователю Excel
  2. Power Query
  3. Power Pivot
  4. Power Maps
  5. Power View
  6. Power BI
  7. Книга «Скульптор данных в Excel с Power Query»
  8. Лучшая вещь в Excel с момента избретения сводных таблиц
  9. Excel будущего
  10. Что есть в книге
  11. Файлы примеров

Что такое Power Query / Pivot / Map / View / BI и зачем они пользователю Excel

Термины «Power Query», «Power Pivot», «Power BI» и прочие «пауэры» все чаще всплывают в статьях и материалах о Microsoft Excel. По моему опыту, далеко не все ясно представляют себе что скрывается за этими понятиями, как они между собой взаимосвязаны и как могут помочь простому пользователю Excel.

Давайте проясним ситуацию.

Power Query

Еще в 2013 году специально созданная группа разработчиков внутри Microsoft выпустила для Excel бесплатную надстройку Power Query (другие названия — Data Explorer, Get&Transform), которая умеет массу полезных для повседневной работы вещей:

  • Загружать данные в Excel из почти 40 различных источников, среди которых базы данных (SQL, Oracle, Access, Teradata. ), корпоративные ERP-системы (SAP, Microsoft Dynamics, 1C. ), интернет-сервисы (Facebook, Google Analytics, почти любые сайты).
  • Собирать данные из файлов всех основных типов данных (XLSX, TXT, CSV, JSON, HTML, XML. ), как поодиночке, так и сразу оптом — из всех файлов указанной папки. Из книг Excel можно автоматически загружать данные сразу со всех листов.
  • Зачищать полученные данные от «мусора»: лишних столбцов или строк, повторов, служебной информации в «шапке», лишних пробелов или непечатаемых символов и т.п.
  • Приводить данные в порядок: исправлять регистр, числа-как-текст, заполнять пробелы, добавлять правильную «шапку» таблицы, разбирать «слипшийся» текст на столбцы и склеивать обратно, делить дату на составляющие и т.д.
  • Всячески трансформировать таблицы, приводя их в желаемый вид (фильтровать, сортировать, менять порядок столбцов, транспонировать, добавлять итоги, разворачивать кросс-таблицы в плоские и сворачивать обратно).
  • Подставлять данные из одной таблицы в другую по совпадению одного или нескольких параметров, т.е. прекрасно заменяет функцию ВПР (VLOOKUP) и ее аналоги.

Power Query встречается в двух вариантах: как отдельная надстройка для Excel 2010-2013, которую можно скачать с официального сайта Microsoft и как часть Excel 2016. В первом случае после установки в Excel появляется отдельная вкладка:

В Excel 2016 весь функционал Power Query уже встроен по умолчанию и находится на вкладке Данные (Data) в виде группы Получить и преобразовать (Get & Transform) :

Возможности этих вариантов совершенно идентичны.

Принципиальной особоенностью Power Query является то, что все действия по импорту и трансформации данных запоминаются в виде запроса — последовательности шагов на внутреннем языке программирования Power Query, который лаконично называется «М». Шаги можно всегда отредактировать и воспроизвести повторно любое количество раз (обновить запрос).

Основное окно Power Query обычно выглядит примерно так:

По моему мнению, это самая полезная для широкого круга пользователей надстройка из всех перечисленных в этой статье. Очень много задач, для которых раньше приходилось либо жутко извращаться с формулами, либо писать макросы — теперь легко и красиво делаются в Power Query. Да еще и с последующим автоматическим обновлением результатов. А учитывая бесплатность, по соотношению «цена-качество» Power Query просто вне конкуренции и абсолютный must have для любого средне-продвинутого пользователя Excel в наши дни.

Power Pivot

Power Pivot — это тоже надстройка для Microsoft Excel, но предназначенная немного для других задач. Если Power Query сосредоточена на импорте и обработке, то Power Pivot нужен, в основном, для сложного анализа больших объемов данных. В первом приближении, можно думать о Power Pivot как о прокачанных сводных таблицах.

Общие принципы работы в Power Pivot следующие:

  1. Сначала мы загружаем данные в Power Pivot — поддерживается 15 различных источников: распространенные БД (SQL, Oracle, Access. ), файлы Excel, текстовые файлы, веб-каналы данных. Кроме того, можно использовать Power Query как источник данных, что делает анализ почти всеядным.
  2. Затем между загруженными таблицами настраиваются связи или, как еще говорят, создается Модель Данных. Это позволит в будущем строить отчеты по любым полям из имеющихся таблиц так, будто это одна таблица. И никаких ВПР опять же.
  3. При необходимости, в Модель Данных добавляют дополнительные вычисления с помощью вычисляемых столбцов (аналог столбца с формулами в «умной таблице») и мер (аналог вычисляемого поля в сводной). Всё это пишется на специальном внутреннем языке Power Pivot, который называется DAX (Data Analysis eXpressions).
  4. На листе Excel по Модели Данных строятся интересующие нас отчеты в виде сводных таблиц и диаграмм.

Главное окно Power Pivot выглядит примерно так:

А так выглядит Модель Данных, т.е. все загруженные таблицы с созданными связями:

У Power Pivot есть ряд особенностей, делающих её уникальным инструментом для некоторых задач:

  • В Power Pivot нет предела по количеству строк (как в Excel). Можно грузить таблицы любого размера и спокойно работать с ними.
  • Power Pivot очень хорошо умеет сжимать данные при загрузке их в Модель. 50 Мб исходный текстовый файл может легко превратиться в 3-5 Мб после загрузки.
  • Поскольку «под капотом» у Power Pivot, по сути, полноценный движок базы данных, то с большими объемами информации он справляется очень быстро. Нужно проанализировать 10-15 млн. записей и построить сводную? И все это на стареньком ноутбуке? Без проблем!

К сожалению, пока что Power Pivot входит не во все версии Excel. Если у вас Excel 2010, то скачать её можно бесплатно с сайта Microsoft. А вот если у вас Excel 2013-2016, то всё зависит от вашей лицензии, т.к. в некоторых вариантах она включена (Office Pro Plus, например), а в некоторых нет (Office 365 Home, Office 365 Personal и т.д.) Подробнее об этом можно почитать тут.

Power Maps

Эта надстройка впервые появилась в 2013 году и первоначально называлась GeoFlow. Она предназначена для визуализации гео-данных, т.е. числовой информации на географических картах. Исходные данные для отображения берутся все из той же Модели Данных Power Pivot (см. предыдущий пункт).

Демо-версию Power Map (почти не отличающуюся от полной по возможностям, кстати) можно совершенно бесплатно загрузить опять же с сайта Microsoft. Полная же версия включена в некоторые пакеты Microsoft Office 2013-2016 вместе с Power Pivot — в виде кнопки 3D-карта на вкладке Вставка (Insert — 3D-map) :

Ключевые особенности Power Map:

  • Карты могут быть как плоскими, так и объемными (земной шар).
  • Можно использовать несколько разных типов визуализации (гистограммы, пузырьковые диаграммы, тепловые карты, заливку областями).
  • Можно добавлять измерение времени, т.е. анимировать процесс и смотреть на него в развитии.
  • Карты подгружаются из сервиса Bing Maps, т.е. для просмотра нужен весьма шустрый доступ в интернет. Иногда возникают сложности с правильным распознаванием адресов, т.к. названия в данных не всегда совпадают с Bing Maps.
  • В полной (не демо) версии Power Map можно использовать собственные загружаемые карты, например визуализировать посетителей торгового центра или цены на квартиры в жилом доме прямо на строительном плане.
  • На основе созданных гео-визуализаций можно прямо в Power Map создавать видеоролики (пример), чтобы поделиться ими потом с теми, у кого надстройка не установлена или включить в презентацию Power Point.

Power View

Эта надстройка появилась впервые в составе Excel 2013 и предназначена для «оживления» ваших данных — построения интерактивных графиков, диаграмм, карт и таблиц. Иногда для этого используют термины дашборд (dashboard) или панель показателей (scorecard) . Суть в том, что вы можете вставить в ваш файл Excel специальный лист без ячеек — слайд Power View, куда добавить текст, картинки и массу различного типа визуализаций по вашим данным из Модели Данных Power Pivot.

Выглядеть это будет примерно так:

Нюансы тут такие:

  • Исходные данные берутся всё оттуда же — из Модели Данных Power Pivot.
  • Для работы с Power View необходимо установить на вашем компьютере Silverlight — майкрософтовский аналог Flash (бесплатный).

На сайте Microsoft, кстати, есть весьма приличный обучающий курс по Power View на русском языке.

Power BI

В отличие от предыдущих, Power BI — это не надстройка для Excel, а отдельный продукт, представляющий собой целый комплекс средств для бизнес- анализа и визуализации. Он состоит из трех ключевых элементов:

1. Power BI Desktop — программа для анализа и визуализации данных, включающая в себя, помимо прочего, весь функционал надстроек Power Query и Power Pivot + улучшенные механизмы визуализации из Power View и Power Map. Скачать и установить её можно совершенно бесплатно с сайта Microsoft.

В Power BI Desktop можно:

  • Загружать данные из более чем 70 различных источников (как в Power Query + дополнительные коннекторы).
  • Связывать таблицы в модель (как в Power Pivot)
  • Добавлять к данным дополнительные вычисления с помощью мер и вычисляемых столбцов на DAX (как в Power Pivot)
  • Создавать на основе данных красивейшие интерактивные отчеты с разного типа визуализациями (очень похоже на Power View, но еще лучше и мощнее).
  • Публиковать созданные отчеты на сайте Power BI Service (см. следующий пункт) и делиться ими с коллегами. Причем есть возможность давать разные права (чтение, редактирование) разным людям.

2. Онлайн-сервис Power BI — упрощенно говоря, это сайт, где у вас и у каждого пользователя в вашей компании будет своя «песочница» (workspace) куда можно загружать созданные в Power BI Desktop отчеты. Помимо просмотра, позволяет их даже редактировать, воспроизводя онлайн почти весь функционал Power BI Desktop. Также сюда можно заимствовать отдельные визуализации из чужих отчетов, собирая из них свои авторские дашборды.

Выглядит это примерно так:

3. Power BI Mobile — приложение для iOS / Android / Windows для подключения к Power BI Service и удобного просмотра (не редактирования) созданных отчетов и дашбордов прямо на экране телефона или планшета. Скачать его (совершенно бесплатно) можно тут.

На iPhone, например, созданный выше отчет выглядит так:

Причем всё это с сохранением интерактивностии и анимации + заточенность под тач и рисование по экрану пером. Очень удобно. Таким образом, бизнес-аналитика становится доступной всем ключевым лицам компании в любой момент и в любом месте — нужен только доступ в интернет.

Тарифные планы Power BI. Power BI Desktop и Mobile бесплатны изначально, большинство функций Power BI Service — тоже. Так что для персонального использования или применения в пределах небольшой компании за всё вышеперечисленное не нужно платить ни копейки и можно смело оставаться на плане Free. Если вы хотите делиться отчетами с коллегами и администрировать их права доступа, то придется перейти на Pro (10$ в месяц за пользователя). Есть еще Premium — для больших компаний (>500 пользователей), которым требуются для данных отдельные хранилища и серверные мощности.

Источник

Книга «Скульптор данных в Excel с Power Query»

Как загружать в Excel любые данные и приводить их в порядок. Первая книга на русском языке о надстройке Power Query в Microsoft Excel.

Лучшая вещь в Excel с момента избретения сводных таблиц

Сначала я хотел назвать эту книжку «А что, так можно было?!»

Я почти ежедневно работаю с Microsoft Excel уже больше 15 лет, но всё ещё не перестаю удивляться возможностям этой программы. Сводные таблицы, ВПР, формулы массива, макросы. Забираясь на очередную ступеньку в изучении Excel ты радуешься как ребёнок, понимая открывшиеся перспективы и возможности.

Но никогда, пожалуй, я не ощущал ещё такого неподдельного и искреннего (местами — прямо щенячьего) восторга , как при изучении возможностей надстройки Power Query для Excel.

Сейчас как минимум, в половине рабочих ситуаций и задач Power Query заменяет мне многоэтажные формулы (которые тормозят), макросы (которые ещё надо суметь написать) и массу тупых рутинных операций по обработке данных (которые жрут время и мыслетопливо). При этом сама надстройка уже встроена в Excel начиная с 2016 версии, а для версий Excel 2010-2013 совершенно бесплатно скачивается с сайта Microsoft.

Excel будущего

Если в двух словах, то надстройка Power Query выполняет две основные функции:

  • Позволяет загрузить в Excel данные из почти любых внешних источников, в том числе и тех, откуда напрямую импорт в Excel очень сложен, трудоёмок или невозможен в принципе.
  • Навести в загруженных данных порядок, преобразовав их любым желаемым образом, вычистив из них информационный мусор, и подготовив их для дальнешего анализа.

В основу этой книги лёг мой одноименный 2-дневный тренинг, который я провел уже почти полсотни раз начиная с 2017 года. Проблема в том, что даже в два дня не уложить всю мощь, все возможности и нюансы работы в Power Query (особенно использование его внутреннего языка программирования М).

Поэтому еще в 2018 году я сел писать эту книгу. Если вы уже были на тренинге, то книга станет хорошим продолжением и углублением в тему. Если не были — хочется думать, что откровением 🙂

Что есть в книге

Если пробежаться по оглавлению, то это:

Начало работы в Power Query
Что такое PQ и её место в общей картине среди всех остальных «пауэров» (Power Pivot, Power View, Power BI, Power Map и т.д.) Что может и чего не может PQ. Основные принципы работы в PQ на примере загрузки и облагораживания уродливого CSV-файла.

Скачать ознакомительную главу

Посмотреть структуру книги

Загрузка данных в Power Query
Откуда можно загружать данные в PQ. Подробный разбор всей процедуры загрузки из: текущей и внешней книг Excel, из баз данных, из интернета, из Facebook, из почтового ящика Outlook, XML- и JSON-файлов, из PDF и т.д.
Слияние запросов
Как можно соединять загруженные таблицы в PQ. Два основных вида соединения: добавление и объединение. Похороны ВПР (VLOOKUP). Подстановка данных из одной таблицы в другую по одному или нескольким столбцам. Сравнение таблиц объединением разных типов и с помощью условного столбца.
Массовая загрузка данных
Если во второй главе мы разбирали загрузку данных из одиночных источников, то в этой научимся грузить их оптом — сразу все файлы из папки, данные со всех (или только нужных) листов и т.д.
Преобразования таблиц
Эта глава посвящена возможностям PQ по трансформации и преобразованию загруженных данных. Мы подробно разберём фильтрацию, транспонирование, заполнение пустот, нюансы группировки, свёртывания и развёртывания (unpivoting) таблиц.
Операции с текстом
Вечная тема. Как «причесать» кривой текст и привести его в порядок? Убрать лишние пробелы, исправить регистр, удалить непечатаемые символы, разобрать слипшийся текст на столбцы или строки. Вишенкой на торте будет реализация нечёткого текстового поиска (Челябинск = Чилябенск).
Обработка дат и времени
Даты и время в PQ представляют собой особые типы данных и требуют специфического подхода, отличающегося от обычного Excel. В этой главе мы разберём все возможные варианты трансформации дат-времени и операций с ними: расчет длительностей, сроков, распознавание дат, сдвиг дат на N периодов и т.д.
Работа с запросами
Запросы — основной инструмент Power Query. В этой главе мы научимся их защищать, группировать, обновлять по расписанию, отслеживать зависимости между запросами. Отдельно разберёмся с тем, как работать с запросами с помощью макросов на VBA.
Язык М
Встроенный в PQ язык программирования М — это очень мощный инструмент. Знание хотя бы общих его принципов и синтаксиса умножает вашу мощь в PQ в разы. В этой главе мы изучим основные типы данных языка М, его ключевые слова и операторы, научимся использовать его встроенные функции и писать свои.
Параметризация запросов
Параметризация — это отвязывание вашего запроса от жёстко прописанных в нём значений, условий или путей к данным, чтобы сделать его более универсальным. Разберёмся как это сделать на примере параметризации путей к данным, фильтрации, выборке плавающего фрагмента данных и т.п.
Танец на граблях
Разбор типовых подводных камней при работе с PQ в реальной жизни и способы их обхода. Проблемы при добавлении-удалении столбцов или их переименовании. Обманчивый фильтр. Мусор в названиях столбцов. Вопросы быстродействия и ускорения запросов.

Файлы примеров

К каждому разобранному в книге примеру прилагается живой файл в двух вариантах: исходном (сырые данные) и финальном — с уже сделанными запросами Power Query из соответствующей главы. Таким образом, весь алгоритм решения можно выполнить пошагово прямо по книге и сравнить потом с «ответами». Или же сразу открыть финальный файл и разобрать готовое решение. Или, не разбираясь, скопировать готовый запрос в ваш проект — всё в ваших руках.

Источник

На чтение 17 мин. Просмотров 64.4k.

Есть одна вещь, которая волнует всех — как сэкономить больше времени и работать с умом.

Что ж, я уже давал много приемов и трюков Excel, которые значительно облегчат работу. Но сегодня речь пойдет о POWER QUERY. Да-да, вы все правильно поняли.

POWER QUERY — это то, что может изменить вашу жизнь. Сегодня в этой статье я поделюсь с вами некоторыми удивительными приемами Power Query, которые вы можете начать использовать прямо сейчас.

Эти советы не только помогут вам сэкономить время, но и вдохновят вас использовать POWER QUERY для управления данными. По крайней мере, я на это надеюсь.

Прежде чем мы перейдем к приемам, нужно прояснить пару моментов.

Содержание

  1.  Почему я должен использовать Power Query?
  2. Как установить Power Query — Шаги
  3. Лучшие 25 приемов Power Query для экономии времени в повседневной работе
  4. Заключение

 Почему я должен использовать Power Query?

Делюсь с вами некоторыми серьезными причинами, так как хочу, чтобы вы в дальнейшем изучали Power Query.

1. Самый простой способ преобразовать ваши данные

Одной из основных причин использования Power Query — легкость преобразования данных. Обычно вы используете формулы и сводные таблицы, но с Power Query все основные задачи формирования данных могут быть выполнены в кратчайшие сроки.

2. Power Query в реальном времени

Это вторая важная причина, по которой Power Query выполняется в реальном времени, как разовая настройка.

Напишите запрос один раз, и вы можете обновлять его каждый раз, когда происходит изменение данных, также вы можете определить время автоматического обновления (Совет № 26).

3. Нужно просто несколько кликов

Как я уже сказал, обычно вы используете формулы и сводные таблицы для преобразования данных, но с POWER QUERY вы можете многое сделать, просто щелкнув мышью.

Нет необходимости писать формулы или коды.

Как установить Power Query — Шаги

Прежде чем вы начнете использовать эти приемы, в вашем Excel должен быть установлен Power Query.

И если вы один из тех пользователей Excel, у которых нет надстройки с Power Query, используйте эти шаги для ее установки.

Для Excel 2016 или Office 365:

Если вы используете версию Excel 365 или Excel 2016, она уже находится на вкладке «Данные» — «Скачать & преобразовать».

Power query в ленте

Для версий 2013 и 2010:

Прежде всего, загрузите надстройку отсюда (официальный сайт Microsoft).Как только вы загрузите файл, откройте его и следуйте инструкциям. После этого автоматически откроется вкладка «Power Query» на ленте Excel.
Если вкладка «POWER QUERY» не появляется, вам не о чем беспокоиться.

Вы можете добавить ее, используя опцию Надстройки COM.

  • Перейдите на вкладку «Файл» ➜ «Параметры» ➜ «Надстройки».
  • В опциях «Надстройки» выберите «Надстройки COM» и нажмите Перейти.
  • После этого отметьте галочкой «Microsoft Power Query for Excel».
  • В конце нажмите ОК.

Все! Теперь у вас есть новая вкладка на ленте с названием «Power Query».

Откройте Power Query и загрузите в него данные

У вас есть разные способы добавить данные в редактор Power Query. Что ж, если у вас есть данные на рабочем листе, вы можете вставить их оттуда.

  • Перейдите на вкладку «Данные» ➜ «Скачать & преобразовать» ➜ Из таблицы.
  • Нажмите OK, чтобы преобразовать этот диапазон в таблицу Excel.
  • И сразу после этого вы получите эту таблицу в редакторе Power Query, как показано ниже.

Лучшие 25 приемов Power Query для экономии времени в повседневной работе

Теперь пришло время изучить все эти советы по Power Query. Так что давайте начнем.

1. Заменить значения

У нас есть список с некоторыми значениями, и нам нужно заменить определенное значение или некоторые значения чем-то другим.

С помощью Power Query мы можем создать запрос и заменить эти конкретные значения очень быстро. В приведенном ниже списке я хочу заменить имя «Алена» на «Алёна».

Заменить значение

Давайте сделаем:

  • Прежде всего, загрузите список в редактор Power Query.
  • После этого перейдите на вкладку «Преобразование» и нажмите «Замена значений».
Вкладка Преобразование
  • Теперь в поле «Значение для поиска» введите «Алена», а в поле «Заменить на» введите «Алёна» и после этого нажмите ОК.
Замена значения
  • После того, как вы нажмете OK, все значения будут заменены новыми. Теперь можно нажать «Закрыть и загрузить», чтобы загрузить данные в таблицу.
Загрузка данных

А вот и лучшая часть: Вы только что создали запрос в режиме реального времени. При повторном обновлении запроса он заменит все вновь введенные значения.

2. Сортировка — по возрастанию и по убыванию

Как и при обычной сортировке, вы можете сортировать данные, используя Power Query. Я использую тот же список имен, который мы использовали выше. Вот, что нужно сделать.

  • Прежде всего, загрузите данные в редактор
  • В редакторе Power Query у вас есть две кнопки сортировки (по возрастанию и по убыванию).
  • Нажмите на любую из этих кнопок, чтобы отсортировать.

Сортировка

  • В конце нажмите «Закрыть и загрузить», чтобы загрузить данные в таблицу.

Вы, наверное, удивлены: «Зачем мне использовать Power Query, если я могу использовать обычную сортировку на листе?»

Как я уже писал, Power Query — работает в реальном времени. Вы можете создать запрос автообновления (Совет № 26), который будет обновляться через определенное время и автоматически сортировать ваши данные.

3. Удалить столбцы

Очень часто бывает, что вы получаете откуда-то данные, и вам нужно удалить некоторые столбцы из них. Дело в том, что вы должны удалять эти столбцы каждый раз, когда добавляете новые данные.

Но с Power Query вы можете создать запрос.

Вот шаги:

  • Прежде всего, откройте данные в редакторе
  • После этого выберите столбец или несколько столбцов
Выбрать несколько столбцов
  • Теперь щелкните правой кнопкой мыши и выберите «Удалить».
Удалить столбцы
  • В конце нажмите «Закрыть и загрузить», чтобы загрузить данные.

Совет. Также имеется опция «Удалить другие столбцы», в которой можно удалить все невыбранные столбцы.

4. Разделить столбец

Точно так же как опция как «Текст по столбцам» есть в запросе: «Разделить столбец». Сейчас я расскажу, как это работает.

В приведенном ниже списке у вас есть имя и фамилия с дефисом между ними.

Список сотрудников

Теперь вам нужно разделить их на две колонки. Используйте эти шаги:

  • Прежде всего, откройте список в редакторе
  • После этого выберите столбец и перейдите на вкладку «Преобразование» ➜ «Разделить столбец» ➜ «по разделителю».
Разделить столбец
  • Выберите «Пользовательский» из выпадающего списка и введите «-» в него.
  • Теперь у вас есть три варианта, как разбить столбец.
  1. Самый левый разделитель
  2. Самый правый разделитель
  3. По каждому вхождению разделителя
Разделить столбец по разделителю

Поскольку у нас есть только один разделитель в ячейке, все три будут работать одинаково, но если у вас более одного разделителя, вы можете выбрать нужный.

Итог разделения столбца
  • В конце нажмите OK и нажмите «Закрыть и загрузить», чтобы загрузить данные.

5. Переименовать столбец

Вы можете просто переименовать столбец, щелкнув правой кнопкой мыши, а затем нажмите «Переименовать».

Переименовать столбец

Совет: допустим, у вас есть запрос на переименование столбца, а кто-то другой переименовал его по ошибке. Вы можете восстановить это имя одним щелчком мыши.

6. Дубликат столбца

В Power Query есть простой способ создать дубликат столбца.

Дубликат столбца

Все, что вам нужно сделать, это щелкнуть правой кнопкой мыши столбец, для которого вам нужен дубликат, а затем нажать «Создать дубликат столбца».

7. Объединить столбец

Обычно для объединения столбцов и ячеек мы используем формулы в Excel, но с Power Query это можно сделать намного проще.

Помните, мы разделили список сотрудников (Совет № 4). Теперь, давайте объединим его, используя пробел.

Следуй этим шагам:

  • Как только вы добавите данные в редактор, выберите оба столбца.
  • После этого щелкните по ним правой кнопкой мыши и выберите «Объединить столбцы».
Кнопка объединения столбцов
  • Теперь в окне слияния столбцов выберите разделитель из выпадающего списка (здесь мы используем пробел) и добавьте имя для нового объединенного столбца.
Объединить столбцы
  • Нажмите OK и загрузите данные в таблицу.

Совет: вы также можете использовать собственный разделитель для объединения двух столбцов.

8. Транспонировать столбец или строку

В Power Query транспонирование — это проще простого. Да, всего один клик.

  • Как только вы загрузите данные в редактор, вам просто нужно выбрать столбец (столбцы) или строку (и).
  • Перейдите на вкладку «Преобразование» ➜ Таблица ➜ «Транспонировать».
Транспонирование

И все.

9. Заменить / удалить ошибки

Это крутая вещь. Обычно для замены или удаления ошибок в Excel вы можете использовать опцию поиска и замены или код VBA. Но в Power Query все намного проще.

Посмотрите на столбец ниже, где у вас есть некоторые ошибки, вы можете заменить их.

Заменить ошибки

Когда вы щелкнете правой кнопкой мыши по столбцу, у вас будет два варианта, как с ними справиться.

  • Заменить ошибки
  • Удалить ошибки
Варианты замены ошибки

10. Изменить тип данных

Посмотрите, это обычное дело: У вас есть данные в столбце, но они не в нужном формате. Поэтому каждый раз нужно менять его формат.

неверный формат даты

В приведенном выше примере у нас есть столбец дат, но мы видим просто числа. Чтобы преобразовать их в дату, вы можете использовать Power Query. Это очень просто.

  • Прежде всего, откройте данные в редакторе
  • После этого выберите столбец и перейдите на вкладку Преобразование.
  • Теперь из типа данных выберите «Дата».
Выбор типа данных

Вот, что получилось.

Замена типа данных

Совет: в большинстве случаев Power Query автоматически определяет тип данных, но если это не так, вы можете изменить его, как в приведенном выше примере.

11. Добавить столбец из примеров

Вот в чем дело: в Power Query есть возможность добавить образец столбца, который на самом деле не является образцом, связанным с текущим столбцом. Позволь мне привести пример:

В приведенном выше примере мы преобразовали числа в даты, и теперь предположим, что вам нужно добавить столбец, в котором необходимо указать название дня недели для этих дат.

Вместо использования формулы или любого другого параметра, в Power Query мы можем использовать параметр «Добавить столбец из примеров».

Вот как это сделать:

  • После того, как вы отправите свои данные в редактор, выберите столбец.
  • Потом щелкните по нему правой кнопкой мыши и выберите «Добавить столбец из примеров».
Добавить столбец из примеров
  • Здесь вы получите пустой столбец. Нажмите на первую ячейку столбца, чтобы получить список значений, которые вы можете вставить.
Пустой столбец
  • Выберите «Название дня недели с Дата» и нажмите «ОК».
Выбор значения

Все! Столбец заполнен.

Столбец заполнен

12. Отменить таблицу

Я написал полное пошаговое руководство, чтобы отменить вывод данных в виде таблицы с помощью Power Query:

  • Прежде всего, выберите данные кросс-таблицы и перейдите на вкладку «Данные».
Кросс-таблица
  • На вкладке данных перейдите к Скачать & Преобразовать → Из таблицы.
  • Когда вы щелкнете по нему, он преобразует ваши данные кросс-таблицы в таблицу Excel (если это уже не так).
  • Данные мгновенно загрузятся в редактор Power Query.
Вид таблицы в Power Qwery
  • Отсюда нам нужно выбрать все столбцы, которые мы хотим отключить.
  • Для этого выберите столбец Янв, нажмите и удерживайте клавишу Shift и выберите столбец Дек.
  • После этого щелкните по нему правой кнопкой мыши и выберите «Отменить свертывание столбцов».
Отменить свертывание столбцов
  • Теперь все значения 12-ти столбцов разделены на два столбца. В одном — месяц, в другом — сумма.
Свертывание столбцов отменено
  • Последнее, что вам нужно сделать, это переименовать столбцы. Для этого щелкните правой кнопкой мыши по столбцу и переименуйте их.
  • В конце нажмите «Закрыть и загрузить».

Теперь ваши данные кросс-таблицы преобразуются в простые данные, и вы можете использовать их для создания сводных таблиц и всего прочего для дальнейшего анализа и составления отчетов о продажах.

13. Изменить регистр

Как в функциях, которые вы используете в Excel, в Power Query есть пакет опций для изменения регистра текста.

  • нижний регистр
  • ВЕРХНИЙ РЕГИСТР
  • Каждое Слово С Прописной

Вы можете сделать это, щелкнув правой кнопкой мыши по столбцу и выбрать любой из трех указанных выше вариантов. Или перейдите на вкладку «Преобразование» ➜ «Столбец Текст» ➜ «Формат».

Изменить регистр

14. Усечь и Очистить

Чтобы очистить данные или удалить ненужные пробелы, вы можете использовать опции Усечь и Очистить в Power Query.

Шаги просты:

  • Щелкните правой кнопкой мыши по столбцу или выберите все столбцы, если у вас несколько столбцов.
  • Перейдите к опции преобразования и выберите любую из опций:
Усечь и очистить
  1. Усечь: для удаления лишних пробелов из ячейки.
  2. Очистить: для удаления непечатаемых символов из ячейки.

15. Добавить префикс / суффикс

Итак, у вас есть список значений, и в этот список вы хотите добавить префикс / суффикс в каждую ячейку. В Excel вы можете использовать функцию СЦЕПИТЬ, но в Power Query есть более простой способ.

  • Прежде всего, выберите столбец, в который нужно добавить префикс / суффикс.
  • Затем перейдите на вкладку «Преобразование» ➜ Столбец Текст ➜ Формат ➜ Добавить префикс / Добавить суффикс.
Добавить префикс и суффикс
  • Как только вы нажмете одну из опций, откроется диалоговое окно для ввода текста.
Добавление префикса
  • После ввода текста нажмите ОК.
Добавление префикса

Опция работает одинаково для чисел, текста и дат.

16. Извлечь значения

Если вы разбираетесь в формулах, то вы согласитесь со мной, что для извлечения текста или числа из ячейки необходимо комбинировать несколько функций. Power Query решает много подобных задач. У вас есть семь способов извлечь значения из ячейки. И да, одним щелчком мыши.

Просто посмотрите на варианты, которые у вас есть.

Варианты извлечения значений

Эти опции закрыли все основные вещи задачи, которые вы привыкли решать с помощью формул.

17. Только дата или время

Часто бывает, что у вас есть дата и время в одной ячейке, но вам нужна только одна из них.

Дата и время

Для этого в Power Query вам нужен всего лишь один клик, вот шаги.

  • Выберите столбец, где у вас есть дата и время вместе.
  • Если вам нужна Дата: щелкните правой кнопкой мыши ➜ Преобразование ➜ Только дата;
  • Если хотите Время: щелкните правой кнопкой мыши ➜ Преобразование ➜ Только время.
Только дата или время

18. Объедините дату и время

Теперь у вас есть отдельно дата и время. Значит, пора узнать, как их объединить.

Это довольно просто.

  • Прежде всего, загрузите ваши данные в редактор.
Данные дат и времени
  • После этого выберите оба столбца (Дата и время) и перейдите на вкладку преобразования.
Объединить дату и время
  • Теперь из группы Столбец «Дата и время» перейдите к «Дата» и нажмите «Объединить дату и время».
Объединить дату и время

Теперь у вас есть новый столбец с объединенным данными.

19. Округление чисел

У нас есть функции для округления чисел в Excel, но также есть и Power Query.

Вот варианты:

  1. Округление с увеличением.
  2. Округление с уменьшением.
  3. Округление: Вы можете выбрать, до какого знака после запятой округлить.
Варианты округления

Шаги:

  • Прежде всего, откройте ваши данные в редакторе.
  • Выберите столбец правой кнопкой мыши ➜ Преобразование ➜ Округление и выберите любой из трех вариантов.
Вариант округления

Примечание. Когда вы выбираете опцию «Округление», вам нужно ввести количество десятичных знаков для округления.

20. Расчеты

В Power Query есть варианты, которые вы можете использовать для выполнения расчетов. Посмотрите на приведенный ниже список.

  • Стандартный
  • Статистика
  • Научный
  • Тригонометрические
  • Округление
  • Информация
Варианты расчетов

Вы можете найти все эти опции на вкладке Преобразование.

Для выполнения любого из этих расчетов вам нужно выбрать столбец и выбрать опцию.

21. Группировка

Как и сводные таблицы, Power Query — отличный вариант для группировки. Вы можете найти эту опцию на вкладке Преобразование.

Допустим, у вас большой набор данных и вы хотите создать сводную таблицу. Вот что вам нужно сделать:

  • На вкладке «Преобразование» нажмите «Группировать по», откроется диалоговое окно.
Группировать по
  • Теперь в этом диалоговом окне выберите столбец, который вы хотите сгруппировать.
Столбец для группировки выделен

После этого добавьте имя, выберите операцию и столбец, в котором у вас есть значения.

Диалоговое окно Группировать по
  • В конце нажмите ОК.
Результат группировки

Примечание. В параметре «Группировать по» также есть несколько расширенных опций, которые можно использовать для создания многоуровневой групповой таблицы.

22. Удалить знак отрицания

Есть много методов удаления отрицательного знака, и один из них — это Power Query.

Щелкните правой кнопкой мыши по столбцу и перейдите в Преобразование, а затем нажмите на Абсолютное значение.

Абсолютное значение

23. Добавить настраиваемый столбец

Хотя в Power Query есть много опций, вы также можете создать пользовательский столбец, используя формулу расчета. Выполните следующие шаги, чтобы его создать:

  • Прежде всего, перейдите на вкладку Добавление столбца ➜ Настраиваемый столбец.
Настраиваемый столбец
  • Здесь у вас появится диалоговое окно для создания формулы для использования в столбце (сейчас я хочу умножить количество на цену). Ведите формулу в поле формулы.
Формула настраиваемого столбца

Совет. Когда вы вводите формулу, в диалоговом окне появится сообщение, если в формуле есть какая-то ошибка.

24. Автообновление запроса

Из всех советов и приемов, которые я упомянул здесь, этот является наиболее важным. Когда вы создаете запрос, вы можете сделать его автоматическим обновляемым (вы можете установить таймер).

Вот шаги:

  • На вкладке «Данные» нажмите «Существующие подключения»
  • Теперь щелкните правой кнопкой мыши по нужному запросу, далее Изменить свойства подключения.
  • Введите минуты в открывшемся диалоговом окне.
Свойства подключения
  • В конце нажмите ОК.

25. Создайте сводную таблицу из нескольких рабочих книг.

Иногда мы получаем или собираем данные из разных книг. И в этом случае создание сводной таблицы потребует дополнительных усилий для объединения этих нескольких рабочих книг в одну.

Но вы можете сделать это радостью с помощью Power query. Выполните эти три простых шага, чтобы создать сводную таблицу из разных рабочих книг.

У меня есть четыре книги с данными о продажах для разных отделений.

4 исходных файла

Убедитесь, что все эти файлы в одной папке.

Шаг 1 — Объедините файлы с помощью Power Query

Прежде всего, нам нужно объединить все файлы в одну таблицу с Power Query.

  • Перейдите на вкладку «Данные» ➜ «Скачать & Преобразовать» ➜ «Создать запрос» ➜ «Из файла» ➜ «Из папки».
Объединить таблицы в одну
  • Теперь в окне выбора папки нажмите «Обзор» и выберите папку, в которой находятся все файлы.
Путь к папке
  • Нажмите ОК.
  • Вы увидите окно «Объединить файлы».
Лучшие 25 приемов Power Query
  • В этом окне выберите лист с вашими данными во всех книгах. Важно: Убедитесь, что во всех книгах указано одинаковое имя листа!
Выбираем лист с данными
  • После того, как вы нажмете OK, Power Query отправит все данные из рабочих книг в редактор.

Шаг 2 — Подготовка данных для сводной таблицы

Теперь нам нужно внести небольшие изменения в наши данные, чтобы подготовить их к сводной таблице. Если вы посмотрите на данные, у нас появился дополнительный столбец с именем исходного файла.

Дополнительный столбец с именем файла
  • Щелкните правой кнопкой мыши по этому столбцу и выберите «Разделить столбец» ➜ «По разделителю».
Разделить столбец
  • В окне разделителя выберите «Пользовательский», добавьте «.» в качестве разделителя и выберите «Самый левый разделитель».
Рапзделить столбец
  • Нажмите ОК.
  • После этого удалите второй столбец.
Удалить столбец
  • Теперь переименуйте первый столбец.
Переименовать столбец
  • Теперь ваши данные готовы. Нажмите на закрыть и загрузить.

Шаг 3 — Вставьте сводную таблицу

На данный момент у нас есть новая рабочая таблица в рабочей книге с объединенными данными из всех четырех файлов. Теперь пришло время создать из них сводную таблицу.

Полученная таблица
  • Выберите таблицу и перейдите на вкладку «Вставка» и нажмите кнопку «Сводная таблица».
Вставка сводной таблицы
  • Откроется окно создания сводной таблицы. Нажмите OK, и вы получите новую сводную таблицу в своей книге.
Создание сводной таблицы

Поздравляю! Вы успешно создали новую сводную таблицу из разных файлов.

Сводная таблица

Заключение

Вы можете не пользоваться POWER QUERY. Но… Многие вещи, которые мы делаем с формулами и функциями или кодами VBA, могут быть автоматизированы с помощью Power Query.

Я надеюсь, что приведенные выше советы вдохновляют вас использовать его все больше и больше.

Не забудьте поделиться своими мнениями со мной в разделе комментариев. И, пожалуйста, не забудьте поделиться этой информацией со своими друзьями, я уверен, что они это оценят.

Время на прочтение
7 мин

Количество просмотров 194K

image

В данной статье я хочу рассказать о некоторых возможностях бесплатной и крайне полезной, но пока еще мало известной надстройки над MS Excel под названием Power Query.

Power Query позволяет забирать данные из самых разных источников (таких как csv, xls, json, текстовых файлов, папок с этими файлами, самых разных баз данных, различных api вроде Facebook opengraph, Google Analytics, Яндекс.Метрика, CallTouch и много чего еще), создавать

повторяемые последовательности обработки

этих данных и загружать их внутрь таблиц Excel или самого data model.

И вот под катом вы можете найти подробности всего этого великолепия возможностей.

Совместимость и технические подробности

Power Query доступен бесплатно для всех версий Windows Excel 2010, 2013 и встроен по умолчанию в Windows Excel 2016. Для пользователей MacOS X Power Query недоступен (впрочем, даже без этого маковский Excel отвратителен на ощупь и продвинутые пользователи, включая меня, чаще всего работают с нормальным Excel через Parallels или запуская его на удаленной виндовой машинке).

Также, Power Query встроен в новый продукт для бизнес аналитики — Power BI, а еще, ходят слухи, что Power Query будет появляться и в составе других продуктов от Microsoft. Т.е. Power Query ждет светлое будущее и самое время для адептов технологий Microsoft (и не только) заняться его освоением.

Как оно работает

После установки Power Query в интерфейсе Excel 2010–2013 появляется отдельная одноименная вкладка.

В новом Excel 2016 функционал Power Query доступен на вкладке Data (данные), в блоке “Get & Transform”.

Сначала, в интерфейсе Excel мы выбираем конкретный источник данных, откуда нам их нужно получить, и перед нами открывается окошко самого Power Query с предпросмотром первых строчек загруженных данных (область 1). В верхней части окошка располагается Ribbon с командами по обработке данных (область 2). И в правой части экрана (область 3) у нас расположена панель с последовательностью всех действий, которые применяются к данным.

Возможности Power Query

У Power Query очень много возможностей и я хочу остановиться на некоторых из числа моих любимых.

Как я уже писал выше, Power Query замечателен тем, что позволяет подключаться к самым разным источникам данных. Так он позволяет загружать данные из CSV, TXT, XML, json файлов. Притом процесс выбора опций загрузки тех-же CSV файлов гибче и удобнее, чем он реализован штатными средствами Excel: кодировка автоматически выбирается часто правильно и можно указать символ разделителя столбцов.

Объединение файлов лежащих в папке

Power Query умеет забирать данные из указанной папки и объединять их содержимое в единые таблицы. Это может быть полезно, например, если вам периодически приходят какие-то специализированные отчеты за отдельный промежуток времени, но данные для анализа нужны в общей таблице. Гифка

Текстовые функции

К столбцам из текста в Power Query по нажатию на кнопки на Ribbon можно применять такие функции как:

  1. Разделить столбец по символу или по количеству символов. И в отличие от Excel можно задать максимальное количество столбцов, а также направление откуда нужно считать символы — слева, справа.
  2. Изменить регистр ячеек в столбце
  3. Подсчитать количество символов в ячейках столбца.

Числовые функции

К столбцам с числовыми значениями по нажатию на кнопки на Ribbon можно применять:

  1. Арифметические операции
  2. Возводить в степени, вычислять логарифмы, факториалы, корни
  3. Тригонометрические операции
  4. Округлять до заданных значений
  5. Определять четность и т.д.

Функции для работы с датами, временем и продолжительностью

К столбцам со значениями даты и времени по нажатию на кнопки на Ribbon можно применять:

  1. Автоматическое определение формата вписанной даты (в excel c этим большая боль)
  2. Извлекать в один клик номер месяца, дня недели, количество дней или часов в периоде и т.п.

Unpivot — Pivot

В интерфейсе Power Query есть функция “Unpivot”, которая в один клик позволяет привести данные с одной метрикой разложенные по столбцам по периодам к форме, которая будет удобна для использования в сводных таблицах (понимаю что трудно написал — смотрите пример). Также, есть функция с обратным действие Pivot. Гифка

Операция Merge — смерть ВПР

Функция ВПР (VLOOKUP) одна из наиболее используемых функций в MS Excel. Она позволяет подтягивать данные в одну таблицу из другой таблицы по единому ключу. И вот как раз для этой функции в Power Query есть гораздо более удобная альтернатива — операция Merge. При помощи этой операции соединение таблиц нескольких таблиц в одну по ключу (по простому или по составному ключу, когда соответствие нужно находить по нескольким столбцам) выполняется буквально в 7 кликов мыши без ввода с клавиатуры.

Операция Merge — это аналог join в sql, и ее можно настроить чтобы join был разных типов — Inner (default), Left Outer, Right Outer, Full Outer.

Upd.Мне тут подсказали, что Power Query не умеет делать Aproximate join, а впр умеет. Чистая правда, из коробки альтернатив нет. Гифка

Подключение к различным базам данных. Query Folding.

Power Query также замечателен тем, что умеет цепляться к самым разным базам данных — от MS SQL и MySQL до Postgres и HP Vertica. При этом, вам даже не нужно знать SQL или другой язык базы данных, т.к. предпросмотр данных отображается в интерфейсе Power Query и все те операции, которые выполняются в интерфейсе прозрачно транслируются в язык запросов к базе данных.

А еще в Power Query есть понятие Query Folding: если вы подключены к совместимой базе данных (на текущий момент это MS SQl), то тяжелые операции по обработке данных Power Query будет стараться выполнить на серверной стороне и забирать к себе лишь обработанные данные. Эта возможность радикально улучшает быстродействие многих обработок.

Язык программирования “М”

Надстройка Power Query — это интерпретатор нового, скриптового, специализированного для работы с данными, языка программирования М.

На каждое действие, которое мы выполняем с данными в графическом интерфейсе Power Query, в скрипт у нас пишется новая строчка кода. Отражая это, в панели с последовательностью действий (область 3), создается новый шаг с говорящим названием. Благодаря этому, используя панель с последовательностью действий, мы всегда можем посмотреть как выглядят у нас данные на каждом шаге обработки, можем добавить новые шаги, изменить настройки применяемой операции на конкретном шаге, поменять их порядок или удалить ненужные шаги. Гифка

Также, мы всегда можем посмотреть и отредактировать сам код написанного скрипта. И выглядеть будет он примерно так:

Язык M, к сожалению, не похож ни на язык формул в Excel, ни на MDX и, к счастью, не похож на Visual Basic. Однако, он очень прост в изучении и открывает огромные возможности по манипуляции данными, которые недоступны с использованием графического интерфейса.

Загрузка данных из Яндекс.Метрики, Google Analytics и прочих Api

Немного овладев языком “M” я смог написать программки в Power Query, которые умеют подключаться к API Яндекс.Метрики и Google Analytics и забирать оттуда данные с задаваемыми настройками. Программки PQYandexMetrika и PQGoogleAnalytics я выложил в опенсорс на гитхаб под лицензией GPL. Призываю пользоваться. И я буду очень рад, если эти программы будут дорабатываться энтузиастами.

Для Google Analytics подобного рода экспортеров в разных реализациях достаточно много, но вот для Яндекс.Метрики, насколько я знаю, мой экспортер был первым публично доступным, да еще и бесплатным :)

Power Query умеет формировать headers для post и get запросов и забирать данные из интернета. Благодаря этому, при должном уровне сноровки, Power Query можно подключить практически к любым API. В частности, я для своих исследований дергаю данные по телефонным звонкам клиентов из CallTouch API, из API сервиса по мониторингу активности за компьютером Rescuetime, занимаюсь парсингом нужных мне веб-страничек на предмет извлечения актуальной информации.

Еще раз про повторяемость и про варианты применения

Как я уже писал выше, скрипт Power Query представляет собой повторяемую последовательность манипуляций, применяемых к данным. Это значит, что однажды настроив нужную вам обработку вы сможете применить ее к новым файлам изменив всего один шаг в скрипте — указав путь к новому файлу. Благодаря этому можно избавиться от огромного количества рутины и освободить время для продуктивной работы — анализа данных.

Я занимаюсь веб-аналитикой и контекстной рекламой. И так уж получилось, что с момента, как я познакомился с Power Query в ее интерфейсах я провожу больше времени, чем в самом Excel. Мне так удобнее. Вместе с тем возросло и мое потребление другой замечательной надстройки в MS Excel — PowerPivot.

Вот часть задач, которые я делаю с использованием Power Query:

  1. разбираю семантику для Толстых проектов,
  2. Делаю частотные словари,
  3. Создаю веб-аналитические дашборды и отчеты для анализа конкретных срезов,
  4. Восстанавливаю достижение целей в системах веб-аналитики, если они не настроены на проекте,
  5. Сглаживаю прогноз вероятности методами Андрея Белоусова (+Байеса:),
  6. Делаю аудит контекстной рекламы на данных из K50 статистика,
  7. И много других разных ad-hoc analysis задач, которые нужно сделать лишь однажды

Вот bi систему, про которую я рассказывал на Yac/M 2015 (видео) я делал полнстью при помощи Power Query и загружал данные внутрь PowerPivot.

Пару слов про локализацию

На сайте Microsoft для пользователей из России по умолчанию скачивается Power Query с переведенным на русским язык интерфейсом. К счастью, локализаторы до перевода на русский языка программирования (как это сделано с языком формул в excel) не добрались, однако жизнь пользователям неоднозначными переводами сильно усложнили. И я призываю вас скачивать, устанавливать и пользоваться английской версией Power Query. Поверьте, она будет гораздо понятнее.

Ссылки по теме

Официальные ресурсы на английском:

  1. Скачать Английскую версию Power Query
  2. Справка по формулам языка M
  3. Ветка Форума Microsoft Technet про Power Query

На момент написания статьи на русском языке информации по Power Query практически нет, и то что мной найдено приведено ниже:

  1. Импорт данных из таблиц в Google Spreadsheets
  2. Power BI. Получаем данные из REST API
  3. Сообщество продвинутых пользователей Excel, Power Pivot и Power Query в Facebook
  4. Обновляемая страничка в Marketing-wiki про Power Query

На английском:

  1. Видео с демонстрацией возможностей Power Query на конференции TechEd North America
  2. Блог Chris Webb, пожалуй наиболее полный ресурс с примерами использования Power Query
  3. Книга Chris Webb — Power Query for Power BI and Excel
  4. Блог Ken Puls
  5. Курс «Excel для интернет-маркетинга»
  6. Курс «Power BI для интернет-маркетинга»
  7. Книга Ken Puls и Miguel Escobar — M is for Data Monkey

Понравилась статья? Поделить с друзьями:
  • Планет excel power query
  • План урока функции в excel
  • Планер на неделю шаблон скачать excel
  • План урока текстовый редактор word
  • Планер на неделю скачать word