Приветствую всех любителей работы с данными! Сегодня мы поговорим о ситуации, которая встречается достаточно часто: нужно объединить несколько таблиц или файлов с данными, которые имеют одинаковые значения, но проблема заключается в том, что они расположены в колонках с разными именами.
Группа | Код номенклатуры | Номенклатура | Единица измерения | Количество расхода | Цена |
---|---|---|---|---|---|
Фрукты | 3705 | Яблоко | шт | 5 | 8 |
Молочная продукция | 5698 | Молоко | л | 0,9 | 110 |
Колбасные изделия | 1126 | Грудинка | кг | 356 | 700 |
Group | ID SKU | SKU | Unit | Amount | Price |
---|---|---|---|---|---|
Ягоды | 2369 | Малина | кг | 0,4 | 600 |
Молочная продукция | 9987 | Кефир | л | 1 | 80 |
Конфеты | 6693 | Баунти с манго | кг | 3 | 800 |
Как же справиться с этой задачей?
Для корректного добавления запросов важно чтобы столбцы в них назывались одинаково.
Иначе будут пустые строки и появятся лишние столбцы
Иначе будут пустые строки и появятся лишние столбцы
1. Алгоритм замены названий столбцов при объединении файлов из папки
Замена заголовков в примере файла
Шаг 1.1: Подготовка к замене заголовков
- Создание справочника заголовков для замены.
- Создание умной таблицы из справочника заголовков.
- Добавление справочника в запрос.
- Преобразование таблицы справочника в список записей с помощью функции Table.ToRows.
=Table.ToRows( Источник )
Источник - это таблица (предыдущий шаг), которую необходимо преобразовать в список записей
Шаг 1.2: Загрузка данных
- Загрузка файлов из папки.
- Преобразование данных и получение Примера файла.
Шаг 1.3: Замена заголовков столбцов с использованием формулы
- Получение формулы переименования столбца в Примере файла.
- Подмена списка в формуле на запрос со справочником.
- Добавление параметра "MissingField.Ignore" для игнорирования правильных названий столбцов.
MissingField.Ignore
Параметр функции изменения названий столбцов.
Он указывает на то, что нужно пропускать отсутствующие столбцы и возвращать доступные
Он указывает на то, что нужно пропускать отсутствующие столбцы и возвращать доступные
Бывают ситуации, когда нельзя менять названия столбцов в запросах, но их нужно объединить добавлением. Тогда используем альтернативный подход
2. Алгоритм добавления запросов с разными заголовками
Замена имен столбцов "на лету"
Шаг 2.1: Подготовка к замене заголовков
- Создание справочника заголовков для замены.
- Создание умной таблицы из справочника заголовков.
- Добавление справочника в запрос.
- Преобразование таблицы справочника в список записей с помощью функции Table.ToRows.
=Table.ToRows( Источник )
Источник - это таблица (предыдущий шаг), которую необходимо преобразовать в список записей
Шаг 2.2: Загрузка данных
- Загрузка данных с разными заголовками в отдельные запросы.
- Объединение запросов методом "Добавить запросы в новый".
Шаг 2.3: Замена заголовков столбцов с использованием формулы
- Получение формулы переименования столбца.
- Подмена списка в формуле на запрос со справочником.
- Добавление параметра "MissingField.Ignore" для игнорирования правильных названий столбцов.
MissingField.Ignore
Параметр функции изменения названий столбцов. Он указывает на то, что нужно пропускать отсутствующие столбцы и возвращать доступные
Итог:
- Замена названий столбцов при объединении запросов.
- Возможность использования запросов со старыми названиями для других целей.
Заключение
Таким образом, даже если изначально столбцы имели разные названия, теперь они объединены под одним именем, а данные собраны вместе без потери информации. Теперь вы можете использовать эти объединённые данные для дальнейшего анализа!
Надеюсь, этот материал был полезен для тех, кто сталкивается с подобными задачами. Если у вас остались вопросы или нужна помощь, пишите комментарии – обсудим вместе! 😊