← Все курсы · Курс Excel · Все руководства

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

Не инструмент для очистки, а запись одного · Часть Analyst Prep Kit

К , аналитик данных · Опубликовано

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

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

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

Этот цикл — это идея, на которой держится остальная часть страницы, поэтому она получает изображение.

The steps stay, the file changes A left to right flow in three parts. On the left is a document shape representing the incoming file, with its corner folded. An arrow leads from it into a tall rounded panel in the middle holding five short horizontal bars stacked vertically and numbered one to five, standing for a recorded list of cleaning steps. A second arrow leads from the panel to a finished table on the right, drawn as a heading strip above four data rows. From the bottom of that finished table a long curved arrow sweeps down below the whole picture, travels back to the far left, and rises to re-enter the document shape from underneath, its arrowhead pointing up into the file. The loop shows the direction of reuse: the file is what changes each month, and the panel of steps in the middle is what stays and runs again. 123 45
Файл слева — это то, что меняется каждый месяц. Пронумерованные шаги посередине — это то, что вы создали один раз, а цикл — «Обновить»: те же шаги, новый файл, новый вывод, никаких щелчков.
Что вы узнаете
  1. Что на самом деле представляет собой Power Query
  2. Получение данных и кнопка, которую необходимо нажать
  3. Применяемые шаги — это продукт
  4. Преобразования, которые вы будете использовать каждую неделю
  5. Отменить поворот: тот, который меняет то, что вы можете сделать
  6. Добавить и объединить
  7. Закрыть и загрузить, а также три пункта назначения
  8. Обновить и шаг, который его нарушает.
  9. Полное до и после
  10. Пограничные случаи, которые незаметно нарушают запрос
  11. Почему это работает
  12. Использование этого в вашем собственном проекте
  13. Все на одном экране
О цифрах ниже. Обработанный отчет и все итоги на этой странице были проверены в Excel по таблице заказов из шестнадцати строк, используемой в этом наборе руководств. Часть Power Query представляет собой последовательность щелчков мышью, а не формулу, поэтому для нее указывается точная последовательность и проверка количества строк, которые доказывают, что она работает на вашем компьютере.

1. Что такое Power Query на самом деле

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

Повторяемость и рекорд. Формула преобразует данные на листе, в котором она находится. Power Query находится перед листом: он считывает источник, применяет список преобразований и куда-то помещает результат. Измените исходный файл и нажмите «Обновить», и тот же список снова запустится сверху.

Из этой формы следуют три вещи, и именно они являются причиной ее изучения.

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

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

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

Он также уже установлен. Power Query — это группа «Получение и преобразование» на вкладке «Данные» в текущей версии Эксель. Это тот же механизм, что и для Опыт импорта Power BI, и язык M, на котором он пишет, одинаков в обоих случаях. Однократное изучение охватывает оба инструмента.

2. Внесение данных и кнопка, которую необходимо нажать

Три маршрута охватывают практически все.

Из таблицы на этом листе. Щелкните внутри данных, Данные, Из таблицы/диапазона. Если данные еще не настоящий стол, Excel предлагает сделать один, и это правильный ответ.

Из файла. Данные, Получить данные, Из файла, затем Из книги, Из текста/CSV или Из папки. Вариант с папкой недооценен: укажите каталог, и каждый файл в нем будет рассматриваться как один набор данных, и именно так двенадцать ежемесячных извлечений становятся одной таблицей.

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

Независимо от маршрута, диалоговое окно предлагает предварительный просмотр с помощью двух кнопок: Нагрузка и Преобразование данных. Нажмите «Преобразовать данные». Нагрузка сбрасывает необработанное содержимое на лист и пропускает всю точку инструмента. Если вы уже нажали «Загрузить», ничего страшного: «Данные, запросы и соединения», щелкните запрос правой кнопкой мыши, выберите «Редактировать», и вы все равно окажетесь в редакторе.

3. Прикладные шаги — это продукт

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

Source
Promoted Headers
Changed Type
Removed Columns
Filtered Rows
Trimmed Text
Renamed Columns

