← Все курсы · Курс Excel · Все руководства
Power Query для начинающих: шаги, которые повторятся в следующем месяце
К концу этой страницы вы можете загрузить файл в Power Query, очистить его с помощью кликов, а не формул, превратить отчет, предназначенный для людей, в таблицу, предназначенную для анализа, объединить несколько файлов в один, а затем проделать всю работу снова в следующем месяце, нажав «Обновить». Это около двадцати пяти минут.
Вот что нужно сделать сегодня с файлом, который вы чистите вручную каждый месяц. «Данные», «Получить данные», «Из файла», «Из книги», выберите его и нажмите «Преобразовать данные» вместо «Загрузить». Теперь вы находитесь в редакторе Power Query, и панель справа называется Применяемые шаги будет наполнен всем, что вы делаете. Этот список является фактическим результатом. Очищенный стол — это всего лишь результат этого месяца.
Краткая версия: Power Query наблюдает за тем, как вы очищаете данные один раз, и записывает, что вы сделали, поэтому в следующем месяце та же самая работа выполняется одной кнопкой.
Этот цикл — это идея, на которой держится остальная часть страницы, поэтому она получает изображение.
- Что на самом деле представляет собой 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. Отменить поворот: тот, который меняет то, что вы можете сделать
Перед пояснением: вот ежемесячный отчет в том виде, в каком его изложил бы человек. Скажите, почему сводная таблица не может суммировать данные по месяцам.
| Регион | Ян | февраль | Мар | Может |
|---|---|---|---|---|
| Север | 1120 | 425 | 440 | 510 |
| Юг | 850 | 660 | 280 | 880 |
| Восток | 660 | 680 | 1100 | 600 |
| Запад | 0 | 480 | 765 | 440 |
Потому что столбца месяца нет. «Месяц» здесь — это не данные, это набор заголовков столбцов, а сводная таблица может группироваться только по полю. Вы также не можете фильтровать по февралю, сравнивать месяцы в формуле или добавлять июнь, не меняя форму каждой формулы, считывающей таблицу. Макет удобен для чтения и бесполезен для анализа.
Исправление осуществляется в один клик. Выберите столбец «Регион», щелкните его правой кнопкой мыши, Отменить поворот других столбцов. Каждый месяц столбец сворачивается в два новых столбца: один содержит старый заголовок, а другой — значение.
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).
Использование этого в вашем собственном проекте
Преобразование каждого ручного процесса одновременно — это утомительно, и вы откажетесь от него. Вместо этого сделайте это по порядку.
- Выберите файл, который вы чистите чаще всего, не самый сложный. Ценность в повторении, поэтому ежемесячное лучше интересного.
- Нажмите «Преобразовать данные», а не «Загрузить». Затем выполните очистку, которую вы бы сделали в любом случае, щелкнув мышью.
- Переименуйте каждый шаг как вы идете. По десять секунд каждая, и вопрос объяснится следующему человеку, включая вас в марте.
- Отмените поворот всего, заголовки которых являются значениями. Месяцы, годы, регионы, названия продуктов в строке заголовка означают одно и то же.
- Загрузите окончательный запрос в таблицу, а все остальное - только для подключения.
- Поместите количество строк и общее количество рядом с выходными данными., затем проверьте все это, обновив файл за прошлый месяц и проверив оба числа.
Если у вас под рукой есть бумага, один дополнительный эскиз стоит пяти минут. Запишите по порядку все действия, которые вы предприняли с файлом этого месяца, по одной строке каждое, от его открытия до готовой таблицы. Этот список представляет собой панель «Прикладные шаги» до того, как вы открыли редактор, и большинство людей считают, что он содержит от шести до десяти строк, что гораздо менее пугает, чем «изучить Power Query».
Все на одном экране
Это лист поиска. Закройте правую колонку, проработайте левую и произнесите каждый ответ вслух, прежде чем проверять его.
| вещь | Что он делает |
|---|---|
| Что это такое | Записанный список преобразований, который снова запускается при обновлении. |
| Где он живет | Вкладка «Данные», группа «Получить и преобразовать». Уже установлено. |
| Кнопка, которую нужно нажать | Преобразуйте данные, а не загружайте их в предварительном просмотре импорта. |
| Применяемые шаги | Правая панель. Фактический продукт. Нажмите на шаг, чтобы совершить путешествие во времени. |
| Переименование шага | Щелкните его правой кнопкой мыши. Запрос становится отдельной документацией. |
| M | Язык внизу. Просмотр, Расширенный редактор. Прочитать этого достаточно. |
| Удалить и отфильтровать заранее | Быстрее и предварительный просмотр становится читабельным. |
| Измененный тип | Записывает имена столбцов. Самая распространенная причина сбоя обновления. |
| Отменить поворот других столбцов | Заголовки, являющиеся значениями, становятся одним столбцом меток и одним столбцом чисел. |
| Проверка разворота | Количество строк, умноженное на свернутые столбцы, равно количеству новых строк. |
| Добавить | Сгруппируйте таблицы с одинаковыми столбцами. Проверьте, что количество строк суммируется. |
| слить | Присоединяйтесь по ключу. Прежде чем совершать фиксацию, прочитайте количество совпадений. |
| Из папки | Целый каталог файлов рассматривается как один набор данных. |
| Закрыть и загрузить в | Таблица, только соединение или модель данных. |
| Только подключение | Правильная настройка для каждого промежуточного запроса. |
| Обновить проверку | =ROWS(output) на листе. Нулевые строки успешно обновляются. |
| Фильтровать по галочному списку | Записывает определенные значения. Новые ценности молча отбрасываются. |
Еще одна мысль, и мне бы искренне хотелось услышать ответы других людей. Первой вещью, которую я автоматизировал таким образом, был ежемесячный сорокиминутный файл, над которым я работал больше года, и запрос занял полдня. Что за файл вы до сих пор чистите вручную, и что вам помешало превратить его в шаги?
Ссылки
- Уикхэм, Х. (2014). Аккуратные данные. Журнал статистического программного обеспечения, 59(10), 1–23.
- Раман В. и Хеллерштейн Дж. М. (2001). Гончарный круг: интерактивная система очистки данных. Материалы 27-й Международной конференции по очень большим базам данных., 381–390.
- Карпике, Дж. Д., и Блант, Дж. Р. (2011). Практика поиска дает больше знаний, чем детальное изучение с картированием понятий. Наука, 331(6018), 772–775.
Excel для аналитиков состоит из 378 страниц, шаги Power Query записаны по одному, поэтому обновление заменяет весь ручной этап.
Excel для аналитиков, 19 долларов США →тот Курс Excel дает вам повторения: широкие отчеты для разворота, папки для добавления, слияния с заведомо несовершенными ключами и флэш-карточки, на каком этапе записываются имена столбцов, а на каком нет. Теперь вы владеете методом; комплект - это практика. Ничего устанавливать, учетная запись не требуется.
Откройте набор Excel →