Перейти к содержимому

Марк Мур. Power Query

Power Query — это технология подключения к данным для их последующего анализа. Power Query – инструмент бизнес-анализа (BI), который ранее могли использовать только подготовленные ИТ-специалисты. Сегодня Microsoft стремится сделать BI доступным обычному пользователю Excel. Power Query способен подключаться к нескольким источникам данных, объединять их и помещать в одну электронную таблицу. Power Query управляет данными еще до того, как они попадут в Excel. Данные Power Query можно загрузить непосредственно на лист Excel или в модель данных Excel. При загрузке данных на лист Excel они отображаются в виде таблицы, которую можно обновить (она повторно подключается к источнику и извлекает новые данные). Работа с моделью данных описана в Марк Мур. Power Pivot.

Mark Mur. Power Query. Oblozhka

Скачать заметку в формате Word или pdf, примеры в архиве. Оригинальные рабочие файлы можно также скачать здесь.

Установка Power Query

Функции Power Query доступны в версиях Excel 2016 и 2019 на вкладке Данные в области Получить и преобразовать данные (рис. 1).

Ris. 1. Funktsii Power Query dostupny v Excel 2019 na vkladke Dannye

Рис. 1. Функции Power Query доступны в Excel 2016 или 2019 на вкладке Данные

Если вы используете Excel 2010 или 2013 загрузите Power Query с сайта Microsoft (выберите 32- или 64-битный вариант). Не все конфигурации поддерживают Power Query (например, на одном из ПК у меня установлен MS Office для дома и учебы 2013; на нем Power Query не запустился). В более ранних версиях Excel Power Query не работает. Для установки Power Query закройте Excel, загрузите msi-файл, запустите его, следуйте подсказкам. Если установка прошла успешно, вы увидите новую вкладку в Excel (рис. 2).

Ris. 2. Vkladka Power Query v Excel 2010 ili 2013

Рис. 2. Вкладка Power Query в Excel 2010 или 2013; чтобы увеличить изображение кликните на нем правой кнопкой мыши и выберите Открыть картинку в новой вкладке

Подключение к источникам данных

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

  • Из Интернета. При нажатии на эту кнопку, появится окно ввода URL-адреса для извлечения данных.
  • Из файла. Именно этому варианту посвящена основная часть настоящей заметки.
  • Из базы данных. Иногда ИТ-специалисты защищают свои базы данных и не предоставляют к ним доступ. Скажите, что вам нужен доступ только для чтения.
  • Из облака Azure, где вы можете хранить собственные данные, или через Azure Marketplace приобрести доступ к наборам данных. Существуют наборы данных, связанные с демографией, статистикой занятости и погодными условиями.
  • Из других источников. Например, из Facebook.

Извлечение данных из Интернета

Откройте Excel. Перейдите на вкладку Power Query или Данные (в зависимости от версии Excel). Нажмите на кнопку Из интернета. В появившемся окне введите URL-адрес http://markmoorebooks.com/powerquery-capitals/ После подключения Power Query появится окно навигатора (рис. 3). В левой части окна отображаются таблицы, доступные на веб-странице. Эта конкретная веб-страница на сайте Майка Мура имеет только одну таблицу.

Ris. 3. Okno navigatora

Рис. 3. Окно навигатора

