Power Query — это встроенный инструмент для сбора и обработки данных, доступный в Microsoft Excel и Power BI. Он позволяет автоматизировать рутинные задачи по работе с информацией.

Основные возможности:

  • Загрузка данных из файлов, баз данных и веб-страниц.
  • Очистка, фильтрация и объединение таблиц.
  • Автоматизация процессов: настройка выполняется один раз, обновление данных происходит по нажатию кнопки.

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

Пример: Парсинг курсов валют с сайта

В данном руководстве разобран процесс загрузки данных о курсах валют с сайта izhevskinfo.ru и их подготовка к анализу в Excel.

Шаг 1. Подключение к источнику

  1. В Excel перейдите на вкладку Данные.
  2. Выберите Получить данные -> Из других источников -> Из Интернета
  3. Вставьте ссылку: https://izhevskinfo.ru/currency/index_usd_1.html.
  4. В окне Навигатор найдите необходимую таблицу ( «Курсы валют») и нажмите Преобразовать данные. Откроется редактор Power Query.

Шаг 2. Преобразование данных

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

Базовые преобразования:

  1. Заголовки: Нажмите «Использовать первую строку как заголовки».
  2. Переименование: Переименуйте колонки (например, Column1 -> Дата, Column2 -> USD и т.д.).
  3. Разделение данных: Разделите колонки, содержащие курс валюты и разность с прошлым днем.
  4. Замена значений: Замените текст «Сегодня» на актуальную дату.

Использование M-кода для сложной логики* Для автоматического разделения значений и приведения типов данных можно использовать расширенный редактор. В редакторе Power Query выберите Просмотр -> Расширенный редактор и вставьте следующий код:




let
    // ИСПРАВЛЕНИЕ: DateTime.Date убирает время (15:88), оставляя только дату
    #"Замена Сегодня" = Table.ReplaceValue(#"Название предыдущего шага", "Сегодня", DateTime.Date(DateTime.LocalNow()), Replacer.ReplaceValue, {"Дата"}),

    #"Переименованные колонки" = Table.RenameColumns(#"Замена Сегодня", {
        {Table.ColumnNames(#"Замена Сегодня"){0}, "Дата"},
        {Table.ColumnNames(#"Замена Сегодня"){1}, "USD"},
        {Table.ColumnNames(#"Замена Сегодня"){2}, "EUR"},
        {Table.ColumnNames(#"Замена Сегодня"){3}, "GBP"},
        {Table.ColumnNames(#"Замена Сегодня"){4}, "CHF"},
        {Table.ColumnNames(#"Замена Сегодня"){5}, "JPV"}
    }),

    #"Разделенный USD" = Table.SplitColumn(#"Переименованные колонки", "USD", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"USD.1", "USD.2"}),
    #"Разделенный EUR" = Table.SplitColumn(#"Разделенный USD", "EUR", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"EUR.1", "EUR.2"}),
    #"Разделенный GBP" = Table.SplitColumn(#"Разделенный EUR", "GBP", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"GBP.1", "GBP.2"}),
    #"Разделенный CHF" = Table.SplitColumn(#"Разделенный GBP", "CHF", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"CHF.1", "CHF.2"}),
    #"Разделенный JPV" = Table.SplitColumn(#"Разделенный CHF", "JPV", Splitter.SplitTextByDelimiter(" ", QuoteStyle.Csv), {"JPV.1", "JPV.2"}),
    #"Измененный тип" = Table.TransformColumnTypes(#"Разделенный JPV", {
        {"Дата", type date},
        {"USD.1", type number}, {"USD.2", type number},
        {"EUR.1", type number}, {"EUR.2", type number},
        {"GBP.1", type number}, {"GBP.2", type number},
        {"CHF.1", type number}, {"CHF.2", type number},
        {"JPV.1", type number}, {"JPV.2", type number}
    })
in
    #"Измененный тип"
Этот скрипт автоматически разделяет значения курсов и их изменения, а также приводит типы данных к числовому формату.

Шаг 3. Выгрузка результата

  1. В редакторе Power Query нажмите Главная -> Закрыть и загрузить.
  2. Данные появятся на новом листе в Excel в виде готовой таблицы.

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

Для получения актуальных курсов не нужно повторять настройку.

  1. Нажмите правой кнопкой мыши на таблицу.
  2. Выберите Обновить.

Power Query заново обратится к сайту, загрузит свежие данные и применит все настроенные шаги преобразования автоматически.

Использование M-кода для сложной логики* — тут есть элементы кода, чтобы составить код делаем скрин и отправляем в QWEN ну или другой ИИ на свое усмотрение



Другие примеры использования Power Query:

  1. Объединение файлов из папки
  2. Очистка «грязных» данных
  3. Автоматизация ежемесячного отчета
  4. Работа с базами данных