Четыре вещи, которые вы можете сделать с этим списком, и все четыре делают его программой, а не историей.

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

Удалить шаг с крестом рядом с ним. Последующие шаги продолжаются с предыдущего.

Перетащите шаг чтобы изменить его порядок. Фильтрация перед тяжелым преобразованием выполняется быстрее, чем после.

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

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

4. Преобразования, которые вы будете использовать каждую неделю

Из очень длинной ленты вот такие постоянно вылезают.

трансформироватьгдеЧто это исправляет
Используйте первую строку в качестве заголовковДомФайл, заголовки которого поступили в виде данных.
Удалить верхние строкиГлавная, Удалить строкиЗаголовок и пустая строка над реальной таблицей.
Тип изменениятрансформироватьЧисла и даты поступают в виде текста.
Удалить столбцыДомДвадцать полей никому не нужны.
Фильтровать строкиРаскрывающийся список столбцовОтмененные записи, тестовые ряды, другие регионы.
Обрезать и очиститьТрансформировать, ФорматироватьБеспризорные пространства из руководство по уборке, применяется сразу ко всему столбцу.
Разделить столбецДом«Рейес, Дана» на два поля, через разделитель или позицию.
Заменить значениятрансформироватьПоследовательное переименование, записываемое, а не выполняемое вручную.
ЗаполнитьтрансформироватьКатегория, записываемая один раз вверху блока и пустая внизу.
Группировать потрансформироватьПодведение итогов до того, как данные попадут на лист.

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

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

5. Отменить поворот: тот, который меняет то, что вы можете сделать

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

РегионЯнфевральМарМожет
Север1120425440510
Юг850660280880
Восток6606801100600
Запад0480765440

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

Исправление осуществляется в один клик. Выберите столбец «Регион», щелкните его правой кнопкой мыши, Отменить поворот других столбцов. Каждый месяц столбец сворачивается в два новых столбца: один содержит старый заголовок, а другой — значение.

Region   Attribute   Value
North    Jan          1120
North    Feb           425
North    Mar           440
North    May           510
South    Jan           850
South    Feb           660
South    Mar           280
South    May           880
East     Jan           660
East     Feb           680
East     Mar          1100
East     May           600
West     Jan             0
West     Feb           480
West     Mar           765
West     May           440

Четыре строки и четыре столбца месяцев превратились в шестнадцать строк, то есть четыре раза по четыре, и это умножение — ваша проверка того, что ничего не пропало. Переименуйте атрибут в «Месяц», а «Значение» в «Доход», и теперь вопрос каждого месяца становится простым: сгруппируйте по месяцам, отфильтруйте по марту, сравните регион и месяц в сводной таблице, добавьте июнь, вставив файл, а не редактируя что-либо.

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

=SUM(wide report block)      9890
=SUM(Revenue)                must equal it
=ROWS(long table)            must equal 4 x 4

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

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

6. Добавить и объединить

Две разные работы с названиями, которые постоянно путаются.

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

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

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

Power Query здесь необычайно хорош, поскольку диалоговое окно слияния сообщает вам, сколько строк совпало до того, как вы зафиксируете данные. Прочтите это число. Если совпали 4812 из 5000 строк, 188 являются находкой, и выбранный вами тип соединения решает, исчезнут ли они или останутся видимыми.

7. Закрытие и загрузка и три пункта назначения.

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

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

Только создать соединение. Запрос существует и не дает ничего видимого. Это подходит для промежуточных запросов, которые существуют для объединения или добавления во что-то еще, и это позволяет сохранить размер книги и список листов.

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

Полезное значение по умолчанию: загрузите готовую вещь в таблицу и установите для каждого промежуточного запроса значение «Только создавать соединение». Рабочая книга с девятью запросами и одной видимой таблицей хорошо организована; рабочая книга с девятью листами промежуточных результатов — это то, от чего вы пытались уйти.

8. Обновление и шаг, который его нарушает

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

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

Файл переместился. Шаг «Исходный код» содержит полный путь. Исправьте это в разделе «Данные», «Запросы и соединения» или, что лучше, «Настройки источника данных», чтобы путь находился в одном месте.

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

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

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