Щелкните по Table 0. В правой части окна появится предварительный просмотр несколько записей из всего массива данных с веб-страницы. Пока данные не загружены в Excel, и вы можете просто их изучить (нет необходимости загружать сотни или тысячи записей в Excel только для того, чтобы узнать, что вы выбрали неверную таблицу. Можно также обновить запрос, нажав пиктограмму маленькой страницы в правом верхнем углу окна навигатора. Это удобно, если вы подключаетесь к таблице, которая часто меняется, например, это данные валютного курса или цены на акции. Если вы выбрали верную таблицу, нажмите Загрузить. Excel подключится к веб-странице и загрузит данные (рис. 4).

Ris. 4. Zagruzhennaya tablitsa

Рис. 4. Загруженная таблица

Загруженные данные можно обновить несколькими способами:

  • Щелкните правой кнопкой мыши на ячейке таблицы. Выберите в меню Обновить.
  • Выберите ячейку в таблице. Пройдите по меню Данные –> Запросы и подключения –> Обновить всё -> Обновить.

Это самый простой способ загрузки данных в Excel с помощью Power Query. Вы подключились к источнику и извлекли необработанные данные. Иногда этого недостаточно. Но даже в этом простом примере есть ошибка. Обратите внимание, что заголовки столбцов рассматриваются как строки данных, а не как строки заголовков. Чтобы исправить это, необходимо сформировать данные.

Запросы книги Excel

Power Query запоминает, как он ранее загружал данные. Каждая загрузка хранится в пакете запроса. Пакет запроса отображается на панели Запросы и подключения. Давайте поправим наш запрос. Наведите курсор мыши на Table 0. Вы увидите информацию о запросе (рис. 5). Кликните Изменить. Откроется редактор запросов.

Ris. 5. Informatsiya o zaprose

Рис. 5. Информация о запросе

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

Рассмотрим работу редактора на примере CSV-файла. Перейдите на вкладку Данные, кликните на кнопке Из текстового/CSV файла. Выберите тестовый файл StatesAndCapitals.csv. Нажмите Импорт. В окне импорта кликните Изменить. Откроется окно Редактора запросов. Здесь очень много функций, которые позволяют подготовить данные к импорту.

Ris. 6. Redaktor zaprosov

Рис. 6. Редактор Power Query

Книга может содержать несколько запросов. Если кликнуть на стрелке 1 (см. рис. 6) можно переключаться между запросами. Автофильтр (2) был создан автоматически. Можно нажать кнопки для фильтрации данных. Кнопка 3 дает доступ к тем же функциям, что и на ленте. Если вам нужно изменить порядок столбцов, щелкните заголовок столбца и перетащите в нужное место. Вы можете задать имена столбцов по своему усмотрению. Щелкните правой кнопкой мыши по столбцу и выберите Переименовать.

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

Параметры запроса

Справа в окне редактора расположены Параметры запроса. Вы можете переименовать запрос (см. цифру 4 на рис. 6). Сейчас запрос называется StatesAndCapitals. Ниже записываются действия в рамках запроса. Таким образом Power Query запоминает, что вы сделали, и повторно применяет все шаги при нажатии кнопки Обновить. Здесь вы также можете изменить порядок шагов.

Подробнее о функциях ленты Редактора Power Query. На вкладке Главная крайняя слева группа Закрыть представлена одной кнопкой Закрыть и загрузить (рис. 7).

Ris. 7. Knopka Zakryt i zagruzit

Рис. 7. Кнопка Закрыть и загрузить

Кнопка закрывает Редактор и помещает данные в электронную таблицу. По умолчанию, данные будут загружены на текущий лист и представлены в форме Таблицы. Если вы нажмете на стрелку, то получите доступ к дополнительной опции Закрыть и загрузить в…, позволяющей загрузить результат запроса на другой лист и в другом формате (рис. 8).

Ris. 8. Dopolnitelnye optsii knopki Zakryt i zagruzit

Рис. 8. Дополнительные опции кнопки Закрыть и загрузить

Группа Запрос включает 4 кнопки (рис. 9).

Ris. 9. Gruppa Zapros

Рис. 9. Группа Запрос

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

Кнопка Свойства (рис. 10) открывает окно, в котором можно переименовать запрос, добавить описание или задать опцию Быстрая загрузка данных (при этом Excel может подвиснуть).

Ris. 10. Svojstva zaprosa

Рис. 10. Свойства запроса

Кнопка Расширенный редактор позволяет редактировать запрос на уровне кода (рис. 11). Power Query использует новый язык программирования под названием M.

Ris. 11. Rasshirennyj redaktor

Рис. 11. Расширенный редактор

Кнопка Управление позволяет (рис. 12):

  • удалить запрос;
  • создать идентичный запрос (продублировать), с тем чтобы сохранить текущий запрос, а дубль продолжить редактировать;
  • создать запрос, ссылающийся на текущий запрос.

Ris. 12. Knopka Upravlenie

Рис. 12. Кнопка Управление

Группа Управление столбцами.

Ris. 13. Gruppa Upravlenie stolbtsami

Рис. 13. Группа Управление столбцами

Опция Выбор столбцов открывает окно, в котором можно выбрать столбцы для импорта в Excel. Опция Перейти к столбцу также открывает новое окно, в котором представлен список всех столбцов, и есть окно поиска. Эти опции удобнее обычных средств, если таблица очень большая, и ее сложно обозреть на экране. Опция Удалить столбцы удаляет выбранный столбец из запроса. А опция Удалить другие столбцы удаляет все остальные столбцы, кроме выбранного.

Для следующего небольшого упражнения должен быть открыт Редактор запросов с данными StatesAndCapitals. Щелкните столбец Column2, чтобы выделить его (рис. 14).

Ris. 14. Vydelenie stolbtsa v Redaktore zaprosov

Рис. 14. Выделение столбца в Редакторе запросов

Щелкните кнопку Удалить столбцы. Column2 теперь нет. На самом деле, нам еще понадобится этот столбец. Чтобы вернуть его перейдите в окно Параметры запроса и отмените удаление столбца, щелкнув значок рядом с пунктом Удаленные столбцы (рис. 15). Column2 восстановится. Вы можете рассматривать записанные шаги как пункты множественной отмены.

Ris. 15. Otmena poslednego shaga Udalit stolbtsy

Рис. 15. Отмена последнего шага Удалить столбцы

Группа Сократить строки позволяет сохранить или удалить заданное число строк, начиная с выбранной (рис. 16). Опция Удалить чередующиеся строки позволяет выполнить систематическую выборку. Например, вы хотите сохранить каждую N-ю запись. Если вы добавили вычисляемые столбцы в Power Query, некоторые из вычислений могут приводить к ошибке. Такие строки можно удалить опцией Удалить ошибки.

Ris. 16. Gruppa Sokratit stroki

Рис. 16. Группа Сократить строки

Следующая группа позволяет отсортировать данные по возрастанию или убыванию на основе выбранного столбца.

Группа Преобразование (рис. 17). Это, наверное, самое мощное средство Power Query. Рассмотрим пример. Если у вас был открыт Редактор запросов, закройте его.

Ris. 17. Gruppa Preobrazovanie

Рис. 17. Группа Преобразование

В качестве источника используем файл Excel, содержащий отчасти некорректные записи. В меню Данные кликните Получить данные –> Из файла –> Из книги. Выберите SalesData.xlsx. Выберите Table1 в окне Навигатора. Предварительный просмотр таблицы появится в правой части окна (рис. 18).

Ris. 18. Okno navigatora s predvaritelnym prosmotrom dannyh iz Table1

Рис. 18. Окно навигатора с предварительным просмотром данных из Table1

Поскольку вы хотите изменить данные перед загрузкой в Excel, не нажимайте кнопку Загрузить, вместо этого нажмите кнопку Изменить. Откроется Редактор запросов. Структура этого файла не соответствует принятым стандартам базы данных. Столбец Регион содержит собственно регион и через дефис имя продавца. Разделим этот столбец на два. Щелкните на столбце Регион, чтобы выбрать его. Нажмите кнопку Разделить столбец, а затем по разделителю. Откроется окно Разделить столбец по разделителю (рис. 19). Excel сообразил и подставил в первое поле  —Пользовательский—, а во второе знак дефиса. Если этого не произойдет, сделайте установки вручную. Нажмите OK. Столбец разделится на два. Переименуйте новые столбцы.

Ris. 19. Okno razdeleniya stolbtsa po razdelitelyu

Рис. 19. Окно разделения столбца по разделителю

Обратите внимание на три варианта в поле Разделение по. Вы можете столкнуться с проблемой, если разделитель используется также внутри данных. Например, North-East-Lisa, или West-Jean-Paul. Расширенные параметры позволяют в качестве разделителя указать специальный символ.

Замените регион Intl на International. Для этого выделите столбец Регион, щелкните на кнопке Замена значений. В открывшемся окне заполните поля (рис. 20). Нажмите Ok.

Ris. 20. Zamena znachenij

Рис. 20. Замена значений

Обратите внимание, если вы поместите art в поле Значение для поиска, замена выполнится для фрагментов слов artist, part, rampart и т.д. Воспользуйтесь опцией Ячейки целиком в поле Расширенные параметры (рис. 21). Здесь также можно добавить некоторые специальные символы в поля Найти и Заменить.

Ris. 21. Rasshirennye parametry okna Zamena znachenij

Рис. 21. Расширенные параметры окна Замена значений

Кнопка Тип данных. Большую часть времени пользователям Excel не нужно беспокоиться о типах данных. Excel (и Power Query) сами определяют, что перед ними: число, текст или дата. Однако, поскольку вы собираетесь выполнять анализ импортированных данных или включать их в диаграмму, лучше убедиться, что данные соответствуют ожиданиям, сразу при импорте, а не изменять их позже. Изменение типов данных при импорте также поможет выявить неточности. Продолжим работу с текущим запросом.

Щелкните заголовок столбца Дата, чтобы выбрать столбец. Нажмите кнопку Тип данных. Выберите в меню Дата (рис. 22). Первая строка содержит ошибку. Что-то пошло не так с изменением типа данных. Удалите последний шаг преобразований, чтобы увидеть предыдущее значение (его также можно увидеть на рис. 20). База данных содержит ошибку – 6/32/2016.

Ris. 22. Zadanie tipa dannyh

Рис. 22. Задание типа данных

У вас есть несколько способов исправить ошибку:

  • Можно удалить строки, содержащие ошибку (пройдите в Редакторе по меню Сократить строки –> Удалить строки –> Удалить ошибки)
  • Можно добавить вычисляемый столбец, который проверяет ошибки и заменяет их датой по умолчанию.
  • Можно исправить данные (в исходном файле).

Способ, которым вы решите исправить ошибку, зависит от вас. Задача примера – показать, что внимание в отношении правильных типов данных помогает обнаружить ошибки.

Название опции Использовать первую строку в качестве заголовка говорит само за себя.

Кнопка Группировать по позволяет суммировать данные по мере необходимости. Закройте текущий запрос, нажав Закрыть и загрузить. Начнем работу с новым запросом. Перейдите на новый лист Excel. Пройдите по меню Данные –> Получить данные –> Из файла –> Из книги. Импортируйте файл GroupBy.xlsx. Выберите Table2. Нажмите Изменить, чтобы перейти в Редактор запросов. Предположим, вам нужно отобразить среднее кол-во проданных изделий в разрезе регионов. Нажмите кнопку Группировать по. В открывшемся окне введите значения, как на рис. 23. Нажмите Ok.

Ris. 23. Parametry gruppirovki

Рис. 23. Параметры группировки

Ваш набор данных изменяется, и теперь у вас есть только регионы и среднее кол-во проданных изделий (рис. 24). Для красоты замените регион Intl на International, отсортируйте регионы по алфавиту, назначьте формат для среднего кол-ва – Целое число.

Ris. 24. Srednee kol vo prodannyh izdelij po regionam

Рис. 24. Среднее кол-во проданных изделий по регионам

Также можно сгруппировать несколько столбцов. Если вы остались в Редакторе запросов, перейдите к области Параметры запроса и щелкните значок x рядом с Сгруппированные строки, чтобы удалить группировку.

Ris. 25. Otmena gruppirovki

Рис. 25. Отмена группировки

Выделите столбец Region. Нажмите кнопку Группировать по. Включите режим Подробнее (рис. 26). Нажмите кнопку Добавление группирования, чтобы добавить еще один столбец. Измените установки, как показано на рис. 26. Нажимать Ok.

Ris. 26. Gruppirovka po dvum stolbtsam

Рис. 26. Группировка по двум столбцам

В наборе данных теперь есть среднее количество проданных товаров для каждой комбинации региона и продавца (рис. 27).

Ris. 27. Ishodnye dannye sgruppirovannye po regionam i prodavtsam

Рис. 27. Исходные данные, сгруппированные по регионам и продавцам

Вы можете спросить, зачем всё это нужно? Ведь Excel уже имеет сводные таблицы… Excel предоставляет различные способы выполнить одну и туже работу. Power Query может быть лучше, чем сводная таблица (или формулы) в следующих ситуациях:

  • Кол-во строк более 1 млн, что не позволит разместить всю базу данных на одном листе.
  • Файл Excel и так подтормаживает. Еще одна сводная таблица еще более замедлит расчеты.
  • Вам нужно очистить данные, прежде чем собрать их в сводную таблицу. Поскольку данные в последующем будут обновляться, это может потребовать постоянной их «чистки».

Добавление запроса

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

Рассмотрим, например, файлы JanSales.xlsx и FebSales.xlsx. Они имеют одинаковую структуру, в них просто содержатся данные за разные месяцы. Задача – объединить данные из этих файлов. Создайте запрос для JanSales.xlsx. Оставаясь в Редакторе запросов создайте новый запрос, пройдя по меню Главная –> Новый запрос –> Создать источник –> Файл –> Excel (рис. 28).

Ris. 28. Novyj zapros

Рис. 28. Новый запрос

Выберите FebSales.xlsx. Теперь у вас есть два запроса в книге (рис. 29).

Ris. 29. Dva zaprosa

Рис. 29. Два запроса

Нажмите на ленте кнопку Добавить запросы. Выберите таблицу, которая не является текущей (рис. 30). Нажмите Ok. Теперь оба запроса объединены в один – FebSales. Нажмите Закрыть и загрузить. Данные по продажам за два месяца отразятся на одном листе Excel. На их основе можно построить сводную таблицу или дашборд.

Ris. 30. Dobavlenie novoj tablitsy k tekushhej

Рис. 30. Добавление новой таблицы к текущей

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

Объединение запросов

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

Перейдите на новый лист. Импортируйте Companies.csv. Оставаясь в Редакторе запросов, пройдите по меню Создать источник –> Файл –> Текстовый или CSV-файл. Откройте CompanyInvoice.csv. У вас два запроса в одном файле (рис. 31).

Ris. 31. Klienty i scheta

Рис. 31. Клиенты и счета

Каждая компания имеет свой идентификатор и продавца (левая таблица). Справа показано, что каждая компания имеет несколько счетов. Цель – создать запрос, который будет возвращать информацию по компании и сумму всех счетов-фактур. Щелкните на запрос Company, чтобы выбрать его. Щелкните Объединить запросы. Появится окно Слияние (рис. 32). Выберите запрос для слияния – CompanyInvoice и установите Тип соединения. Кликните на поле CompanyID в обеих таблицах (это создает связь между таблицами). Нажмите Ok.

Ris. 32. Okno Sliyanie

Рис. 32. Окно Слияние

Вы связали исходные файлы. В окне Редактора отображается новый столбец. Вам нужно нажать на новый столбец и сообщить Power Query, какие записи нужно вернуть и что вы хотите выполнить агрегацию. Нажмите на двойную стрелку в NewColumn (рис. 33). Выберите Агрегирование (при этом параметры изменятся). Выберите Сумма Invoice Total. Кликните Ok. Вы создали запрос, который объединяет два CSV-файла и вычисляет общую сумму счетов по клиенту (рис. 34).

Ris. 33. Zavershenie agregatsii dvuh tablits

Рис. 33. Завершение агрегации двух таблиц

Ris. 34. Agregirovannaya tablitsa

Рис. 34. Агрегированная таблица

Типы соединений

Power Query позволяет определить несколько типов соединений между таблицами (рис. 35):

  • Внешнее соединение слева. Запрос вернет все записи из левой таблицы и только совпадающие записи из правой таблицы.
  • Внешнее соединение справа. Запрос вернет все записи из правой таблицы и только совпадающие записи из левой таблицы.
  • Полное внешнее. Запрос вернет все записи из обеих таблиц.
  • Внутреннее. Это наиболее распространенный тип. Запрос вернет записи из обеих таблиц, где общее поле равно.
  • Анти-соединение слева. Запрос вернет записи из левой таблицы, в которой нет совпадений в правой таблице.
  • Анти-соединение справа. Запрос вернет записи из правой таблицы, где нет совпадения в левой таблице.

Ris. 35. Tipy soedinenij

Рис. 35. Типы соединений

Вкладка Преобразование

До сих пор вы рассмотрели кнопки Редактора запросов на вкладке Главная. Перейдем на вкладку Преобразование. Часть кнопок совпадает, но есть и целый ряд новых (рис. 36). Группа Таблица. Транспонирование: переключение столбцов и строк. Обратить строки: обратный порядок сортировки записей. Считать строки: подсчитывает количество строк и дает одну запись с количеством строк (это хороший способ увидеть, поместятся ли все записи на листе).

Ris. 36. Vkladka Preobrazovanie pokazany tolko originalnye knopki

Рис. 36. Вкладка Преобразование; показаны только оригинальные кнопки; для удобства лента представлена в виде двух рядов

Группа Любой столбец. Заменить ошибки: заменяет ошибки в выбранных столбцах указанным значением (рис. 37). Заполнить: заполняет пустые ячейки данными из других строк. Это не перезапишет непустые ячейки. Полезно, когда ради украшательства таблицы не заполняют по всем строкам, а группируют, внося повторяющиеся значения один раз.

Ris. 37. Zamena oshibki

Рис. 37. Заменить ошибки

Отменить свертывание столбцов. Давайте сделаем небольшое упражнение. Закройте все открытые окна запросов. Импортируйте файл Unpivot.csv (рис. 38). Вы часто будете получать файлы в таком формате. Отдельный столбец для каждого месяца неудобен для аналитических целей. Сводную таблицу по не сделаешь. Решение – преобразовать данные внутри запроса перед импортом в Excel.

Ris. 38. Tablitsa v formate neudobnom dlya dalnejshej obrabotki

Рис. 38. Таблица в формате неудобном для дальнейшей обработки

Кликните на столбец Jan, затем нажмите Shift и кликните на столбце Dec, чтобы выбрать все столбцы месяцев. Нажмите кнопку Отменить свертывание столбцов на вкладке Преобразования. Запрос отобразит все месяцы в одном столбце и значения в следующем столбце (рис. 39). Можно переименовать столбец Атрибут в Месяц.

Ris. 39. Vid zaprosa posle otmeny svertyvaniya stolbtsov

Рис. 39. Вид запроса после отмены свертывания столбцов

Столбец сведения: это противоположная операция. Вернитесь к запросу из предыдущего примера (рис. 39), выделите столбец Атрибут, кликните кнопку Столбец сведения, Редактор запросов создаст один столбец для каждого месяца.

Группа Столбец «Текст». Кнопку Формат можно использовать для форматирования текстовых значений в столбце (рис. 40).

Ris. 40. Knopka Format

Рис. 40. Кнопка Формат

Усечь: удаляет начальные и конечные пробелы из столбца (но не трогает лишние пробелы между словами). Очистить: удаляет все непечатные символы из столбца. У вас когда-нибудь была ситуация, когда вы вставляете данные в Excel, и данные переходят к следующей строке? Это потому, что исходные данные имели непечатные (и невидимые) возвраты каретки.

Извлечь: извлекает значения из столбца и заменяет их усеченными/измененными значениями (рис. 41). Например, если у вас есть столбец с полным названием месяцев – январь, февраль и т.д., – и вы использовали опцию Извлечь –> Первые символы –> 3 символа, то столбец будет преобразован в янв, фев и т.д. (с помощью опции Формат –> Добавить суффикс вы можете снабдить записи точкой на конце – янв., фев.). Опция Длина возвращает число символов в ячейке.

Ris. 41. Knopka Izvlech

Рис. 41. Кнопка Извлечь

Выполнить анализ: используется для парсинга веб-сайтов, которые возвращают данные в формате XML или JSON (рис. 42).

Ris. 42. Knopka Vypolnit analiz

Рис. 42. Кнопка Выполнить анализ

Группа Столбец «Количество». Команды в этой группе недоступны, пока вы не выберите столбец, содержащий числа. Все функции в этой группе изменят содержимое столбца и применят указанное вычисление (рис. 43). Например, если требуется округлить числа в столбце, щелкните Округление, а затем Округление с увеличением (вверх), Округление с уменьшением или Округление… до заданного числа знаков после запятой.

Ris. 43. Knopki gruppy Stolbets Kolichestvo

Рис. 43. Кнопки группы Столбец «Количество»

Вкладка Добавление столбца

На этой вкладке вы также увидите много знакомых кнопок. Но есть и новые (рис. 44).

Ris. 44. Novye knopki na vkladke Dobavlenie stolbtsa

Рис. 44. Новые кнопки на вкладке Добавление столбца

Настраиваемый столбец: позволяет добавлять столбцы с пользовательским расчет. Например, импортируйте файл Salesdata.xlsx (если вы выполняли примеры выше, то файл уже импортирован; данные сохранены в Table1, так что просто выберите в Редакторе соответствующий запрос и нажмите кнопку Изменить). Перейдите в Редакторе на вкладку Добавление столбца. Кликните на кнопке Настраиваемый столбец. Откроется окно Настраиваемый столбец. Переименуйте новый столбец. Кликните после знака равенства и введите формулу, как показано на рисунке (можно выбрать имя столбца, затем нажать кнопку Вставить, или дважды щелкнуть имя столбца, чтобы вставить его в поле формулы). Нажимать Ok.

Ris. 45. Okno Nastraivaemyj stolbets

Рис. 45. Окно Настраиваемый столбец

Новый столбец Сумма добавляется в запрос данных (рис. 46).

Ris. 46. Nastraivaemyj stolbets Summa dobavlyaetsya v zapros

Рис. 46. Настраиваемый столбец Сумма добавляется в запрос

Столбец индекса: в новый столбец вставляет счетчик для каждой строки. Это полезно, если вам нужно запомнить или сохранить исходный порядок сортировки данных (рис. 47).

Ris. 47. Stolbets indeksa

Рис. 47. Столбец индекса

Трюки в Power Query

Импорт метаданных в Excel. Метаданные – информация о файле, такая, как имя, расширение, время создания, размер и др. Откройте новую книгу Excel. Перейдите на вкладку Данные. Кликните Получить данные –> Из файла –> Из папки (рис. 48).

Ris. 48. Poluchenie metadannyh fajlov

Рис. 48. Получение метаданных файлов

Выберите папку (рис. 49). Нажимать Ok.

Ris. 49. Vybor papki dlya importa metadannyh

Рис. 49. Выбор папки для импорта метаданных

Power Query возвращает следующие данные:

Ris. 50. Metadannye

Рис. 50. Метаданные

Нажмите кнопку Закрыть и загрузить. Данные отразятся в Excel в виде таблицы. Чтобы увидеть, как это работает в проводнике Windows перейдите к выбранной папке. Создайте новый файл (любого типа) и сохраните его в эту папку. Я поместил в ней файл с картинкой. Вернитесь в Excel. Кликните правой кнопкой мыши на таблице и выберите Обновить. Новый файл появится в таблице (рис. 51).

Ris. 51. Posle obnovleniya tablitsa soderzhit novyj fajl

Рис. 51. После обновления таблица содержит новый файл

В Редакторе запросов есть столбец с именем Attributes (он есть на рис. 50, но не на рис. 51). В столбце есть иконка с двумя стрелками. Если вы нажмете на эту стрелку, вы получите всплывающее окно, где вы можете включить дополнительные метаданные обо всех файлах (рис. 52).

Ris. 52. Perechen vseh dostupnyh metadannyh

Рис. 52. Перечень всех доступных метаданных

Загрузка нескольких файлов одной командой. Воспользуемся папкой MonthlySales, в которой имеется два файла: JanSales.csv и FebSales.csv. Откройте новую книгу Excel. Перейдите на вкладку Данные. Кликните Получить данные –> Из файла –> Из папки. Выберите папку MonthlySales. Нажимать Ok. Пока мы в точности повторили первые шаги процедуры загрузки метаданных. Однако, обратите внимание на значок в первом столбце (рис. 53). Кликните на него, и начнется загрузка содержимого файлов.

Ris. 53. Piktogramma zagruzki soderzhimogo fajlov

Рис. 53. Пиктограмма загрузки содержимого файлов

Откроется окно Объединить файлы (рис. 54). Нажмите Ok. Данные из двух файлов объединены в одном запросе.

Ris. 54. Okno Obedinit fajly

Рис. 54. Окно Объединить файлы

Можете удалить столбец Sourse.Name. Нажмите Закрыть и загрузить.

Ris. 55. Zapros obedinyayushhij vse fajly v papke

Рис. 55. Запрос, объединяющий все файлы в папке

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

Больше информации о Power Query см. Кен Пульс и Мигель Эскобар. Язык М для Power Query.

11 комментариев для “Марк Мур. Power Query”

  1. Не получается загрузить данные по публичной ссылке файл из облака (mail.ru, OneDrive). Вразумительного ответа не нашел. Подскажите?

  2. Ромуалда

    Здравствуйте.
    Пытаюсь освоить Power Query Excel 2016 (32 бит) и столкнулась с такой проблемой. Загружая данные с либого источника когда нажымаю на кнопку Edit в окне навигатора то Power Query Editor пытается загрузиться и не получается. Выдает ошибку unexpected Error C:\AppData\Local\Microsoft\Office\16.0\PowerQuery\user.zip is denied. Подскажите, пожалуйста, где может быть причина.
    Благодарю.

  3. Здравствуйте!

    Большое спасибо за Ваш труд! Очень интересная статья и сайт в целом (являюсь Вашим давним читателем). Возник вопрос по поводу абзаца, касающегося отмены свертывания столбцов. Что делать, если столбцы необходимо помещать вниз не по одному, а попарно, то есть таблица двумерная? Пример прилагаю. Мне пришел в голову только вариант с созданием нескольких запросов, по одному для каждого магазина, с их последующей вертикальной склейкой через объединение запросов. Интересно решение именно посредством Power Query. Буду очень благодарен за Ваши мысли по этому поводу. Всего доброго!

  4. Спасибо за простое, доступное описание.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *