Сегодня мы поговорим о том, как можно быстро создавать ссылки на промежуточные шаги одного запроса из другого запроса в Power Query. Этот подход особенно полезен при работе со сложными цепочками преобразований данных или когда нужно разделить обработку данных на несколько этапов.
Почему это полезно?
Создание ссылок между запросами позволяет повысить гибкость обработки данных, упрощает отладку сложных запросов и улучшает структуру проекта в целом.
Представьте, что у вас есть запрос в котором вы подготовили данные (убрали лишние символы, заменили наименования номенклатур или артикулы, сгруппировали данные и добавили столбец с объединяющим признаком). Но иногда нужен не весь итоговый набор, а только одна промежуточная часть обработки — например, очищенные данные перед группировкой. Тут и пригодится создание ссылок на отдельные части.
Вместо того чтобы переписывать один и тот же код в нескольких местах, вы можете просто сослаться на нужный этап другого запроса.
Как это сделать?
Для создания такой ссылки используется комбинация функций Value.Metadata и метаданных (meta), которая позволит нам указать путь до нужного шага внутри существующего запроса
Шаг 1: Добавляем метку к нужной части запроса
Предположим, у вас уже есть запрос "Исходный запрос_Метаданные", состоящий из нескольких этапов подготовки данных. Нужно обозначить один из этапов (например шаг "Измененный тип"), чтобы потом легко его использовать.

Подготовка к сохранению метаданных

Сохранение метаданных с помощью meta
Шаг 2: Создаем ссылку на промежуточный шаг первого запроса

Извлекаем мета-данные
Теперь, когда нужный нам шаг первого запроса отмечен, можно обратиться к нему прямо из нового запроса. Переходим туда, где хотим использовать данные, и пишем:
Таким образом, наш второй запрос начинает работу прямо с нужного шага первого запроса, не повторяя всю предварительную логику преобразования данных.
Шаг 1: Объединение запросов обычным способом
Для начала объединим обычным способом текущий запрос с тем запросом, из которого нам нужен промежуточный шаг.

Объединяем запросы
Шаг 2: Ссылка на метаданные при объединении запросов
Теперь нам необходимо скорректировать формулу объединения запросов:

Корректируем формулу объединения запросы
Итоговая формула будет выглядеть так в нашем примере:
Источник, {"Группа", "Номенклатура"},
Value.Metadata(#"Исходный запрос_Метаданные")[Метаданные], {"Группа", "Номенклатура"},
"т_Данные (метаданные)",
JoinKind.LeftOuter)
Источник и Value.Metadata(#"Исходный запрос_Метаданные")[Метаданные] - название таблиц, которые объединяем
{"Группа", "Номенклатура"} - столбцы по которым идет объединение
"т_Данные (метаданные)" - название столбца в котором будут сохранены объединенные таблицы
JoinKind.LeftOuter - метод объединения запросов
Остается лишь раскрыть столбец для получения нужных данных.
Заключение
Мы разобрались, как ссылаться на отдельный шаг обработки данных в Power Query. Так проще работать с большими массивами информации, избегая повторений и делая обработку быстрее.
Надеюсь, этот урок поможет вам упростить свою жизнь и сделает ваши проекты в Power Query более структурированными и удобными!
Если у вас остались вопросы – пишите в комментариях ниже. Удачи вам и пусть ваш Power Query всегда будет мощнее остальных инструментов!
Круто👍
Очень познавательно 👍