Гид по технологиям

Как добавить столбец из другой таблицы в Power BI

5 min read Power BI Обновлено 05 Dec 2025
Добавить столбец из другой таблицы в Power BI
Добавить столбец из другой таблицы в Power BI

Кратко: в Power BI можно добавить столбец из другой таблицы тремя основными способами — через RELATED (при наличии связи), через DAX-выражение с фильтром (если связи нет) и через Power Query (индекс + обращение по позиции). Ниже — пошаговые инструкции, альтернативы, когда методы не подходят и готовый чеклист для быстрой работы.

Добавить столбец в Power BI — пример данных

Power BI предлагает множество функций для организации и визуализации данных, но некоторые операции, например добавление столбца из другой таблицы, могут казаться неочевидными. Ниже мы разберём три рабочих подхода и дадим практические советы по выбору.

Ситуация: описание проблемы

Пользователь в официальном форуме Microsoft описал задачу так:

У меня 2 таблицы: Table [A] и TimeZone. Как добавить новый столбец в [A], который будет использовать значение столбца из таблицы TimeZone без применения Merge Query? В таблице TimeZone только одно значение — смещение в часах. Я хотел бы использовать это значение как параметр, но не понял, как.

Цель — взять значение часов из таблицы TimeZone и применить его к строкам в Table [A] без ненужного объединения.

Способ 1 — есть связь между таблицами (RELATED)

Если таблицы связаны (через ключ), самый простой способ — добавить вычисляемый столбец DAX на таблице [A]:

New Column = RELATED(TimeZone[Value])

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

Важно: RELATED работает только при корректной однонаправленной или двунаправленной связи между таблицами.

Способ 2 — нет связи между таблицами (DAX с фильтром)

Если вы не используете модели связей, можно получить значение по ключу с помощью выражения с переменными и CALCULATE:

New Column =
var JoinCol = 'TableA'[ID]
var NewCol = CALCULATE(MAX('TimeZone'[Value]), 'TimeZone'[ID] = JoinCol)
return NewCol

Пояснение: мы берём ключ из TableA, затем вычисляем соответствующее значение из TimeZone с фильтрацией по ID. Для одиночного значения можно использовать MAX или VALUES, но учитывайте, что VALUES вернёт ошибку при нескольких значениях.

Когда это не сработает: если для одного ID в TimeZone несколько значений — результат будет неоднозначен. Решение — агрегировать (MAX, MIN) или уточнить логику сопоставления.

Альтернатива DAX: функция LOOKUPVALUE удобна для точечного поиска:

New Column = LOOKUPVALUE(TimeZone[Value], TimeZone[ID], 'TableA'[ID])

LOOKUPVALUE проще читать, но также предполагает однозначное соответствие.

Способ 3 — Power Query: индекс + обращение по позиции

Иногда удобнее сделать преобразование на уровне Power Query (M). Пошагово:

  1. Выберите Изменить запросы. Это откроет редактор Power Query. Кнопка «Изменить запросы» в Power BI
  2. Перейдите на вкладку Добавить столбец.
  3. Добавьте Индексный столбец и назовите его Index. Добавление индексного столбца в Power Query
  4. Добавьте Пользовательский столбец с выражением:
= Table2[ColumnName]{[Index]}

Пояснение: выражение обращается к таблице Table2 по позиции индекса. Этот приём удобен, когда таблицы синхронизированы по порядку или когда TimeZone содержит ровно одно значение на каждую позицию.

Замечание: индексирование опасно, если порядок строк не зафиксирован. Всегда сортируйте и проверьте соответствие индексов.

Альтернативные подходы и использование параметров

  • Merge Query (Объединение): иногда объединение таблиц — более очевидный и явный путь. Оно создаёт явную связь строк и подходит для сложных соответствий.
  • Параметры Power Query: если TimeZone действительно содержит одно глобальное значение (один сдвиг для всех строк), создайте параметр и используйте его в выражениях — это чище и более управляемо.
  • Использование Measure vs Calculated Column: если значение нужно лишь в визуализации, рассмотрите меру (Measure) вместо вычисляемого столбца, чтобы экономить модель и уменьшить размер.

Ментальная модель: ориентиры для выбора метода

  • Есть явная связь по ключу → RELATED.
  • Нет связи, но есть уникальный ключ → LOOKUPVALUE или CALCULATE с фильтром.
  • Одна строка-значение для всех записей → параметр Power Query.
  • Требуется гибкая предобработка → Power Query (Merge / Index).

Чеклист перед применением

  • Проверить наличие и тип связи между таблицами.
  • Убедиться, что для каждой пары ID ровно одно значение (или определить агрегат).
  • Решить: делать в модели (DAX) или в источнике (Power Query).
  • Тестировать на небольшом наборе данных.

Критерии приёмки

  • Значение из TimeZone корректно отображается в новом столбце для нескольких тестовых ID.
  • Нет дублирования или неожиданных NULL для известных ключей.
  • Производительность модели остаётся приемлемой после добавления столбца.

Когда методы не подходят (примеры ошибок)

  • Несоответствие порядка строк при использовании индексного метода.
  • Множественные значения в TimeZone для одного ID без определения агрегации.
  • Большой объём данных: вычисляемые столбцы могут увеличить объём модели — в таких случаях предпочтительнее меры или предобработка источника.

Мини‑плейбук: быстрый порядок действий

  1. Проверьте, доступно ли уникальное соответствие по ключу.
  2. Если да — используйте RELATED или LOOKUPVALUE.
  3. Если нет ключа, но порядок согласован — Power Query с индексом.
  4. Для глобального единственного значения — создайте параметр Power Query.
  5. Протестируйте и задокументируйте решение.

1‑строчный глоссарий

RELATED — функция DAX для получения значения из связанной таблицы; LOOKUPVALUE — точечный поиск по паре «столбец=значение».

Заключение

Добавление столбца из другой таблицы в Power BI может быть выполнено разными способами — выбор зависит от наличия связей, структуры данных и требований к производительности. RELATED и LOOKUPVALUE удобны при явных ключах; CALCULATE даёт гибкость; Power Query хорош для предобработки и параметров.

Важно: всегда проверяйте корректность сопоставления на тестовых данных и думайте о масштабируемости решения.

Наши рекомендации помогли? Оставьте комментарий с вашей задачей — подскажем оптимальный подход.

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

RDP: полный гид по настройке и безопасности
Инфраструктура

RDP: полный гид по настройке и безопасности

Android как клавиатура и трекпад для Windows
Гайды

Android как клавиатура и трекпад для Windows

Советы и приёмы для работы с PDF
Документы

Советы и приёмы для работы с PDF

Calibration в Lightroom Classic: как и когда использовать
Фото

Calibration в Lightroom Classic: как и когда использовать

Отключить Siri Suggestions на iPhone
iOS

Отключить Siri Suggestions на iPhone

Рисование таблиц в Microsoft Word — руководство
Office

Рисование таблиц в Microsoft Word — руководство