usto-excel

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

Html

Показаны сообщения с ярлыком Power Query. Показать все сообщения

Получение данных из MS Excel в Power Query

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

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



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


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

Если теперь мы вернёмся на предыдущий лист, то увидим что Excel автоматически преобразовал наш диапазон в умную таблицу и присвоил ей дефолтное имя Таблица1. Точно такое же имя было присвоено и созданному нами в  Power Query запросу.


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

Получение данных из именованного диапазона

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



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



Получение данных с помощью пустого запроса


Если Ваша книга Excel уже содержит умные таблицы или именованные диапазоны, то Вы можете выбрать и загрузить их прямо из среды Power Query.
Для этого на вкладке Данные, в выпадающем списке Создать запрос выбираем Из других источников -> Пустой запрос. Откроется абсолютно пустое окно Power Query.


Далее в строке формул пишем:
=Excel.CurrentWorkbook()
Появится список всех умных таблиц и именованных диапазонов, содержащихся в текущей книге Excel. Находим нужную нам умную таблицу или именованный диапазон и жмём на зелёную надпись Table напротив их названия.


Получение данных из другой книги

Если же Вам не хочется возиться с созданием умных таблиц и именованных диапазонов, то Вы всё ещё можете получить данные исходного файла создавая запрос из другой книги.
Для этого нужно сохранить и закрыть исходную книгу и в новой книге Exel из выпадающего списка Создать запрос выбрать Из файла -> Из книги.


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


Знакомство с Power Query

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

Каждый опытный пользователь MS Excel мечтает получать данные только в правильной, табулярной форме, без разрывов и лишних символов. В реальности, данные редко попадают к нам в готовом для использования виде. Чаще всего мы получаем информацию в сыром виде, причём люди любят разделять информацию по группам, по листам и файлам. Даже данные полученные из современных автоматизированных систем учёта нуждаются в предварительной обработке. В итоге, большую часть нашего времени нам приходится тратить не на анализ данных или создание отчётов, а:
  • на чистку данных от лишних символов;
  • на объединение разрозненных данных в единую таблицу;
  • на исправление форматов данных, к примеру на трансформацию чисел в американском формате в общемировой формат;
  • на фильтрацию и отсеивание ненужной информации.
До недавнего времени, как-то облегчить этот скучный и неблагодарный труд, можно было лишь при помощи:
  • написания специальных формул, с использованием,библиотеки функций MS Excel;
  • создания процедур на встроенном языке Visual Basic for Applications;
  • использования SQL-запросов.
Главный недостаток вышеперечисленных (безусловно очень полезных) инструментов - высокий порог вхождения. На изучение любого из них и совершенствования навыков в их использовании могут уйти месяцы, а то и годы.

Понимая сложившуюся ситуацию в Microsoft решили создать дополнение к MS Excel, позволяющее автоматизировать процесс получения и обработки данных, которое при этом было бы интуитивно понятным и лёгким в изучении. Так появился Power Query.

Вначале, его можно было скачать лишь с официального сайта Microsoft, в качестве отдельной надстройки для MS Excel 2010 MS Excel 2013. Однако, Power Query оказался настолько революционным и обрёл такую популярность, что начиная с MS Excel 2016 он был интегрирован в программу и доступен уже прямо из коробки.

Однако, не желая загружать пользовательский интерфейс MS Excel 2016, для Power Query не стали создавать отдельную вкладку на ленте а втиснули его в качестве отдельной группы с банальным названием Скачать & преобразовать на вкладке Данные (хотя сообщество пользователей MS Excel и продолжает использовать старое имя - Power Query).



Архитектура Power Query

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

  1. Получение данных;
  2. Преобразование данных;
  3. Загрузка данных;
  4. Обновление данных.


Получение данных

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

Пользователю предлагается выбрать из четырёх групп источников:

  • Из файла;
  • Из базы данных;
  • Из Azure;
  • Из других источников.


На практике, чаще всего используется группа Из файла, позволяющая получать данные из книги Excel, из файлов CSV и XML, из текстовых файлов и (целым скопом) из папки.


И группа Из других источников, позволяющая получать данные из интернета.


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



Для примера, рассмотрим получение данных из следующего текстового файла:


На вкладке Данные выбираем Создать запрос -> Из файла -> Из текста. В открывшемся окне Импорт данных находим нужный нам файл и жмём на кнопку Импорт.


Преобразование данных

Откроется отдельное окно Редактора запросов, с собственной лентой, состоящей из четырёх вкладок:
  • Главная;
  • Преобразование;
  • Добавить столбец;
  • Просмотр.
Каждая из этих вкладок, за исключением последней, содержит набор инструментов, позволяющий трансформировать полученные данные и привести их к нужному нам виду.


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


Прежде всего избавимся от четырёх верхних строк, которые не представляют для нас никакой ценности. Для этого, на вкладке Главная выбираем Сократить строки -> Удалить строки -> Удаление верхних строк. Далее, в появившемся окне указываем количество строк, которые необходимо удалить и жмём ОК.



Теперь нам нужно разделить данные по столбцам. Опять же, на вкладке Главная выбираем Разделить столбец -> По разделителю и в появившемся окне в качестве разделителя указываем табуляцию, после чего жмём ОК.



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


 И последний штрих - если присмотреться к столбцу Сумма, то можно увидеть, что Power Query присвоил ему текстовый тип данных.



Чтобы превратить эти данные в числовые выделяем столбец Сумма и на вкладке Главная изменяем тип данных на Целое число.


Загрузка данных

За загрузку данных отвечает выпадающее меню Закрыть и загрузить на вкладке Главная.
Доступны две команды: Закрыть и загрузить и Закрыть и загрузить в...


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

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


Пользователю предлагается несколько опций:
  • загрузка данных в таблицу с указанием листа (новый либо существующий);
  • только создание соединения - в случае если мы планируем использовать этот запрос для объединения с другими запросами;
  • добавление в модель данных - если мы хотим загрузить полученные данные прямо в модель данных Power Pivot.
Выберем первую команду из выпадающего меню и загрузим данные на новый лист.


Обновление данных

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


Чтобы загрузить новые данные на лист, на вкладке Данные, в группе Подключения, жмём на кнопку Обновить.



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

Заключение

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