Привычка, которая цепляет всех четырех: ставить счетчик строк на листе рядом с загруженной таблицей, =ROWS(QueryOutput), и взгляните на него после обновления. Запрос, который возвращает 0 строк, поскольку его фильтр больше ничему не соответствует, прекрасно обновляется.

Полное до и после

Та же задача: превратить ежемесячный региональный отчет в нечто, что можно проанализировать.

До

Open the file. Delete the two title rows. Copy the block to the working sheet.
Add a Month column by hand. Copy North's four numbers, paste, type "Jan" four times.
Repeat for three more regions. Fix the trailing spaces. Sort. Build the pivot.
Next month, do all of it again.

Около сорока минут, совершенно недокументированных и каждый раз немного отличающихся, поскольку реконструируется по памяти. Никто другой не может этого сделать, и никто не может это проверить.

после

Source
Removed Top Rows            2
Promoted Headers
Unpivoted Other Columns     Region kept; Jan Feb Mar May collapsed
Renamed Columns             Attribute -> Month, Value -> Revenue
Changed Type
Trimmed Text                Region
Filtered Rows               Revenue is not null

Close & Load To -> Table

check on the sheet:  =ROWS(LongReport)   16     four regions x four months
                     =SUM(Revenue)     9890     matches the wide report

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

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

Пограничные случаи, которые незаметно нарушают запрос

Шесть, о которых стоит знать, прежде чем они произойдут.

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

Типы данных автоматически определяются при частичном предварительном просмотре. Power Query типизирует столбец, просматривая первые строки, поэтому столбец, который имеет числовое значение для двухсот строк и затем содержит значение «н/д», позже будет напечатан как число и возникнет ошибка. Устанавливайте важные типы намеренно.

Шаг «Измененный тип», на котором присваивается имя каждому столбцу. Удалите его, если он вам не нужен, или замените его типами только в важных столбцах. Это основная причина сбоя обновления после изменения исходного кода.

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

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

Запрос указал на файл в папке «Загрузки». Он работает отлично, пока кто-то другой не откроет книгу. Поместите общие источники в общее место и сохраните путь в настройках источника данных, а не скрывайте его на этапе «Источник».

Почему это работает

Отмена поворота — это не удобство форматирования, это переход между двумя разными структурами данных, только с одной из которых могут работать инструменты. У принципа есть название и документ: данные легче всего анализировать, когда каждая переменная представляет собой столбец, а каждое наблюдение — это строка, и очень большая доля практических трудностей возникает из-за данных, которые нарушают это правило, чаще всего из-за того, что значения, месяцы, годы, названия продуктов находятся в заголовках столбцов, где принадлежат имена переменных (Уикхэм, 2014, Журнал статистического программного обеспечения, 59(10), 1–23). Широкий отчет в пятом разделе — это именно то нарушение, а Отменить поворот других столбцов — именно его исправление. Как только вы сможете назвать проблему, вы перестанете воспринимать ее как «файл неудобный» и начнете воспринимать ее как один предсказуемый щелчок.

Другая половина, записанный список шагов, также является исследовательской идеей, а не функцией Майкрософт. Интерактивные системы очистки данных были разработаны с учетом того, что самое дорогое — это выяснить, что нужно сделать, поэтому инструмент должен позволять человеку работать путем прямых манипуляций, незаметно накапливая под ним многоразовую программу преобразования, которую можно проверять, отменять и воспроизводить на новых данных (Рамановский & Хеллерштейн, 2001, Материалы 27-й Международной конференции по очень большим базам данных., 381–390). Применяемые шаги — вот воплощение этой идеи. Он объясняет, почему панель находится в правой части экрана, а не скрыта в меню, и почему у каждого шага есть имя, которое вы можете изменить.

Одно замечание в шпаргалке ниже. Он создан для того, чтобы его просматривали и вспоминали, а не перечитывали, потому что извлечение чего-либо из памяти обеспечивает заметно лучшее запоминание, чем повторное изучение, даже если перечитывание в данный момент кажется более продуктивным (выбирать карпа & Тупой, 2011, Наука, 331(6018), 772–775).

