Файлы к уроку:
- Для спонсоров Boosty
- Для спонсоров VK
Ссылки:
- Страница курса
- Плейлист YouTube
- Плейлист ВК
Описание
В этом уроке вы узнаете:
- Зачем нужен Power Query
- История Power Query
- Как установить Power Query в Excel
- Зачем нужен Power Query
- Как создать запрос в Power Query
В этом вводном уроке курса Excel Power Query на 1-2-3 мы узнаем, что такое Power Query, зачем он нужен, как его установить и запустить.
Power Query — это встроенный инструмент Excel для получения и преобразования данных (Get and Transform).
Специалистам по Excel приходится каждый день тратить уйму времени на преобразование данных. Мы работаем с разными источниками и данные далеко не всегда приходят в удобном виде.
Например, каждый месяц вы получаете таблицу с ответами на вопросы теста сотрудников компании, где вы работаете в таком виде:
Первый столбец — это дата прохождения теста. 2 следующих столбца — это информация о сотруднике и точке продаж. Далее множество столбцов с ответами на вопросы, а вопрос находится в заголовках столбцов. Ваша задача — получить такую таблицу:
Для каждого сотрудника здесь указано количество ответов, количество верных ответов, результат теста и перечень вопросов с неверными ответами.
В Excel эта задача решается долго и тяжело. Если тесты происходят, например, раз в неделю, то каждую неделю вам придется тратить уйму времени на обработку файлов. Более того, чтобы решить эту задачу стандартными возможностями Excel нужен достаточно высокий уровень владения.
Как вы думаете, сколько времени уйдет на решение этой задачи в Excel Power Query? Всего несколько минут. Более того, вам достаточно решить эту задачу всего 1 раз. А когда придут новые данные достаточно будет всего лишь нажать «Обновить».
Решение
Запуск Power Query
Если у вас Excel от 2016 версии и новее, то Power Query устанавливать не нужно. Он уже встроен в Excel.
Если у вас Excel 2010 или 2013, то Power Query нужно сначала скачать. Перейдите по ссылке https://www.microsoft.com/ru-ru/download/details.aspx?id=39379 и нажмите «Скачать». Потом отметьте галочкой файл для вашей разрядности операционной системы (64 или 32 бит). После скачивания файла запустите установку.
Теперь в главном меню Excel должна появиться еще одна вкладка. Если вкладка не появилась, то перейдите в меню Файл — Параметры — Настройки — Управление — Надстройки СОМ. В открывшемся окне отметьте галочкой пункт Power Query.
Добавить кнопки Power Query на панель быстрого доступа
Я рекомендую добавить кнопки для работы с Power Query на панель быстрого доступа. Это ускоряет работу. Я настоятельно рекомендую добавить 3 команды:
- Изменить запрос
- Запросы и подключения
- Запустить редактор запросов
Если вы не знаете как добавлять кнопки в панель быстрого доступа, то посмотрите видео-версию урока на YouTube.
Нажмите «Настройка панели быстрого доступа». В появившемся окне справа снизу найдите кнопку «Экспорт/импорт». Нажмите ее и укажите путь к скачанному файлу.
Предварительные настройки Power Query
Откройте редактор запросов любым удобным способом:
- При помощи созданной кнопки в панели быстрого доступа
- Вкладка Данные — Группа Получить и преобразовать данные — Получить данные — Запустить редактор запросов
В окне Редактора запросов нажмите Файл — Параметры и настройки — Параметры запроса. В пункте Загрузка данных сделайте настройки как на картинке:
Теперь перейдите в пункт Редактор Power Query и поставьте галочку «Отобразить редактор запросов».
Далее переходим в пункт Конфиденциальность и выбираем «Всегда игнорировать уровни конфиденциальности».
Жмем ОК. Настройки вступят в силу при следующем запуске редактора запросов.
Создаем первый запрос Power Query
Создадим первый запрос к веб-странице с таблицей состава индекса Dow Jones. Выполняем следующие действия:
- Запускаем редактор запросов
- Вкладка Главная — Создать источник — Другие источники — Интернет
- Вводим адрес https://finance.yahoo.com/quote/%5EDJI/components?ltr=1
- Нажимаем Подключение
- Слева указываем нужную таблицу и жмем ОК
Перед вам появится следующее окно редактора запросов Power Query:
Сверху мы видим меню в привычном ленточном интерфейсе как и во всех продуктах Microsoft Office. Слева список запросов, справа примененные шаги к запросу. Теперь продолжим работать с нашим запросом.
Удалим шаг Изменить тип. Для этого в списке шагов справа нажмем на крестик слева от названия шага. Укажем тип данных для каждого столбца.
По умолчанию Power Query определил тип данных каждого столбца как текстовый. Об этом говорит пиктограмма с символами ABC слева от названий столбцов.
Попробуйте нажать на пиктограмму ABC столбца Last Price и указать тип данных десятичное число. В столбце во всех строках отобразятся ошибки. Это произошло из-за того, что в нашем регионе целая и дробная части разделяются запятыми, а в таблице с этого сайта точкой. В таком случае нужно указать тип с использованием локали.
Нажмите правой кнопкой мыши на название столбца Last Price — Тип изменения — Используя локаль. Укажите тип данных целое число и языковой стандарт Английский США. Теперь все получилось. То же самое проделайте для других числовых столбцов.
Теперь перейдите на вкладку Главная, щелкните на нижнюю часть кнопки Закрыть и загрузить, в списке выберете Закрыть и загрузить в. Отметьте пункт Таблица и укажите место, куда эту таблицу поместить, потом нажмите ОК. Наш первый запрос готов!
Power Query разное
Номер урока | Урок | Описание |
---|---|---|
1 | Power Query. Знакомство с Power Query | В этом уроке мы познакомимся в Power Query. Зачем нужен Power Query Как установить Power Query Как его Настроить Как изменить запрос |
2 | Power Query. Подключение XML | В этом уроке мы научимся подключаться к файлам в формате XML и импортировать эти данные в Excel. |
3 | Power Query. Уникальные значения двух столбцов | В этом уроке мы получим уникальные значения из двух столбцов таблицы. |
4 | Power Query. Импорт таблиц PDF | Импорт таблиц из файла PDF, импорт таблиц из множества PDF файлов с объединением в один датасет. |
5 | Power Query. Собрать разбитую строку | В этом практическом уроке мы научимся соединять разбитую строку. Этот пример взят из реальной практики одного из спонсоров канала. |
6 | Power Query. Пивот со счетом | В этом уроке мы создадим пивот, в котором будут пронумерованы столбцы. |
7 | Power Query. Минимальное значение в диапазоне | В этом уроке мы найдем минимальное значение в диапазоне строк. |
8 | Power Query. Нарастающий итог 2 | В этом уроке мы изучим еще один способ сделать нарастающий итог в Power Query. |
9 | Power Query. Нарастающий итог 3 | В этом уроке мы разберем еще один способ выполнить нарастающий итог в Power Query. |
10 | Power Query. Прирост населения Китая | В этом уроке мы сравним прирост населения Китая с приростом населения мира в целом за последние 200 лет. |
11 | Power Query. Повторяющиеся значения в строке | В этом уроке разберем как определить есть ли в строке повторения. |
12 | Power Query. Таблица навигации по функциям М | В этом уроке вы узнаете как создать таблицу навигации по всем функциям языка Power Query. |
13 | Power Query. Удалить запросы и модель данных из книги | Разберем как быстро удалить все запросы и модель данных из текущей книги. |
14 | Power Query. Открыть еще 1 Excel и еще 3 трюка | В этом видео я покажу как открыть еще 1 файл Excel, если у вас уже запущен Power Query. |
15 | Power Query. Подключиться к ZIP архиву | Пользовательская функция для подключения к zip файлу. Подключимся к txt файлу, который находится в zip архиве. |
16 | Power Query. Импорт Word | Импортируем таблицу из документа Word. Для спонсоров разберем импорт таблицы с объединенными ячейками. |
17 | Power Query. Фильтрация списком | В этом уроке мы хотим отфильтровать таблицу при помощи списка, например, хотим получить продажи определенных товаров. |
18 | Power Query. Пользовательская функция Switch | В этом уроке мы создадим пользовательскую функцию Switch. |
19 | Power Query. Информация о формате, Чтение zip | В этом уроке мы узнаем как получить информацию о формате ячеек при помощи Power Query. |
20 | Power Query. Импорт данных из gz | В этом уроке мы разберем как импортировать файл в формате gz. |
21 | Power Query. Удалить лишние пробелы, Text.Split | В этом уроке мы научимся удалять лишние пробелы в текстовом столбце таблицы. |
22 | Power Query. Параметры в SQL-запросе | Вы хотите, чтобы в ваш SQL-запрос подставлялось значение из параметра, источником которого является ячейка с листа Excel. |
23 | Power Query. Параметры в SQL-запросе 2 | Ваш запрос очень большой и количество параметров в нем большое. Как организовать все так, чтобы было удобно работать. |
24 | Power Query. Добавить столбец в каждую таблицу табличного столбца | В этом уроке вы узнаете как трансформировать табличный столбец, например, вы сможете добавить столбец индекса внутрь каждой таблицы табличного столбца. |
25 | Power Query. Интервальный просмотр 1 (ВПР 1) | Объединить 2 таблицы с интервальным просмотром = 1. |
26 | Power Query. Относительный путь к файлу и папке | Если ваш источник находится в той же папке, что и отчет, то вы можете указать относительный путь. В таком случае подключение не будет ломаться, если вы запустите файл на другом компьютере. |
27 | Power Query. Нарастающий итог в каждой категории | Применим функцию нарастающего итога не ко всей таблице, а к определенному окну. |
28 | Power Query. ВПР без Merge или Join | Вам нужно подставить данные из столбца другой таблицы. Как это сделать без объединения таблиц. |
Создание, загрузка и изменение запроса в Excel (Power Query)
Excel для Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 Excel 2010 Еще…Меньше
Power Query предлагает несколько способов создания и загрузки power querys в книгу. Вы также можете настроить параметры загрузки запроса по умолчанию в окне Параметры запроса.
Совет Чтобы упросить, сформированы ли данные на этом плане с помощью Power Query, выберите ячейку с данными, а если появится вкладка Лента контекстного запроса, данные загружаются из Power Query.
Знать, в какой среде вы сейчас? Power Query хорошо интегрирован с пользовательским интерфейсом Excel, особенно при импорте данных, работе с подключениями и редактировании таблиц, таблиц с Excel и именовых диапазонов. Чтобы избежать путаницы, важно в любой момент времени знать, в какой среде вы находитесь, в какой Excel или Power Query.
Знакомые Excel, лента и сетка |
Лента редактора Power Query и предварительный просмотр данных |
Например, работа с данными на Excel значительно отличается от Power Query. Кроме того, подключенные данные, которые вы видите на Excel, могут не работать с Power Query для их обработки. Это происходит только при загрузке данных на таблицу или в модель данных из Power Query.
Переименование я вкладок на таблицах Ямы лучше переименовывать по своему смыслу, особенно если их много. Особенно важно пояснить разницу между данными и данными, загруженными из редактора Power Query. Даже если у вас всего два листа: с таблицей Excel «Лист1»и запросом, созданным путем импорта таблицы Excel Таблица1,ее легко запутать. Всегда имеет смысл изменить названия ярлыков по умолчанию на более понятное. Например, переименуйте Лист1 в Таблицу данных и Таблицу1 в Таблицу запросов. Теперь понятно, какая вкладка с данными, а какая вкладка с запросом.
Вы можете создать запрос из импортируемых данных или пустой запрос.
Создание запроса из импортируемых данных
Это самый распространенный способ создания запроса.
-
Импорт некоторых данных. Дополнительные сведения см. в том, как импортировать данные из внешних источников.
-
Выберем ячейку в данных и выберите запрос> изменить.
Создание пустого запроса
Вы можете начать с нуля. Это можно сделать двумя способами.
-
Выберите Данные> Получить данные >из других источников > пустой запрос.
-
Выберите Данные> получить данные >запуск редактора Power Query.
На этом этапе вы можете вручную добавлять шаги и формулы, если хорошо знаете язык формул Power Query M.
Кроме того, можно выбрать команду На главная в группе Новый запрос. Выполните одно из указанных ниже действий.
-
Выберите Новый источник, чтобы добавить источник данных. Эта команда выглядит так же, как> «Получить данные» на Excel ленте.
-
Выберите Последние источники, чтобы выбрать источник данных, с помощью который вы работали. Эта команда выглядит так же, как> последние источники на Excel ленте.
-
Чтобы ввести данные вручную, выберите Ввести данные. Вы можете выбрать эту команду, чтобы попробовать редактор Power Query независимо от внешнего источника данных.
Предположим, что запрос действителен и не имеет ошибок, его можно загрузить обратно на таблицу или в модель данных.
Загрузка запроса из редактора Power Query
В редакторе Power Query сделайте следующее:
-
Чтобы загрузить на таблицу, выберите Главная> Закрыть & Загрузить > Закрыть & Загрузить.
-
Чтобы загрузить данные в модель данных, выберите Главная> Закрыть & Загрузить > Закрыть & Загрузка.
В диалоговом окне Импорт данных выберите добавить эти данные в модельданных.
Совет Иногда команда «Загрузить в» неатривна или отключена. Это может произойти при первом создании запроса в книге. В этом случае нажмите кнопку Закрыть & Загрузить, на новом > запросы данных & Connections > Запросы, щелкните запрос правой кнопкой мыши и выберите загрузить в . Кроме того, на ленте редактора Power Query выберите запрос> Загрузить в.
Загрузка запроса из области «Запросы и подключения»
В Excel может потребоваться загрузить запрос на другой таблицу или в модель данных.
-
В Excel выберите Запросы> запросы & Connections, а затем выберите вкладку Запросы.
-
В списке запросов найдите запрос, щелкните его правой кнопкой мыши и выберите загрузить в. Появится диалоговое окно Импорт данных.
-
Выберите, как вы хотите импортировать данные, а затем выберите ОК. Чтобы получить дополнительные сведения об использовании этого диалогового окна, выберите знак вопроса (?).
Существует несколько способов изменить запрос, загруженный на таблицу.
Изменение запроса на Excel данных
-
Чтобы изменить запрос, найдите ранее загруженную из редактора Power Query, выйдите ячейку в данных и выберите запрос > Изменить.
Изменение запроса в области «Запросы & подключения»
Возможно, вы & области Запросы и подключения удобнее использовать, если в одной книге много запросов и вы хотите быстро найти его.
-
В Excel выберите Запросы> запросы & Connections, а затем выберите вкладку Запросы.
-
В списке запросов найдите запрос, щелкните его правой кнопкой мыши и выберите изменить.
Изменение запроса в диалоговом окне «Свойства запроса»
-
В Excel выберите Data> Data & Connections > Запросы, щелкните запрос правой кнопкой мыши и выберите Свойства ,выберите вкладку Определение в диалоговом окне Свойства и нажмите кнопку Изменить запрос.
Совет Если вы работаете с запросом на > данных, в диалоговом окнеСвойства выберите вкладку Определение, а затем — Изменить запрос.
Модель данных обычно содержит несколько таблиц, расположенных в связи. Запрос загружается в модель данных с помощью команды Загрузить, чтобы отобразить диалоговое окно Импорт данных, а затем в поле Добавить эти данные в режим данныхl. Дополнительные сведения о моделях данных см. в дополнительных сведениях о том, какие источники данных используются в модели данных книги,Создание модели данных в Excelи Создание таблиц с помощью нескольких таблиц.
-
Чтобы открыть модель данных, выберите Power Pivot > Управление.
-
В нижней части окна Power Pivot выберите вкладку нужной таблицы.
Подтвердим, что отображается правильная таблица. Модель данных может иметь много таблиц.
-
Обратите внимание на имя таблицы.
-
Чтобы закрыть окно Power Pivot, выберите файл> Закрыть. Чтобы освободить память, может потребоваться несколько секунд.
-
Выберите > подключения & свойства >Запросы, щелкните запрос правой кнопкой мыши и выберите изменить.
-
Завершив внесение изменений в редакторе Power Query, выберите файл > Закрыть & загрузить.
Результат
Запрос на этом и в таблице в модели данных обновляются.
Если вы заметили, что загрузка запроса в модель данных занимает намного больше времени, чем загрузка на лист, проверьте действия Power Query, чтобы узнать, фильтруется ли текстовый столбец или структурированный столбец списка с помощью оператора Contains. Это действие приводит Excel повторно прогонять весь набор данных для каждой строки. Более того, Excel не могут эффективно использовать многопрочитанные выполнения. В качестве обходного решения попробуйте использовать другой оператор, например Равно или Начинает с.
Корпорация Майкрософт знает об этой проблеме и находится в стадии исследования.
Вы можете загрузить Power Query:
-
На один из них. В редакторе Power Query выберите Home> Close & Load > Close & Load.
-
В модель данных. В редакторе Power Query выберите Home> Close & Load > Close & Load To.
По умолчанию Power Query загружает запросы на новый таблицу при загрузке одного запроса и одновременно загружает несколько запросов в модель данных. Вы можете изменить поведение по умолчанию для всех книг или только для текущей книги. При настройке этих параметров Power Query не меняет результаты запроса на месте или в данных модели данных и примечаниях.
Кроме того, динамически переопределять стандартные параметры запроса можно в диалоговом окне Импорт, которое отображается после выбора параметра & Загрузитьв.
Глобальные параметры, которые применяются во всех книгах
-
В редакторе Power Query выберите Файл > параметры и параметры >параметры запроса.
-
В диалоговом окне Параметры запроса в левой части в разделе GLOBAL выберите Загрузка данных.
-
В разделе Загрузка Параметры запроса по умолчанию сделайте следующее:
-
Выберите Использовать стандартные параметры загрузки.
-
Выберите Указать настраиваемые параметры загрузкипо умолчанию, а затем выберите или отобирать параметр Загрузить на таблицу или Загрузить в модель данных.
-
Совет В нижней части диалогового окна можно выбрать восстановить параметры по умолчанию, чтобы вернуться к настройкам по умолчанию.
Параметры книги, которые применяются только к текущей книге
-
В диалоговом окне Параметры запроса в левой части в разделе ТЕКУЩАЯ КНИГА выберите Загрузка данных.
-
Выполните одно или несколько из указанных ниже действий.
-
В области Обнаружение типоввыберите или сберем для обнаружения типов столбцов и их заглавных колонок для неструктурированных источников.
По умолчанию они обнаруживаются. Если вы предпочитаете формировать данные самостоятельно, отоставьте этот параметр.
-
В области Связивыберите или отоберем создать связи между таблицами при первом добавлении в модель данных.
По умолчанию перед загрузкой в модель данных можно найти существующие связи между таблицами, например внешние ключи в реляционной базе данных, и импортировать их вместе с данными. Если вы предпочитаете делать это самостоятельно, сделайте это самостоятельно.
-
В области Связивыберите или отоберете update relationships when refreshing queries loaded to the Data Model (Связи) при обновлении запросов, загруженных в модель данных.
По умолчанию отношения не обновляются. При обновлении запросов, уже загруженных в модель данных, Power Query находит существующие связи между таблицами, например внешние ключи, в реляционной базе данных и обновляет их. Это может привести к удалению связей, созданных вручную после импорта данных, или к новым связям. Тем не менее, если вы хотите сделать это, выберите этот параметр.
-
В области Фоновыеданные выберите или отпустите разрешение предварительного просмотра данных для скачивания в фоновом режиме.
По умолчанию предварительный просмотр данных загружается в фоновом режиме. Если вы хотите сразу же видеть все данные, отобираем этот параметр.
-
См. также
Справка по Power Query для Excel
Управление запросами в Excel
Нужна дополнительная помощь?
Что это? Power Query – это бесплатная надстройка для продуктов «Майкрософт», которая значительно облегчает работу с данными: сбор, подготовку, преобразование. Ее не нужно скачивать и как-то специально настраивать.
Как использовать? Интерфейс PQ интуитивно понятен, разобраться в нём не составит труда. Чтобы понять, на что способна эта надстройка, и получить базовые навыки работы в ней, читайте наш материал.
В статье рассказывается:
- Возможности Power Query
- Подключение к данным в Power Query
- Предварительная настройка Power Query
- Редактор запросов Power Query
- Преобразование данных в Power Query
- Строка формул и расширенный редактор
- Типы данных Power Query
- Импорт данных из Power Query
- Использование Power Query в продуктах и службах «Майкрософт»
-
Пройди тест и узнай, какая сфера тебе подходит:
айти, дизайн или маркетинг.Бесплатно от Geekbrains
В статьях о MS Excel в последнее время часто встречаются малопонятные термины, начинающиеся со слова Power. Из контекста этих материалов не всегда получается понять, что подразумевается под Power Query, Power Pivot, Power BI и т. п. Самое главное — неясно, каким образом эти понятия связаны между собой и какую пользу они приносят простому пользователю табличного редактора.
Между тем еще в 2013 году в Microsoft была создана специальная группа разработчиков с целью выпуска бесплатной надстройки для Excel. Разработка получила несколько названий: Power Query, Data Explorer, Get&Transform. Данная надстройка служит для выполнения множества повседневных задач:
- Загрузка данных в таблицу Excel
Экспортировать данные можно из почти 40 сторонних форматов: SQL, Oracle, MS Access, Teradata, целый ряд корпоративных систем ERP (SAP, Microsoft Dynamics, 1C и др.), а также источники из интернета (почти все сайты, сервисы Facebook и Google Analytics).
- Сбор информации из файлов всех основных типов данных
Среди поддерживаемых типов — XLSX, TXT, CSV, JSON, HTML, XML. При этом возможно групповое извлечение данных сразу из нескольких файлов, находящихся в одной папке. Доступна автоматическая загрузка информации из всех листов Excel.
Скачать файл
- Очищение полученных данных от лишних элементов
Надстройка удаляет в частности пустые столбцы и строки, лишние пробелы, непечатаемые символы, различную служебную информацию, а также повторяющиеся значения в ячейках.
- Приведение данных к нужному виду
С помощью PQ можно менять регистр на правильный, приводить цифры к числовому формату, заполнять пробелы, исправлять заголовки таблиц, разделять текстовые фрагменты на столбцы и склеивать их снова в единый текст, выполнять некоторые другие полезные операции.
- Приведение таблицы к нужному виду
Среди возможных операций над таблицами — фильтрация, сортировка и смена порядка столбцов, транспонирование значений, генерация итогов, трансформация кросс-таблиц в обычный плоский формат и обратно.
- Подстановка значений из одной таблицы в другую
Эта операция выполняется по совпадению одного или нескольких параметров. Таким образом, она является полной заменой встроенной в Excel функции ВПР (VLOOKUP) и ее аналогов.
Надстройка представлена в двух вариантах: как отдельный модуль, доступный для скачивания с официального сайта Microsoft (для Excel 2010-13), и как сервисная функция в составе редактора (для Excel 2016). В первом варианте установка PQ добавляет в таблицу новую вкладку. Во втором же случае весь функционал надстройки уже имеется в табличном редакторе по умолчанию — он доступен как группа Get & Transform (Получить и преобразовать) во вкладке Data (Данные).
Оба варианта имеют абсолютно одинаковые возможности.
Power Query обладает отличительной особенностью: все совершенные операции сохраняются как запрос из совокупности шагов, представленный на внутреннем языке программирования M. Каждый шаг может редактироваться и повторяться неограниченное число раз. При этом происходит обновление запроса.
Многие пользователи считают эту надстройку самой полезной в Excel. С ее помощью значительно облегчается выполнение многих рутинных задач. В прежние времена для автоматизации действий писались сложные макросы, теперь же это легко выполняется в PQ. К тому же этот инструмент абсолютно бесплатен, что делает его лидером среди возможных конкурентов. Сегодня он должен иметься в арсенале каждого пользователя Excel, обладающего навыками работы выше среднего.
Подключение к данным в Power Query
Как упоминалось ранее, подключаться могут данные из большого количества различных источников. Это и другие Excel-таблицы, и базы данных популярных форматов, и данные из OData, и даже документы PDF. Также доступна загрузка информации из Power BI с последующим написанием запроса с нуля.
Как получить полный список источников, с которыми может работать Power Query? Excel позволяет увидеть в разделе «Получить данные» («Создать запрос»), находящемся во вкладке «Данные».
Разберем этот процесс на примере переноса значений из обычной таблицы.
Сперва необходимо выделить таблицу и перейти в меню «Из таблицы». В разных версиях редактора это делается по-разному:
- Excel 2010-13 — через вкладку «Power Query».
- Excel 2016 и выше — через меню Данные.
Откроется окно, в котором нужно поставить галочку «Таблица с заголовками».
После этого произойдет преобразование обычной таблицы в «умную». Останется перейти во вкладку «Главная» и нажать «Закрыть и загрузить».
Далее для данного файла полезно посмотреть запросы Power Query. Списки их доступны во вкладке «Данные» в разделе «Запросы и подключения».
Предварительная настройка Power Query
Редактор запросов в Excel открывается следующим образом:
- Вкладка «Данные» — раздел «Получить и преобразовать данные» — пункт «Получить данные» — «Запустить редактор запросов»
Топ-30 самых востребованных и высокооплачиваемых профессий 2023
Поможет разобраться в актуальной ситуации на рынке труда
Подборка 50+ ресурсов об IT-сфере
Только лучшие телеграм-каналы, каналы Youtube, подкасты, форумы и многое другое для того, чтобы узнавать новое про IT
ТОП 50+ сервисов и приложений от Geekbrains
Безопасные и надежные программы для работы в наши дни
Уже скачали 20415
Далее в открывшемся окне выполняются следующие действия: «Файл» — «Параметры и настройки» — «Параметры запроса» — «Редактор Power Query». Здесь напротив пункта «Отобразить редактор запросов» должна быть поставлена галочка.
Теперь необходимо перейти в пункт «Конфиденциальность» и включить опцию «Всегда игнорировать уровни конфиденциальности». После нажатия на кнопку ОК нужно перезапустить редактор.
Редактор запросов Power Query
Открыть редактор также можно путем двойного клика по имени запроса на вкладке «Запросы и подключения». Рассмотрим интерфейс более подробно.
Редактор запросов состоит из следующих функциональных блоков:
- Лента для вкладок «Главная», «Преобразование», «Добавить столбец» и «Просмотр».
- Список созданных запросов (может быть свернут).
- Строка для ввода формул.
- Имя открытого запроса.
- История выполненных операций над запросом и данными (доступны редактирование шагов, изменение их последовательности выполнения, добавление новых или удаление существующих шагов).
Читайте также
- Область предварительного просмотра, позволяющая просматривать в реальном времени результат изменений на каждом шаге.
- Меню операций с данными (может быть открыто кликом правой клавишей мыши).
- Контекстное меню каждого шага (в случае выбора этого шага правой клавишей мыши).
Преобразование данных в Power Query
Полезно подробнее изучить, каким образом преобразовывать данные посредством Power Query. Пример, рассмотренный ниже, наглядно продемонстрирует достаточно простую работу с надстройкой.
Итак, имеется таблица расходов, разбитых по месяцам, а также разделенных на две категории.
Только до 20.04
Скачай подборку тестов, чтобы определить свои самые конкурентные скиллы
Список документов:
Тест на определение компетенций
Чек-лист «Как избежать обмана при трудоустройстве»
Инструкция по выходу из выгорания
Чтобы получить файл, укажите e-mail:
Подтвердите, что вы не робот,
указав номер телефона:
Уже скачали 7503
Общеизвестно, что такое форматирование данных не позволит построить сводную таблицу. Для приведения значений к нужной структуре используем функционал PQ. Последовательность действий будет следующей:
- Выделение всей таблицы либо одной ячейки.
- Выбор пункта «Из таблицы» (или « Из таблицы/диапазона») во вкладке «Данные».
- Активация опции «Таблица с заголовками» в открывшемся окне.
- Выделение столбцов с месяцами (например, май и июнь) путем одновременного нажатия Ctrl и левой клавиши мыши по соответствующим названиям столбцов внутри редактора запросов.
- Преобразование таблицы (меню «Преобразование» — «Заполнить» — «Вниз») с заполнением пустых строк значениями верхних ячеек.
Все действия, выполняемые с использованием надстройки, автоматически фиксируются. Они отображены в правой части рабочего пространства («Параметры запроса» — «Примененные шаги»).
Как уже упоминалось, шаги запроса доступны для редактирования. Для этого необходимо выбрать конкретное действие указателем мыши и изменить это действие. Изменение сразу же отобразится в панели предварительного просмотра. Перемещение или добавление шагов также осуществляется мышью.
Все операции с данными PQ выполняет пошагово. То есть, каждое следующее действие опирается на результаты предыдущего. Это нужно учитывать, добавляя новые шаги или изменяя последовательность их выполнения. То есть, следует всегда проверять корректность всех следующих шагов путем клика по самому нижнему.
Помимо рассмотренных простейших операций, надстройка может выполнять и более сложные, среди которых фильтрация, замена и группировка значений, заполнение пустых ячеек, удаление дубликатов. Поддерживаются расширенная работа с текстом и числами, выполнение простых вычислений, различные виды трансформации таблиц, объединение данных и многое другое.
Строка формул и расширенный редактор
В работе с графическим редактором рано или поздно возникают ситуации, когда штатными средствами грамотно преобразовать данные не представляется возможным. Это требует особой конфигурации программы с применением параметров, не поддерживаемых графическим интерфейсом. Для таких случаев существуют специальные формулы Power Query, являющиеся частью встроенного языка M. Подсистема позволяет выполнять скрипты преобразований в фоновом режиме.
Язык преобразования данных M обрабатывает каждое событие, происходящее внутри запроса. Однако для использования расширенного функционала PQ лучше использовать соответственно расширенный редактор.
Он предоставляет полный доступ к скрипту запроса для последующей модификации. Другими словами, если функции пользовательского интерфейса не обеспечивают требуемую точность, следует воспользоваться расширенным редактором и инструментами языка M для гибкой настройки функций и преобразований.
При этом глубоко разбираться в коде необязательно. Большая часть операций выполняется мышью по пунктам меню.
Для ввода формул используется соответствующая строка, которая по умолчанию скрыта. Для ее включения необходимо перейти во вкладку «Просмотр» и активировать пункт «Строка формул».
Ознакомиться с доступными формулами можно в этом же блоке, нажав на кнопку «Расширенный редактор». Откроется окно, в котором отобразится полный текст запроса.
Типы данных Power Query
Типы данных — это неотъемлемая составляющая любого запроса PQ. Поэтому их обязательно нужно определять. Как правило, типы данных задаются после всех выполненных преобразований. Делается это одним из трех способов:
- через вкладку «Главная», далее «Тип данных» («Преобразование»), далее «Определить тип данных»;
- через клик указателем мыши по значку типа данных в названии столбца;
- через вкладку «Преобразование», далее «Дата», далее «Выполнить анализ».
Читайте также
Проверку правильности задания типов данных нужно проводить перед каждым сохранением запроса. При этом рекомендуется вручную удалять автоматически добавляемый шаг «Измененный тип».
Импорт данных из Power Query
Что делать с данными после преобразования в Power Query? Как добавить их в другие программы? Разберем несколько доступных вариантов импорта данных.
Для начала следует определить подходящие способы в процессе сохранения запроса («Главная» — «Закрыть и загрузить в…»). В сохраненном запросе параметры импорта задаются на вкладке «Запросы и подключения» путем клика правой клавишей мыши по названию запроса и выбора «Загрузить в…».
В редакторе Excel предлагается импортировать преобразованные данные одним из нескольких способов:
- Выгрузка на лист
Сперва задаем способ представления данных, затем переходим во вкладку «Таблица», далее вставляем данные на лист. При этом автоматически создается смарт-таблица.
- Сводная таблица (диаграмма)
Здесь после определения способа представления нужно перейти в «Отчет сводной таблицы» («Сводная таблица»). Импорт данных будет выполнен в соответствующем виде.
- Только подключение
Для сохранения запроса следует выбрать пункт «Только создать подключение».
- Добавление данных в модель данных
Активация пункта «Добавить эти данные в модель данных» приводит к добавлению выбранных данных в модель Power Pivot.
Использование Power Query в продуктах и службах «Майкрософт»
Различные продукты от Microsoft могут так или иначе поддерживать Power Query. Таблица, приведенная ниже, демонстрирует наличие либо отсутствие этой настройки в конкретном ПО.
Продукт | M engine1 | Power Query Desktop2 |
Power Query Online3 |
Потоки данных 4 |
Excel для Windows | + | + | — | — |
Excel для Mac | + | — | — | — |
Power BI | + | + | + | + |
Power Apps | + | — | + | + |
Power Automate | + | — | + | — |
Сервер отчетности Power BI | + | + | — | — |
Облачная платформа Azure | + | — | + | + |
Сервисы интеграции SQL Server | + | — | — | — |
Сервисы аналитики SQL Server | + | + | — | — |
Dynamics 365 Customer Insights | + | — | + | + |
Mengine | Используется язык M для базового механизма выполнения запросов. | |||
Power Query Desktop | Интерфейс PQ используется в классических приложениях. | |||
Power Query Online | Интерфейс PQ используется в веб-приложениях. | |||
Dataflows | PQ представлен в качестве облачного сервиса, не зависящего от конкретного продукта. Результаты преобразований данных используются другими приложениями. |
Итак, Power Query обладает внушительным арсеналом средств для автоматизации рутинных действий, связанных с обработкой данных из различных источников. У каждого опытного пользователя MS Excel эта надстройка должна быть подключена, изучить ее возможности под силу практически каждому.
Power Query — это инструмент для продвинутого бизнес-анализа, предназначенный для подключения к источникам данных и их преобразования.
Несмотря на то, что данные в Excel можно загружать с помощью инструментов Power Pivot, возможностей для преобразования и доступных источников данных в Power Query намного больше и работа с ними проще. Итак, теперь для обработки таблиц и подключения к данным больше не нужны сложные формулы и макросы.
Power Query в меню Excel
В зависимости от того, какая у вас версия Excel, вид надстройки Power Query может выглядеть по-разному. В Excel 2010 и 2013 надстройка появляется в виде отдельной вкладки «Power Query» (если у вас такой вкладки нет, прочитайте, как ее установить).
В Excel после 2016 года Power Query уже встроен по умолчанию и находится в меню Данные → раздел Получить и преобразовать данные (в некоторых версиях Excel этот раздел называется Скачать & преобразовать).
Работа с данными в Power Query
Power Query умеет:
- напрямую подключаться к данным в различных источниках;
- очищать данные и выполнять преобразования;
- подготовленные данные выгружать на лист, в сводную таблицу или добавлять в модель данных Excel.
Таким образом, Power Query – это полноценный ETL-инструмент (Extract, Transform, Load).
Подключение к данным в Power Query
В Power Query можно подключать данные из самых разных источников: таблицы в самом файле и других Excel-файлах, текстовые/csv файлы, папки, базы данных, источники в интернете, файлы xml и json, pdf-файлы, данные из канала OData и так далее. А также загрузить данные из Power BI и написать запрос с нуля – Пустой запрос.
Чтобы посмотреть, какие именно источники данных доступны в Excel, перейдите на вкладку Данные → Получить данные (или Создать запрос, если у вас не новая версия Excel).
Для примера добавим в Power Query данные из таблицы.
- Выделите любую таблицу на листе Excel и перейдите в меню:
— в Excel 2010 и 2013: вкладка Power Query → Из таблицы (или С листа).
— для Excel после 2016: меню Данные → Из таблицы (Из таблицы/диапазона).
В открывшемся окне поставьте галочку «Таблица с заголовками».
Таблица с данными при этом превратится в «умную» smart-таблицу.
- Откроется окно редактора запросов, в котором будет наша таблица. Нажимаем кнопку в меню Главная → Закрыть и загрузить. Готово!
Чтобы открыть список запросов, нажмите в меню Данные → Запросы и подключения. В открывшейся вкладке «Запросы и подключения» отобразится список всех запросов, созданных в файле.
Редактор запросов Power Query
Разберем подробнее интерфейс редактора запросов Power Query.
Если окно редактора у вас закрыто, откройте его в меню Данные → Получить данные → Запустить редактор запросов. Или щелкните 2 раза мышкой по названию запроса на вкладке Запросы и подключения.
Итак, в редакторе Power Query есть:
- Лента редактора запросов для вкладок меню: Главная, Преобразование, Добавить столбец, Просмотр.
- Перечень созданных запросов, который можно свернуть / развернуть.
- Строка формул.
- Название самого запроса.
- Примененные шаги запроса: записанные шаги получения или преобразования данных. Их можно редактировать, выбирая в списке, изменять последовательность шагов, добавлять новые или удалять.
- Область предварительного просмотра, в которой выводится результат преобразования данных для каждого шага.
- Меню для данных, которое открывается при нажатии правой кнопкой мышки.
- При выборе правой кнопкой мыши названия шага появляется его контекстное меню.
Преобразование данных
Посмотрим на простом примере, как преобразовать данные в Power Query.
Допустим, у нас есть таблица с выручкой и расходами по городам за несколько лет. В таблице эти показатели разделены на две группы. Столбец с городами тоже имеет группировки (смотрите рисунок).
Если вы знакомы со сводными таблицами, то знаете, что построить сводную на основе таких данных не получится. Привести их в «нужный вид» можно в Power Query буквально за несколько щелчков мышкой:
- выделите таблицу (можно выделить таблицу целиком или одну из ячеек);
- выберите в меню Данные → Из таблицы (Из таблицы/диапазона);
- в появившемся окне поставьте галочку рядом с «Таблица с заголовками» → ОК;
- в открывшемся редакторе запросов выделите столбцы «показатель» и «город», нажав мышкой на названия столбцов с зажатым Ctrl;
- в меню нажмите Преобразование → Заполнить → Вниз.
- Готово! Пустые строки заполнены значениями из ячеек сверху.
При создании запроса Power Query сам автоматически записывает его шаги. Их можно увидеть в области справа Параметры запроса → Примененные шаги.
Шаги запроса можно редактировать, выбирая мышкой (таблица в области предварительного просмотра при этом тоже изменится). Ненужные шаги удаляются при нажатии на «крестик». Можно добавлять новые шаги в середину запроса или менять их местами, перемещая мышкой.
Обработка данных в Power Query выполняется последовательно, шаг за шагом, и каждое последующее действие использует результаты предыдущего. Поэтому при добавлении новых шагов или изменении их последовательности обязательно проверьте, все ли в порядке со следующими операциями. Проверить, все ли в порядке, можно, нажав на самый нижний шаг.
Кроме простых операций с данными, Power Query умеет выполнять и другие действия: сортировать, фильтровать, заменять, группировать, заполнять пустые значения, удалять дубликаты, работать с текстом и числами, выполнять простые вычисления, транспонировать таблицы и разворачивать их столбцы, объединять данные и многое-многое другое.
Строка формул и расширенный редактор
Код запроса, который вы создаете в Power Query, автоматически записывается на языке M. Это не значит, что обязательно потребуется писать код – большинство операций по преобразованию данных можно выполнить только с помощью кнопок меню.
Формулы Power Query выводятся в строке формул. По умолчанию эта строка скрыта, ее включают на вкладке Просмотр → Строка формул.
Чтобы посмотреть все формулы, здесь же на вкладке Просмотр нажмите на кнопку Расширенный редактор. В открывшемся окне появится полный текст запроса.
Типы данных Power Query
Определение типов данных – важная часть каждого запроса Power Query. Обычно типы данных задают в конце запроса после всех преобразований:
- в меню Главная → Тип данных или Преобразование → Определить тип данных;
- нажать мышкой по значку типа данных в названии столбца;
- определить тип даты на вкладке Преобразование → Дата → Выполнить анализ.
Перед сохранением запроса проверьте, все ли типы данных заданы правильно. Это сэкономит время на поиск ошибок. А вот шаг «Измененный тип», который автоматически проставляется в середине запроса, лучше удалить.
Импорт данных из Power Query
Итак, данные преобразованы. Что делать с ними дальше? В Power Query доступно несколько вариантов импорта данных.
Способы импорта можно задать при сохранении запроса Главная → Закрыть и загрузить в…
… А если запрос уже сохранен – в списке на вкладке Запросы и подключения. Щелкните по названию запроса правой кнопкой мышки и выберите в меню Загрузить в
Excel предлагает пользователям на выбор несколько вариантов импорта данных (вид окна импорта может отличаться в зависимости от версии Excel):
- Выгрузка на лист: выберите способ представления данных → Таблица, поместить данные на лист. На листе будет создана «умная» smart-таблица с данными из Power Query.
- Сводная таблица или сводная диаграмма: способ представления → Отчет сводной таблицы или Сводная диаграмма. Данные будут импортированы в виде сводной таблицы.
- Только подключение: выберите Только создать подключение. Запрос будет сохранен.
- Добавить данные в модель данных: при нажатии галочки «Добавить эти данные в модель данных» результаты выполнения запроса будут добавлены в модель Power Pivot.
Время на прочтение
7 мин
Количество просмотров 194K
В данной статье я хочу рассказать о некоторых возможностях бесплатной и крайне полезной, но пока еще мало известной надстройки над 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 можно применять такие функции как:
- Разделить столбец по символу или по количеству символов. И в отличие от Excel можно задать максимальное количество столбцов, а также направление откуда нужно считать символы — слева, справа.
- Изменить регистр ячеек в столбце
- Подсчитать количество символов в ячейках столбца.
Числовые функции
К столбцам с числовыми значениями по нажатию на кнопки на Ribbon можно применять:
- Арифметические операции
- Возводить в степени, вычислять логарифмы, факториалы, корни
- Тригонометрические операции
- Округлять до заданных значений
- Определять четность и т.д.
Функции для работы с датами, временем и продолжительностью
К столбцам со значениями даты и времени по нажатию на кнопки на Ribbon можно применять:
- Автоматическое определение формата вписанной даты (в excel c этим большая боль)
- Извлекать в один клик номер месяца, дня недели, количество дней или часов в периоде и т.п.
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:
- разбираю семантику для Толстых проектов,
- Делаю частотные словари,
- Создаю веб-аналитические дашборды и отчеты для анализа конкретных срезов,
- Восстанавливаю достижение целей в системах веб-аналитики, если они не настроены на проекте,
- Сглаживаю прогноз вероятности методами Андрея Белоусова (+Байеса:),
- Делаю аудит контекстной рекламы на данных из K50 статистика,
- И много других разных ad-hoc analysis задач, которые нужно сделать лишь однажды
Вот bi систему, про которую я рассказывал на Yac/M 2015 (видео) я делал полнстью при помощи Power Query и загружал данные внутрь PowerPivot.
Пару слов про локализацию
На сайте Microsoft для пользователей из России по умолчанию скачивается Power Query с переведенным на русским язык интерфейсом. К счастью, локализаторы до перевода на русский языка программирования (как это сделано с языком формул в excel) не добрались, однако жизнь пользователям неоднозначными переводами сильно усложнили. И я призываю вас скачивать, устанавливать и пользоваться английской версией Power Query. Поверьте, она будет гораздо понятнее.
Ссылки по теме
Официальные ресурсы на английском:
- Скачать Английскую версию Power Query
- Справка по формулам языка M
- Ветка Форума Microsoft Technet про Power Query
На момент написания статьи на русском языке информации по Power Query практически нет, и то что мной найдено приведено ниже:
- Импорт данных из таблиц в Google Spreadsheets
- Power BI. Получаем данные из REST API
- Сообщество продвинутых пользователей Excel, Power Pivot и Power Query в Facebook
- Обновляемая страничка в Marketing-wiki про Power Query
На английском:
- Видео с демонстрацией возможностей Power Query на конференции TechEd North America
- Блог Chris Webb, пожалуй наиболее полный ресурс с примерами использования Power Query
- Книга Chris Webb — Power Query for Power BI and Excel
- Блог Ken Puls
- Курс «Excel для интернет-маркетинга»
- Курс «Power BI для интернет-маркетинга»
- Книга Ken Puls и Miguel Escobar — M is for Data Monkey
На чтение 17 мин. Просмотров 64.3k.
Есть одна вещь, которая волнует всех — как сэкономить больше времени и работать с умом.
Что ж, я уже давал много приемов и трюков Excel, которые значительно облегчат работу. Но сегодня речь пойдет о POWER QUERY. Да-да, вы все правильно поняли.
POWER QUERY — это то, что может изменить вашу жизнь. Сегодня в этой статье я поделюсь с вами некоторыми удивительными приемами Power Query, которые вы можете начать использовать прямо сейчас.
Эти советы не только помогут вам сэкономить время, но и вдохновят вас использовать POWER QUERY для управления данными. По крайней мере, я на это надеюсь.
Прежде чем мы перейдем к приемам, нужно прояснить пару моментов.
Содержание
- Почему я должен использовать Power Query?
- Как установить Power Query — Шаги
- Лучшие 25 приемов Power Query для экономии времени в повседневной работе
- Заключение
Почему я должен использовать 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, она уже находится на вкладке «Данные» — «Скачать & преобразовать».
Для версий 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. Разделить столбец
Точно так же как опция как «Текст по столбцам» есть в запросе: «Разделить столбец». Сейчас я расскажу, как это работает.
В приведенном ниже списке у вас есть имя и фамилия с дефисом между ними.
Теперь вам нужно разделить их на две колонки. Используйте эти шаги:
- Прежде всего, откройте список в редакторе
- После этого выберите столбец и перейдите на вкладку «Преобразование» ➜ «Разделить столбец» ➜ «по разделителю».
- Выберите «Пользовательский» из выпадающего списка и введите «-» в него.
- Теперь у вас есть три варианта, как разбить столбец.
- Самый левый разделитель
- Самый правый разделитель
- По каждому вхождению разделителя
Поскольку у нас есть только один разделитель в ячейке, все три будут работать одинаково, но если у вас более одного разделителя, вы можете выбрать нужный.
- В конце нажмите 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.
- Отсюда нам нужно выбрать все столбцы, которые мы хотим отключить.
- Для этого выберите столбец Янв, нажмите и удерживайте клавишу Shift и выберите столбец Дек.
- После этого щелкните по нему правой кнопкой мыши и выберите «Отменить свертывание столбцов».
- Теперь все значения 12-ти столбцов разделены на два столбца. В одном — месяц, в другом — сумма.
- Последнее, что вам нужно сделать, это переименовать столбцы. Для этого щелкните правой кнопкой мыши по столбцу и переименуйте их.
- В конце нажмите «Закрыть и загрузить».
Теперь ваши данные кросс-таблицы преобразуются в простые данные, и вы можете использовать их для создания сводных таблиц и всего прочего для дальнейшего анализа и составления отчетов о продажах.
13. Изменить регистр
Как в функциях, которые вы используете в Excel, в Power Query есть пакет опций для изменения регистра текста.
- нижний регистр
- ВЕРХНИЙ РЕГИСТР
- Каждое Слово С Прописной
Вы можете сделать это, щелкнув правой кнопкой мыши по столбцу и выбрать любой из трех указанных выше вариантов. Или перейдите на вкладку «Преобразование» ➜ «Столбец Текст» ➜ «Формат».
14. Усечь и Очистить
Чтобы очистить данные или удалить ненужные пробелы, вы можете использовать опции Усечь и Очистить в Power Query.
Шаги просты:
- Щелкните правой кнопкой мыши по столбцу или выберите все столбцы, если у вас несколько столбцов.
- Перейдите к опции преобразования и выберите любую из опций:
- Усечь: для удаления лишних пробелов из ячейки.
- Очистить: для удаления непечатаемых символов из ячейки.
15. Добавить префикс / суффикс
Итак, у вас есть список значений, и в этот список вы хотите добавить префикс / суффикс в каждую ячейку. В Excel вы можете использовать функцию СЦЕПИТЬ, но в Power Query есть более простой способ.
- Прежде всего, выберите столбец, в который нужно добавить префикс / суффикс.
- Затем перейдите на вкладку «Преобразование» ➜ Столбец Текст ➜ Формат ➜ Добавить префикс / Добавить суффикс.
- Как только вы нажмете одну из опций, откроется диалоговое окно для ввода текста.
- После ввода текста нажмите ОК.
Опция работает одинаково для чисел, текста и дат.
16. Извлечь значения
Если вы разбираетесь в формулах, то вы согласитесь со мной, что для извлечения текста или числа из ячейки необходимо комбинировать несколько функций. Power Query решает много подобных задач. У вас есть семь способов извлечь значения из ячейки. И да, одним щелчком мыши.
Просто посмотрите на варианты, которые у вас есть.
Эти опции закрыли все основные вещи задачи, которые вы привыкли решать с помощью формул.
17. Только дата или время
Часто бывает, что у вас есть дата и время в одной ячейке, но вам нужна только одна из них.
Для этого в Power Query вам нужен всего лишь один клик, вот шаги.
- Выберите столбец, где у вас есть дата и время вместе.
- Если вам нужна Дата: щелкните правой кнопкой мыши ➜ Преобразование ➜ Только дата;
- Если хотите Время: щелкните правой кнопкой мыши ➜ Преобразование ➜ Только время.
18. Объедините дату и время
Теперь у вас есть отдельно дата и время. Значит, пора узнать, как их объединить.
Это довольно просто.
- Прежде всего, загрузите ваши данные в редактор.
- После этого выберите оба столбца (Дата и время) и перейдите на вкладку преобразования.
- Теперь из группы Столбец «Дата и время» перейдите к «Дата» и нажмите «Объединить дату и время».
Теперь у вас есть новый столбец с объединенным данными.
19. Округление чисел
У нас есть функции для округления чисел в Excel, но также есть и Power Query.
Вот варианты:
- Округление с увеличением.
- Округление с уменьшением.
- Округление: Вы можете выбрать, до какого знака после запятой округлить.
Шаги:
- Прежде всего, откройте ваши данные в редакторе.
- Выберите столбец правой кнопкой мыши ➜ Преобразование ➜ Округление и выберите любой из трех вариантов.
Примечание. Когда вы выбираете опцию «Округление», вам нужно ввести количество десятичных знаков для округления.
20. Расчеты
В Power Query есть варианты, которые вы можете использовать для выполнения расчетов. Посмотрите на приведенный ниже список.
- Стандартный
- Статистика
- Научный
- Тригонометрические
- Округление
- Информация
Вы можете найти все эти опции на вкладке Преобразование.
Для выполнения любого из этих расчетов вам нужно выбрать столбец и выбрать опцию.
21. Группировка
Как и сводные таблицы, Power Query — отличный вариант для группировки. Вы можете найти эту опцию на вкладке Преобразование.
Допустим, у вас большой набор данных и вы хотите создать сводную таблицу. Вот что вам нужно сделать:
- На вкладке «Преобразование» нажмите «Группировать по», откроется диалоговое окно.
- Теперь в этом диалоговом окне выберите столбец, который вы хотите сгруппировать.
После этого добавьте имя, выберите операцию и столбец, в котором у вас есть значения.
- В конце нажмите ОК.
Примечание. В параметре «Группировать по» также есть несколько расширенных опций, которые можно использовать для создания многоуровневой групповой таблицы.
22. Удалить знак отрицания
Есть много методов удаления отрицательного знака, и один из них — это Power Query.
Щелкните правой кнопкой мыши по столбцу и перейдите в Преобразование, а затем нажмите на Абсолютное значение.
23. Добавить настраиваемый столбец
Хотя в Power Query есть много опций, вы также можете создать пользовательский столбец, используя формулу расчета. Выполните следующие шаги, чтобы его создать:
- Прежде всего, перейдите на вкладку Добавление столбца ➜ Настраиваемый столбец.
- Здесь у вас появится диалоговое окно для создания формулы для использования в столбце (сейчас я хочу умножить количество на цену). Ведите формулу в поле формулы.
Совет. Когда вы вводите формулу, в диалоговом окне появится сообщение, если в формуле есть какая-то ошибка.
24. Автообновление запроса
Из всех советов и приемов, которые я упомянул здесь, этот является наиболее важным. Когда вы создаете запрос, вы можете сделать его автоматическим обновляемым (вы можете установить таймер).
Вот шаги:
- На вкладке «Данные» нажмите «Существующие подключения»
- Теперь щелкните правой кнопкой мыши по нужному запросу, далее Изменить свойства подключения.
- Введите минуты в открывшемся диалоговом окне.
- В конце нажмите ОК.
25. Создайте сводную таблицу из нескольких рабочих книг.
Иногда мы получаем или собираем данные из разных книг. И в этом случае создание сводной таблицы потребует дополнительных усилий для объединения этих нескольких рабочих книг в одну.
Но вы можете сделать это радостью с помощью Power query. Выполните эти три простых шага, чтобы создать сводную таблицу из разных рабочих книг.
У меня есть четыре книги с данными о продажах для разных отделений.
Убедитесь, что все эти файлы в одной папке.
Шаг 1 — Объедините файлы с помощью Power Query
Прежде всего, нам нужно объединить все файлы в одну таблицу с Power Query.
- Перейдите на вкладку «Данные» ➜ «Скачать & Преобразовать» ➜ «Создать запрос» ➜ «Из файла» ➜ «Из папки».
- Теперь в окне выбора папки нажмите «Обзор» и выберите папку, в которой находятся все файлы.
- Нажмите ОК.
- Вы увидите окно «Объединить файлы».
- В этом окне выберите лист с вашими данными во всех книгах. Важно: Убедитесь, что во всех книгах указано одинаковое имя листа!
- После того, как вы нажмете OK, Power Query отправит все данные из рабочих книг в редактор.
Шаг 2 — Подготовка данных для сводной таблицы
Теперь нам нужно внести небольшие изменения в наши данные, чтобы подготовить их к сводной таблице. Если вы посмотрите на данные, у нас появился дополнительный столбец с именем исходного файла.
- Щелкните правой кнопкой мыши по этому столбцу и выберите «Разделить столбец» ➜ «По разделителю».
- В окне разделителя выберите «Пользовательский», добавьте «.» в качестве разделителя и выберите «Самый левый разделитель».
- Нажмите ОК.
- После этого удалите второй столбец.
- Теперь переименуйте первый столбец.
- Теперь ваши данные готовы. Нажмите на закрыть и загрузить.
Шаг 3 — Вставьте сводную таблицу
На данный момент у нас есть новая рабочая таблица в рабочей книге с объединенными данными из всех четырех файлов. Теперь пришло время создать из них сводную таблицу.
- Выберите таблицу и перейдите на вкладку «Вставка» и нажмите кнопку «Сводная таблица».
- Откроется окно создания сводной таблицы. Нажмите OK, и вы получите новую сводную таблицу в своей книге.
Поздравляю! Вы успешно создали новую сводную таблицу из разных файлов.
Заключение
Вы можете не пользоваться POWER QUERY. Но… Многие вещи, которые мы делаем с формулами и функциями или кодами VBA, могут быть автоматизированы с помощью 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)
Затем в открывшемся окне переходим в нашу папку с отчетами и выбираем любой из файлов-городов (не играет роли какой именно, т.к. они все типовые). Через пару секунд должно появиться окно Навигатор, где нужно в левой части выбрать требуемый нам лист (Продажи), а в правой отобразится его содержимое:
Если нажать в правом нижнем углу этого окна кнопку Загрузить (Load), то таблица будет сразу импортирована на лист в исходном виде. Для одиночного файла — это хорошо, но нам нужно загрузить много таких файлов, поэтому мы пойдем немного другим путем и жмем кнопку Правка (Edit). После этого должен в отдельном окне отобразиться редактор запросов Power Query с нашими данными из книги:
Это очень мощный инструмент, позволяющий «допилить» таблицу под нужный нам вид. Даже поверхностное описание всех его функций заняло бы под сотню страниц, но, если совсем кратко, то с помощью этого окна можно:
- отфильтровывать ненужные данные, пустые строки, строки с ошибками
- сортировать данные по одному или нескольким столбцам
- избавляться от повторов
- делить слипшийся текст по столбцам (по разделителям, количеству символов и т.д.)
- приводить текст в порядок (удалять лишние пробелы, исправлять регистр и т.д.)
- всячески преобразовывать типы данных (превращать числа как текст в нормальные числа и наоборот)
- транспонировать (поворачивать) таблицы и разворачивать двумерные кросс-таблицы в плоские
- добавлять к таблице дополнительные столбцы и использовать в них формулы и функции на встроенном в Power Query языке М.
- …
Для примера, давайте добавим к нашей таблице столбец с текстовым названием месяца, чтобы потом проще было строить отчеты сводных таблиц. Для этого щелкните правой кнопкой мыши по заголовку столбца Дата и выберите команду Дублировать столбец (Duplicate Column), а затем щелкните правой кнопкой мыши по заголовку появившегося столбца-дубликата и выберите команды Преобразование — Месяц — Название месяца:
Должен образоваться новый столбец с текстовыми названиями месяца для каждой строки. Дважды щелкнув по заголовку столбца, его можно переименовать из Копия Дата в более удобное Месяц, например.
Если в каких-то столбцах программа не совсем корректно распознала тип данных, то ей можно помочь, щелкнув по значку формата в левой части каждого столбца:
Исключить строки с ошибками или пустые строки, а также ненужных менеджеров или заказчиков можно с помощью простого фильтра:
Причем все выполненные преобразования фиксируются в правой панели, где их всегда можно откатить (крестик) или изменить их параметры (шестеренка):
Легко и изящно, не правда ли?
Шаг 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 и детализация по каждому из них:
Жмем Изменить (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’евские книги сам, т.е. не нужно больше делать отдельную функцию — это происходит автоматически. Таким образом второй шаг из этой статьи уже не нужен и весь процесс становится заметно проще:
- Выбрать Создать запрос — Из файла — Из папки — Выбрать папку — ОК
- После появления списка файлов нажать Изменить
- В окне редактора запросов развернуть двойной стрелкой столбец Binary и выбрать имя листа, который нужно взять из каждого файла
И все! Песня!
Ссылки по теме
- Редизайн кросс-таблицы в плоскую, подходящую для построения сводных таблиц
- Построение анимированной пузырьковой диаграммы в Power View
- Макрос для сборки листов из разных файлов Excel в один
-
Введение
- Предисловие
- Отказ от ответственности
- Лицензия на использование
- Добавление информации и внесение изменений в методическое пособие
-
Редактор запросов (Query Editor, он же Power Query)
- Power Query в Power BI
- Power Query в Excel 2010, 2013
- Power Query в Excel 2016, 2019, 365
- Зачем нужен Power Query
- Что такое запрос (Query)
-
Действия над запросами (по правому щелчку мыши на них)
- Duplicate (Дублировать)
- Reference (Сослаться)
- Шаг (Step)
- Параметры в Power Query
- Получение данных в Power Query
-
Типы данных в Power Query
- Примитивные типы данных Power Query
- Структурированные типы данных в Power Query
- Задание типов данных для столбцов в Power Query
- Автоматическое определение типов данных для столбцов
- Создание дубликата столбца
- Переименование столбцов
- Remove Other Columns — удаление прочих столбцов
- Split Column by Delimeter — Разделить текстовый столбец по разделителю
-
Действия над таблицами и столбцами таблиц
- Append — добавление одной таблице к другой таблице
- Merge — соединение данных одного запроса с другим запросом по общему ключу (аналог ВПР)
- Соединение данных по составному ключ в Power Query
- Команда Group by (сгруппировать по полю)
-
Добавление нового столбца в Power Query
- if then else условия
- Условный столбец (Conditional column)
- Изменение типа данных у столбца с текстового на десятичный, в случае если в качестве разделителя десятичной части используется точка вместо запятой
- Удалить дубликаты в столбцах
- Count rows — Подсчитать количество строчек в текущей таблице
- Извлечение шагов в отдельный запрос
- Функция Сохранить строки (Keep Top Rows)
- Функция Сохранить ошибки (Keer Errors)
- Функция Заменить ошибки в столбце (Replace Errors)
-
Получение данных из различных источников
-
Получение данных из файлов
- Получение данных из текстовых файлов (csv, tsv, txt и т.д.)
- Извлечение данных из файлов лежащих в папке
-
Получение данных из интернета
- Права доступа, Formula.Firewall
- Символы разрыва строки
-
Получение данных из файлов
-
Power Pivot
- Что такое Power Pivot в Excel
- Что такое Power Pivot в Power BI
- Что такое DAX
- Модель данных
- Таблицы
- Функции Dax
- Меры (Measures)
- Быстрые меры (Quick Measures)
- Вычисляемые Столбцы (Calculated Columns)
- Контекст выполнения функции (Evaluation context)
- Связь таблиц в модели данных
- Связь таблиц по ключевому столбцу дата и time-intelligence функции
- Часто используемые функции DAX
- Метрики контекстной рекламы в DAX
- Про абсолютные и относительные метрики в выгрузках
- Формат отображения чисел в мерах и столбцах
- Полезные ресурсы по DAX
-
Визуализации в Power BI
-
Срезы в Power BI — Слайсеры (Slicers)
- Срезы с относительными датами (Relative slicers)
- Настройка взаимодействия визуализаций (визуалов)
-
Срезы в Power BI — Слайсеры (Slicers)
-
Настройки Power BI
- Фоновые данные — разрешить скачивание в фоне (Background data — allow data preview)
-
Приложения
-
Горячие клавиши окна редактирования DAX формул
- Базовое редактирование
- Навигация
- Поиск и замена
- Мультикурсор и выделение
-
Горячие клавиши окна редактирования DAX формул
- Вместо заключения
Введение
Предисловие
Первая версия данного методического пособия была создана Максимом Уваровым в рамках образовательного проекта NeedForData.ru. С 21.05.2018 учебное пособие опубликовано на GitHub под лицензией GPL 3.0 и с этого момента соавтором пособия может стать любой желающий.
Цель данного пособия: помочь начинающим пользователям Power BI, а также надстроек над Excel Power Query и Power Pivot, осваивать эти замечательные инструменты. Предполагается, что методическое пособие когда-нибудь станет более легковесной и человечной альтернативой текущей официальной справки по Power BI, расположенной по адресу: https://docs.microsoft.com/ru-ru/power-bi/
В данном методическом пособии поддерживаются расставление ссылок на подробные разборы описываемых тем в официальной справке Power BI или на других тематических ресурсах.
Отказ от ответственности
Авторы данного методического пособия не имеют отношения к корпорации Microsoft и ее продуктам Power BI, Excel, Power Query, Power Pivot. Авторы публикуют в данном методическом пособии собственноручно созданные учебные материалы, на публикацию которых они имеют все необходимые права.
Лицензия на использование
Данное методическое пособие может бесплатно использоваться для обучения. Методическое пособие предлагается к использованию в режиме AS-IS (как есть), под лицензией GPL 3.0. Полный текст лицензии опубликован по ссылке.
Согласно лицензии, если вы используете материалы данного учебного пособия в своей документации или своих учебных пособиях, то вы обязательно должны (включая, но не ограничиваясь):
- Поставить ссылки на первоисточник
- Обеспечить свободный доступ к вашим материалам
Добавление информации и внесение изменений в методическое пособие
Любой желающий может предложить исправления текущего методического пособия на Github. Для этого нужно:
- Сделать Fork проекта
- Внести необходимые изменения на языке разметки в markdown
- Создать Pull-request в основной репозиторий
Позже члены редколлегии методического пособия смогут рассмотреть ваши предложения.
Редактор запросов (Query Editor, он же Power Query)
Power Query в Power BI
В программе Power BI Desktop Power Query встроенный модуль. В справке и интерфейсе этот модуль называется Query Editor или редактор запросов. Power Query это основной инструмент данных в Power BI desktop. Как показано на скриншоте ниже все четыре выделенные кнопки относятся к редактору запросов Power Query.
Power Query в Excel 2010, 2013
Также, Power Query это надстройка над MS Excel 2010 — 2013. Она устанавливается дополнительно. Скачать надстройку можно по ссылке. На панели Ribbon в Excel 2010 и 2013 Power Query посвящена отдельная вкладка.
Power Query в Excel 2016, 2019, 365
В Excel 2016 и последующих версиях Power Query встроена. Найти ее можно на вкладке Data (Данные), блок «Get and Transform». Скриншоты, как Power Query выглядит в различных версиях офиса приведены ниже:
В зависимости от версии подписки Excel функционал Power Query может различаться.
Зачем нужен Power Query
Power Query нужен для удобного преобразования данных (ETL-процесса).
Согласно википедии — ETL (от англ. Extract, Transform, Load) — процесс в управлении хранилищами данных, который включает в себя:
- извлечение данных из внешних источников;
- их трансформация и очистка, чтобы они соответствовали потребностям бизнес-модели;
- и загрузка их в хранилище данных.
Power Query отлично подходит для задач:
- подключения к разнообразным источникам (различным типам файлов, api, базам данных и т.п.);
- для удобного и гибкого преобразования данных в необходимый формат;
- Для создания повторяемых последовательностей обработки данных.
Что такое запрос (Query)
Запрос (Query) это программа на языке M, задающая последовательность обработки данных.
В своем теле запрос может обращаться к неограниченному количеству источников данных (включая другие запросы). Результат выполнения запроса может иметь любой из поддерживаемых структурированнных или примитивных типов данных, например:
- таблица — table
- значение — value,
- список — list,
- запись — record и т.д.
Список из всех запросов в Excel можно увидеть в разных местах.
В списке из запросов книги (Queries Pane) интерфейсе Excel 2016:
В интерфейсе самого Power Query:
У каждого запроса есть свое имя.
Имя запроса можно увидеть в нескольких местах. Там же его можно изменить:
В интерфейсе Excel 2016.
В интерфейсе Power Query.
По имени запроса можно обращаться к результатам этого запроса из других запросов.
В случае, если имя запроса содержит пробелы (например, состоит из нескольких слов), то при обращении к этому запросу из других запросов он начинается с #
и заключается в кавычки:
Действия над запросами (по правому щелчку мыши на них)
Duplicate (Дублировать)
Команда Duplicate позволяет создать новый запрос и продублировать в нем все шаги исходного запроса (т.е. при дублировании появляется новый запрос с #"Имя (2)"
, в котором содержатся все шаги из исходного запроса). Новый запрос, созданный при использовании команды Duplicate, никак не связан с оригинальным запросом.
Reference (Сослаться)
Создать новый запрос, в первом шаге которого обратиться по имени к оригинальному запросу.
Шаг (Step)
Отдельный этап обработки данных в рамках конкретного Запроса.
Запрос состоит из шагов и включает как минимум один шаг.
На каждое примененное действие в интерфейсе создается новый шаг.
Список шагов конкретного запроса можно посмотреть в правой части экрана в панели настроек Запроса.
Каждый шаг это отдельная переменная, расположенная на отдельной строчке кода в скрипте запроса на языке программирования M.
Чтобы посмотреть формулу конкретного шага необходимо включить отображение строки формул на вкладке view и выбрать интересующий шаг в панели «Applied Steps».
Очередность шагов можно менять через интерфейс, используя контекстное меню.
А также перетаскивая шаги в списке.
Параметры в Power Query
- Статья о параметрах Power Query
Получение данных в Power Query
Чтобы начать работать с Power Query, необходимо настроить получение данных из какого-либо источника. Сделать это можно из интерфейса Power Query в Power BI по нажатию на кнопку Get Data.
В Excel 2010-2013 сделать это можно нажав на кнопки с указанием различных источников на панели Ribbon.
А также из интерфейса Power Query в Excel.
Типы данных в Power Query
В Power Query существуют примитивные и структурированные типы данных. Примитивные типы данных содержат в себе лишь одно значение, в то время как структурированные типы данных могут содержать в себе как одно так и множество значений. В зависимости от заданного типа данных
Примитивные типы данных Power Query
-
Decimal number — десятичное число
Number.Type
илиtype number
-
Time — время
Time.Type
илиtype time
-
Date — дата
Date.Type
илиtype date
-
Date / Time — дата / время
DateTime.Type
илиtype datetime
-
Date / Time / Timezone — дата / время / часовая зона
DateTimeZone.Type
илиtype datetimezone
-
Duration — длительность
Duration.Type
илиtype duration
-
Fixed Decimal number — десятичное округленное до 4 знака
Currency.Type
-
Whole number — целое число
Int64.Type
-
Text — текст
Text.Type
илиtype text
- True/False — истина / ложь
- Binary — двоичный код (например, изображение в формате bmp)
-
Percentage — проценты
Percentage.Type
Структурированные типы данных в Power Query
-
Table — таблица
#table({"Заголовок1", "Заголовок2"}, { {"Строка1Столбец1", "Строка1Столбец2"}, {"Строка2Столбец1", "Строка2Столбец2"} })
-
List — список
{1,2,4} - список из элементов Чисел со значениями 1, 2, 4
-
Record — запись
[field1 = "текст в кавычках", field2 = "текст в кавычках2"]
Задание типов данных для столбцов в Power Query
Присвоенные отдельным столбцам типы данных определяют операции, которые применимы к ним. Если выбрать столбец, то примененные к нему типы данных можно увидеть в следующих местах:
- Типы данных столбцов таблицы обозначаются иконками в области заголовков:
- При выбранном столбце, его тип данных в Power BI и Excel на вкладке «Home»
- При выбранном столбце, его тип данных в Power BI и Excel на вкладке «Transform»
Автоматическое определение типов данных для столбцов
В Power Query есть функция «автоматически определять типы данных». При помощи данной функции Power Query будет подбирать тип данных к столбцу на основ первой тысячи строчек конкретного столбца.
Создание дубликата столбца
Команда на Ribbon:
Команда в контекстном меню:
Переименование столбцов
Чтобы переименовать столбец нужно дважды щелкнуть на его названии:
Remove Other Columns — удаление прочих столбцов
Для повышения личной эффективности (за счет лучшего фокуса на конкретных цифрах), сохранения оперативной памяти и поддержки быстродействия моделей следует оставлять в модели данных только необходимые данные (только необходимые столбцы и строчки).
Для этих целей отлично работает команда «remove other columns» (удалить прочие столбцы).
Split Column by Delimeter — Разделить текстовый столбец по разделителю
Команду «разделить столбец по разделителю» можно найти в нескольких местах:
Кнопка на Ribbon — Split Column
В контекстном меню, по щелчку на заголовок столбца.
Разделить столбец по произвольному разделителю
Указать максимальное количество столбцов
Действия над таблицами и столбцами таблиц
Append — добавление одной таблице к другой таблице
Из интерфейса Power Query:
Из интерфейса Excel:
Merge — соединение данных одного запроса с другим запросом по общему ключу (аналог ВПР)
Начало операции из интерфейса Power Query:
Начало операции merge из интерфейса Excel:
Выбор таблицы, из которой будем подтягивать данные, определение ключевых столбцов и типа операции
Соединение данных по составному ключ в Power Query
После нажатия на кнопку OK мы видим новый столбец с кнопкой
Нажимаем на кнопку, раскрываем столбец и выбираем желаемую операцию
Expand — развернуть данные из выбранных столбцов
Aggregate — подсчитать данные в конкретных столбцах
Важно помнить что типы данных у ключевых столбцов (в обеих таблицах) должны быть одинаковыми.
Команда Group by (сгруппировать по полю)
Команду можно вызвать по клику на кнопку на панели Ribbon
Также команду можно вызвать из контекстного меню (если нажать правой кнопкой на заголовке столбца)
Интерфейс команды Group By с комментариями представлен на скриншоте ниже:
Добавление нового столбца в Power Query
if then else условия
Для выбора действия в зависимости от условия в Power Query используется структура с оператором if then else
Пример:
if [столбец1] 0 then [столбец2] else [столбец3]
Условный столбец (Conditional column)
Мастер добавления столбца с условным значением (условного столбца), формирует значение столбца согласно заданным правилам. Мастер добавления условного столбца можно найти в Power Query, на вкладке добавления столбца, как показано на скриншоте ниже.
Пояснения к мастеру конфигурации условного столбца показаны на скриншоте ниже.
Для сведения — задаваемые условия в интерфейсе мастера пишут команду скрипта содержащего операторы if then else
. Это значит, что первым будет проверено первое условие в мастере условного столбца. Все множество значений будет проверено по этому условию. В случае, если будут найдены результаты удовлетворяющие первому условию, то для них будет присвоено значение по результатам выполнения первого условия. Для остальных значений из множества, будет проверено следующее условие. И так далее, до тех пор, пока не будут проверенны все условия. Если для элементов множества не будет выполненно ни одно условие, то в условный столбец попадет значение из поля «В противном случае / (otherwise)».
При создании условий важно помнить, операции сравнения включающие type null и другие типы данных, возвращают ошибку в качестве результата. Подробнее об этом можно прочитать в блоге у Максима Зеленского
Изменение типа данных у столбца с текстового на десятичный, в случае если в качестве разделителя десятичной части используется точка вместо запятой
- Необходимо щелкнуть правой кнопкой на заголовке столбца
- Выбрать пункт «Change type»
- И далее выбрать пункт «Using locale»
- Выбираем страну, где в качестве разделителя используется точка (например, USA)
Удалить дубликаты в столбцах
Команда «Remove Duplicates» проходит по выбранным столбцам (если выбрана вся таблица, то по всей таблице) и смотрит в них повторяющиеся ячейки (строчки, в случае если выбрана таблица). Если дубликаты найдены функция оставляет первую попавшуюся уникальную строчку и удаляет все последующие повторяющиеся Найти команду можно на Ribbon — Home — Remove Duplicates (Удалить дубликаты в выбранных столбцах)
Либо найти команду можно щелкнув правой кнопкой на заголовке одного или нескольких выбранных столбцов. В случае, если выбраны несколько столбцов, то тогда будут удалены все неуникальные сочетания значений в каждой отдельной строчке в выбранных столбцах.
Удалить дубликаты строк в таблице можно нажав на кнопку в левом верхнем углу таблицы предпросмотра.
Аналогичного результата можно добиться если использовать команду «Group By»
Count rows — Подсчитать количество строчек в текущей таблице
Извлечение шагов в отдельный запрос
Для выполнения необходимо щелкнуть правой кнопкой на конкретном шаге обработки. Выбрать пункт меню «Extract previous steps»
ввести имя нового запроса, который будет создан на основе предыдущих шагов
Функция Сохранить строки (Keep Top Rows)
Функция Сохранить ошибки (Keer Errors)
Функция Заменить ошибки в столбце (Replace Errors)
Функция доступна по нажатию правой кнопкой на заголовке столбца и позволяет заменить ошибки в столбце (например, получившиеся после применения нового типа данных) на выбранное значение. Обратите внимание, что по состоянию на 2019-07-29 функция доступна лишь при выборе одного столбца.
Получение данных из различных источников
Получение данных из файлов
Получение данных из текстовых файлов (csv, tsv, txt и т.д.)
При получении данных из текстового файла в Power Query открывается окно мастера настроек импорта файла.
Извлечение данных из файлов лежащих в папке
Выбираем в качестве типа источника папку. Далее выбираем конкретную папку с файликами, которые предполагается объединить. Файлики должны быть одного типа и с одинаковыми столбцами.
В появившемся окошке предпросмотра данных жмем на кнопочку edit.
Получение данных из интернета
Права доступа, Formula.Firewall
Текст взят из Power bi formula firewall privacy settings — marketing-wiki.ru
При работе в Power BI, при обращении к внешним источникам данных вроде различных API могут возникать ошибки вроде: OLE DB or ODBC error: [information is needed in order to combine data]
или Formula.Firewall: Query is accessing data sources that have privacy levels which cannot be used together. Please rebuild this data combination
Это ошибки, которые возникают из-за встроенного в Power BI Fomrula.Firewall — механизма, который следит, чтобы данные из Power BI передавались только согласно выставленным правилам доступа.
то есть Power Bi пытается защитить нас, чтобы мы случайно не отправили какие-либо данные (вроде токена) на сервер-злоумышленника.
Однако, если мы работаем с API, то нам неминуемо нужно отправлять данные в интернет. Соответственно, чтобы не иметь проблем в этом процессе проще всего в настройках Power BI выключить Formula.Firewall. Это делается в разделе Privacy. Нужно выбрать 3-й пункт — «ignore privacy level settings»
Символы разрыва строки
При помощи операции найти или для разделения ячейки на отдельные строчки можно воспользоваться символами #(cr)#(lf)
либо воспользоваться функцией Lines.FromText
Power Pivot
Что такое Power Pivot в Excel
Power Pivot — это надстройка над Excel, представляющая из себя быструю колоночную базу данных VertiPaq с языком запросов DAX (часто вместо VertiPaq говорят Power Pivot). В отличие от Excel число строк загруженных в Power Pivot ограничено лишь размером доступной оперативной памяти компьютера. Быстродействие Power Pivot во много раз превосходит быстродействие формул в Excel. Также Power Pivot по производительности превосходит и Power Query (при этом часто он потребляет меньше ресурсов). Результаты выполнения запросов доступны пользователям в сводных таблицах и сводных диаграммах MS Excel. Таким образом сводные таблицы выступают аналитическим интерфейсом к данным хранящимся в Power Pivot.
Что такое Power Pivot в Power BI
В Power BI Power Pivot встроен как база данных, к которой присоединяются различные визуализации.
Что такое DAX
Dax (Data Analysis Expressions) — это язык программирования использующийся для запросов в базе данных VertiPaq.
Модель данных
Модель данных — совокупность таблиц, связей между ними и вычисляемых мер в базе данных VertiPaq. Благодаря своей быстроте модель данных позволяет создавать мгновенно пересчитывающиеся меры, которые, в свою очередь, позволяют создавать интерактивные визуализации.
Таблицы
Таблицы — совокупность строк, разделённых на столбцы.
У каждого столбца задан тип данных (который, как правило, наследуется из типов данных заданных для столбцов в Power Query).
У столбцов с числовыми типами данных можно увидеть значок сигмы Слева от них. И такие столбцы по умолчанию будут просуммированы, в случае если добавить их в область значений любой визуализации.
Если же добавить в область значений столбцы с не числовыми типами данных (без значка сигмы), то к ним будет применена операция по умолчанию: count (подсчет количества значений).
Список из таблиц загруженных в модель данных можно найти в дереве fields в правой части окна Power BI.
Каждая таблица имеет название, по которому к данным конкретной таблицы можно обращаться в мерах и вычисляемых столбцах. В случае если в названии таблицы присутствует пробел или не латинские символы, то при обращении к таблице извне её название заключается в одинарные кавычки автоматически:
'название с пробелом'
Однако, если мы заключим в кавычки название таблицы без пробелов, то все будет работать как предполагалось:
'название'
Функции Dax
Функции языка Dax похожи на функции Excel, с той лишь разницей, что в качестве аргументов используют столбцы, целые таблицы или скалярные выражения (простые значения), а не ячейки.
В качестве разделителей аргументов в зависимости от локали используются:
- «;» (и «,» для десятичных)
- «,» (и «.» для десятичных)
Меры (Measures)
Вычисляются только в момент использования. Рассчитываются в рамках текущего контекста фильтров. Именно это свойство позволяет строить интерактивные визуализации, которые фильтруются при нажатии на определенные области конкретных визуализаций. Меры хоть и принадлежат конкретной таблице, но могут быть перенесены в любую другую таблицу в рамках документа. Поэтому хорошая практика при использовании мер формулах не включать название таблицы, в которо й мера лежит. То есть вместо 'таблица'[мера]
писать просто [мера]
.
Быстрые меры (Quick Measures)
Функционал быстрых мер позволяет создавать сложные DAX формулы без написания кода. Вместо написания кода нужно сконфигурировать желаемую меру в графическом интерфейсе. Подробнее о быстрых мерах можно прочитать в справке по Power BI
Вычисляемые Столбцы (Calculated Columns)
Рассчитываются однажды во время обновления таблицы в модели данных. Вычисляемые столбцы занимают место в памяти. Вычисляемые столбцы рассчитываются в рамках контекста строки. В отличие от мер, вычисляемые столбцы могут использоваться для фильтрации и сортировки таблиц. Принадлежат конкретной таблице и их лучше указывать в формулах вместе с названием таблицы, даже если Power Pivot позволяет этого не делать.
Подробнее про столбцы и меры читать здесь:
- Calculated Columns and Measures in DAX — SQLBI
Контекст выполнения функции (Evaluation context)
В Power Pivot существуют два контекста выполнения формулы, которые действуют одновременно:
- Контекст фильтров (Filter context)
- Контекст строк (Row context)
Это массивная и сложная тема. На момент написания методички автор так и не разобрался с темой до того уровня, чтобы рассказывать об этом окружающим. Потому рекомендую обратиться к достоверным источникам вроде:
- Марко Руссо и Альберто Феррари https://www.sqlbi.com/.
- Справка Microsoft Power BI: Основные сведения о DAX в Power BI Desktop
Связь таблиц в модели данных
Для связи таблиц в модели данных в одной из таблиц в ключевом поле должны быть уникальные значения. Также столбцы должны быть одного типа данных.
Направление связи имеет значение. Вычисляемые столбцы могут использоваться для создания связей между таблицами.
Справка: Создание связей и управление ими в Power BI Desktop — Power BI | Microsoft Docs
Связь таблиц по ключевому столбцу дата и time-intelligence функции
В случае, если в модели данных есть отдельная таблица-календарь (вроде такой), и если таблица с фактами связана с таблицей-календарем по полю дата, то для создания быстрых мер в поле дата нужно использовать столбец с датами из таблицы календаря. Столбец с датами из таблицы с фактами в быстрых мерах работать не будет.
Часто используемые функции DAX
SUM (Столбец)
— Cумма чисел по столбцу
COUNTA (Столбец)
— Количество значений в столбце
DISTINCTCOUNT (Столбец)
— Количество уникальных значений в столбце
SUMX (Таблица, Выражение)
— Сумма значений выражения, которое выполняется для каждой строчки таблицы
DIVIDE (Значение числителя, значение знаменателя, альтернативный вариант в случае ошибки деления числителя на знаменатель)
— Безопасное деление
IFERROR (Значение, Значение если ошибка)
— Если ошибка
IF (Логическое выражение, значение если правда, значение если ложь )
— Если
Метрики контекстной рекламы в DAX
CTR (Кликабельность)
= SUM ( Клики ) / SUM ( Показы )
CPC (Цена клика)
= SUM ( Расход ) / SUM ( Клики )
Ставка (Максимальная цена клика установленная рекламодателем)
Ставка Средняя
Ставка СреднеВзвешенная на клики
= SUMX ( ставка * клики ) / SUM ( клики )
Ставка СреднеВзвешенная на показы
= SUMX ( ставка * показы ) / SUM (показы)
CR (Коэффициент конверсии фактический)
= SUM ( транзакции ) / SUM ( сессии )
Ключевая фраза: количество
= COUNTA ( ключевая фраза )
Ключевая фраза: количество уникальных
= DISTINCTCOUNT ( ключевая фраза )
Про абсолютные и относительные метрики в выгрузках
Средний показатель отказов рассчитывается по формуле:
= SUM ( отказы ) / SUM ( визиты )
Если в выгрузке нет абсолютного числа ОТКАЗОВ, но есть ПОКАЗАТЕЛЬ ОТКАЗОВ, то для каждой строчки с исходными данными предварительно необходимо рассчитать абсолютное число ОТКАЗОВ. Для этого нужно умножить ПОКАЗАТЕЛЬ ОТКАЗОВ на ЧИСЛО ВИЗИТОВ. После этого у вас появится возможность рассчитывать средний показатель отказов корректно.
Аналогичным образом следует поступить с глубиной просмотра и временем на сайте.
Распространенная ошибка рассчитывать СРЕДНИЙ ПОКАЗАТЕЛЬ ОТКАЗОВ в качестве встроенной меры AVERAGE по столбцу ПОКАЗАТЕЛЬ ОТКАЗОВ (см скрин. http://bit.ly/2JMKSl1).
Так средний показатель отказов рассчитывать некорректно.
Формат отображения чисел в мерах и столбцах
Формат отображения значений мер задается при выбранной мере, на вкладке «Modeling», в блоке «Formating»
Полезные ресурсы по DAX
- sqlbi.com/articles/calculated-columns-and-measures-in-dax/
- powerpivotpro.com/2013/02/when-to-use-measures-vs-calc-columns/
- Клевый курс на udemy про Power Pivot
- Книга: The Definitive Guide to DAX: Business intelligence with Microsoft Excel, SQL Server Analysis Services, and Power BI (Business Skills) 1st Edition
- Daxpatterns.com
- Канал Curbal на youtube с подробными обучающими видео DAX Fridays
Визуализации в Power BI
Срезы в Power BI — Слайсеры (Slicers)
- Справка
Срезы с относительными датами (Relative slicers)
- https://docs.microsoft.com/ru-ru/power-bi/desktop-slicer-filter-date-range
Настройка взаимодействия визуализаций (визуалов)
- Справка
Настройки Power BI
Фоновые данные — разрешить скачивание в фоне (Background data — allow data preview)
Загрузку данных в фоне часто рекомендуют отключить, во избежание проблем с производительностью. Ссылки по теме:
- Параметр Allow Data Preview To Download In The Background в Power Query и Power BI — статья Криса Вебба: перевод , оригинал .
- Ветка, в предложения выключить эту настройку по умолчанию uservoice.
Приложения
Горячие клавиши окна редактирования DAX формул
Базовое редактирование
Клавиша | Описание | |
---|---|---|
Ctrl+X |
Вырезать строку (Пустое выделение) | |
Ctrl+C |
Скопировать строку (Пустое выделение) | |
Alt+↑ |
Alt+↓ |
Перемещает текущую строку вверх / вниз |
Shift+Alt+↑ |
Shift+Alt+↓ |
Копирует строку и вставляет её выше / ниже |
Ctrl+Shift+K |
Удаляет строку | |
Shift+Enter |
Добавить новую строку ниже под курсором | |
Ctrl+] |
Ctrl+[ |
Увеличить / уменьшить отступ строки |
Tab |
Shift+Tab |
Увеличить / уменьшить отступ строки |
Home |
End |
Перейти в начало / конец строки |
Ctrl+Home |
Ctrl+End |
Перейти в начало / конец DAX формулы |
Ctrl+K Ctrl+C |
Ctrl+K Ctrl+U |
Поставить / убрать однострочный комментарий |
Ctrl+/ |
Поставить или убрать однострочный комментарий | |
Shift+Alt+A |
Поставить или убрать однострочный комментарий |
Навигация
Клавиша | Описание | |
---|---|---|
Ctrl+G |
Перейти к строке | |
F8 |
Shift+F8 |
Перейти к ближайшей / следующей ошибке или предупреждению |
Поиск и замена
Клавиша | Описание |
---|---|
Ctrl+D |
Выделить слово под курсором целиком, при повторном нажатии выделяет аналогичные слова по тексту |
Ctrl+K Ctrl+D |
Перейти к следующему совпадающему выделению### Мультикурсор и выделение |
Мультикурсор и выделение
Клавиша | Описание | |
---|---|---|
Ctrl+A |
Выделить все | |
Alt+Клик |
Добавить курсор к выделению | |
Ctrl+Alt+↑ |
Ctrl+Alt+↓ |
Добавить мультикурсор выше / ниже |
Ctrl+U |
Убрать последнее выделение курсора | |
Ctrl+F2 |
Выделяет все вхождения слова | |
Ctrl+Shift+L |
Выделяет все вхождения выделенного текста | |
Shift+Alt+→ |
Shift+Alt+← |
Расширить / уменьшить текущее выделение по строке |
Вместо заключения
Данное методическое пособие было выложен в открытый доступ 21.05.2018. С тех пор каждый желающий способен внести в него правки или дополнить его собственной актуальной информацией.
Сделать это можно по адресу: https://github.com/power-bi/PowerBI-book-ru
Источник: https://github.com/power-bi/PowerBI-book-ru