Поделиться через


Обзор объединения файлов

С помощью Power Query можно объединить несколько файлов с одной схемой в одну логическую таблицу.

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

Файлы могут поступать из различных источников, таких как (но не только):

  • Локальные папки
  • Сайты SharePoint
  • Хранилище BLOB-объектов Azure
  • Azure Data Lake Storage (1-го и 2-го поколения)

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

Снимок экрана: представление файловой системы с несколькими примерами файлов.

В представлении файловой системы столбец Content содержит двоичное представление каждого файла.

Примечание.

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

При выборе любого из значений [двоичного файла] в столбце содержимого автоматически создается ряд шагов навигации для этого конкретного файла. Power Query пытается интерпретировать двоичный файл с помощью одного из доступных соединителей, таких как Text/CSV, Excel, JSON или XML.

Объединение файлов выполняется на следующих этапах:

Просмотр таблицы

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

Снимок экрана: предварительный просмотр таблицы с выделенным параметром

Кроме того, можно выбрать преобразование данных для доступа к редактору Power Query и создать подмножество списка файлов (например, с помощью фильтров в столбце пути к папке для включения только файлов из определенной вложенной папки). Затем объедините файлы, выбрав столбец, содержащий двоичные файлы в столбце "Содержимое ", а затем выбрав один из следующих вариантов:

  • Команда "Объединить файлы" в группе "Объединение" на вкладке "Главная".

    Снимок экрана: команда

  • Значок "Объединить файлы " в заголовке столбца столбца, содержащего значения [Binary].

    Снимок экрана: значок объединения файлов, выделенный в заголовке столбца.

Диалоговое окно объединения файлов

После выбора команды "Объединить или объединить файлы" откроется диалоговое окно "Объединение файлов", а также выполняются следующие действия:

  1. Power Query анализирует пример файла (по умолчанию первый файл в списке) и определяет правильный соединитель файлов для открытия этого файла.
  2. Диалоговое окно предоставляет интерфейс соединителя файлов точно так же, как если бы вы подключились непосредственно к данному примеру файла.
    • Если вы хотите использовать другой файл для примера файла, его можно выбрать в раскрывающемся меню "Пример файла ".
    • Необязательно. Вы можете выбрать "Пропустить файлы с ошибками ", чтобы исключить из окончательного вывода все файлы, которые приводят к ошибкам.

На следующем рисунке Power Query обнаруживает, что первый файл имеет расширение имени файла .csv, поэтому он использует соединитель Text/CSV для интерпретации файла.

Снимок экрана: диалоговое окно

Выходные данные объединенных файлов

После завершения процесса объединения файлов Power Query автоматически выполняет следующие действия:

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

    В этом примере запроса есть файл преобразования примера имени в области "Запросы".

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

    Эти запросы перечислены в группе вспомогательных запросов.

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

  4. Создает новую группу с файлом преобразования префикса и исходным запросом в качестве суффикса и упорядочивает все компоненты, используемые для создания этих объединенных файлов в этой группе.

    Снимок экрана: выходные данные объединенных файлов.

Вы можете легко объединить все файлы в данной папке, если они имеют одинаковый тип и структуру (включая одни и те же столбцы). Кроме того, можно применить дополнительные шаги преобразования или извлечения, изменив автоматически созданный пример запроса, не беспокоясь об изменении или создании других шагов запроса функции.

Примечание.

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

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

Объединение CSV-файлов