Использование этого в вашем собственном проекте

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

  1. Выберите файл, который вы чистите чаще всего, не самый сложный. Ценность в повторении, поэтому ежемесячное лучше интересного.
  2. Нажмите «Преобразовать данные», а не «Загрузить». Затем выполните очистку, которую вы бы сделали в любом случае, щелкнув мышью.
  3. Переименуйте каждый шаг как вы идете. По десять секунд каждая, и вопрос объяснится следующему человеку, включая вас в марте.
  4. Отмените поворот всего, заголовки которых являются значениями. Месяцы, годы, регионы, названия продуктов в строке заголовка означают одно и то же.
  5. Загрузите окончательный запрос в таблицу, а все остальное - только для подключения.
  6. Поместите количество строк и общее количество рядом с выходными данными., затем проверьте все это, обновив файл за прошлый месяц и проверив оба числа.

Если у вас под рукой есть бумага, один дополнительный эскиз стоит пяти минут. Запишите по порядку все действия, которые вы предприняли с файлом этого месяца, по одной строке каждое, от его открытия до готовой таблицы. Этот список представляет собой панель «Прикладные шаги» до того, как вы открыли редактор, и большинство людей считают, что он содержит от шести до десяти строк, что гораздо менее пугает, чем «изучить Power Query».

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

Все на одном экране

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

вещьЧто он делает
Что это такоеЗаписанный список преобразований, который снова запускается при обновлении.
Где он живетВкладка «Данные», группа «Получить и преобразовать». Уже установлено.
Кнопка, которую нужно нажатьПреобразуйте данные, а не загружайте их в предварительном просмотре импорта.
Применяемые шагиПравая панель. Фактический продукт. Нажмите на шаг, чтобы совершить путешествие во времени.
Переименование шагаЩелкните его правой кнопкой мыши. Запрос становится отдельной документацией.
MЯзык внизу. Просмотр, Расширенный редактор. Прочитать этого достаточно.
Удалить и отфильтровать заранееБыстрее и предварительный просмотр становится читабельным.
Измененный типЗаписывает имена столбцов. Самая распространенная причина сбоя обновления.
Отменить поворот других столбцовЗаголовки, являющиеся значениями, становятся одним столбцом меток и одним столбцом чисел.
Проверка разворотаКоличество строк, умноженное на свернутые столбцы, равно количеству новых строк.
ДобавитьСгруппируйте таблицы с одинаковыми столбцами. Проверьте, что количество строк суммируется.
слитьПрисоединяйтесь по ключу. Прежде чем совершать фиксацию, прочитайте количество совпадений.
Из папкиЦелый каталог файлов рассматривается как один набор данных.
Закрыть и загрузить вТаблица, только соединение или модель данных.
Только подключениеПравильная настройка для каждого промежуточного запроса.
Обновить проверку=ROWS(output) на листе. Нулевые строки успешно обновляются.
Фильтровать по галочному спискуЗаписывает определенные значения. Новые ценности молча отбрасываются.
Единственная привычка, которую следует сохранить. Переименовывайте каждый шаг по мере его создания. Запрос с шагами «Удалены отмененные заказы» и «Разбить имя на два поля» можно передать кому угодно; запрос из одиннадцати шагов под названием «Измененный тип» — это черный ящик, который вы тоже не поймете за шесть месяцев. Если при обновлении произошел сбой, который не описан на этой странице, существует общая шлейф диагностики на предмет застревания.

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

Ссылки

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

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

Excel для аналитиков, 19 долларов США →
Потренируйтесь с файлом, который снова придет в следующем месяце.

тот Курс Excel дает вам повторения: широкие отчеты для разворота, папки для добавления, слияния с заведомо несовершенными ключами и флэш-карточки, на каком этапе записываются имена столбцов, а на каком нет. Теперь вы владеете методом; комплект - это практика. Ничего устанавливать, учетная запись не требуется.

Откройте набор Excel →