# «Объединить» или «Связать»: как Блендер собирает таблицы

> **Коротко.** «Объединить» ставит строки таблиц друг под друга и ничего не теряет. «Связать» ищет пары строк по ключам; строка без пары может пропасть. Что выбрать и почему.

Адрес: https://marfor.pro/docs/data/blender/union-join · Раздел: Данные: от таблицы до проверенного источника › Блендер: одна таблица из нескольких источников › «Объединить» или «Связать»: как Блендер собирает таблицы · Вид: Понятие · Уровень: для начинающих · Обновлено: 2026-10-14

![Одни и те же таблицы «Реклама» (январь Директ 100 000, январь VK 50 000, февраль Директ 120 000) и «CRM» (январь Директ 400, февраль Директ 450, февраль Email 80). «Объединить» даёт четыре строки: у VK заказов 0, у Email расходов 0, Email на месте. «Связать» с типом Left outer даёт три строки: у VK заказов нет, строка «февраль · Email · 80» потеряна, потому что в «Рекламе» для неё нет пары](https://marfor.pro/docs/img/prep-blend-union-join.png)

## Пример на числах {#example}

Две таблицы, ключи — месяц и канал. В «Рекламе» три строки, в «CRM» три, общих пар две: январь · Директ и февраль · Директ.

1. **«Объединить»** берёт строки обеих таблиц и складывает их по одинаковым месяцу и каналу. Получается 4 строки: две пары слились, VK остался без заказов, Email — без расходов. У метрики, которой в таблице не было, стоит 0.
2. **«Связать», тип Left outer** берёт все строки первой таблицы и ищет к каждой пару во второй. Получается 3 строки: у VK пары нет, и заказов у него нет — пусто или 0. Строка «февраль · Email · 80» из CRM пропала — в «Рекламе» нет для неё пары.
3. **Итог заказов** в «Объединить» — 930, в «Связать» — 850. Разница — потерянные 80 заказов Email.

## Что выбрать {#choose}

| Задача | Режим |
|---|---|
| Расходы из кабинетов и заказы из CRM по одним и тем же срезам | «Объединить» — ничего не теряет |
| Свести несколько выгрузок одной формы: по месяцам, по регионам | «Объединить» |
| Свернуть одну дневную таблицу до месяцев и каналов | «Объединить» с одной таблицей |
| Добавить к таблице справочник: канал → группа каналов | «Связать», Left outer |
| Оставить только срезы, которые есть в обеих таблицах | «Связать», Inner |

Если сомневаетесь — «Объединить». Чтобы строки разных таблиц слились, измерения должны называться одинаково: переименуйте поле карандашом в карточке таблицы.

## Типы соединения в «Связать» {#join-types}

| Тип | Что останется |
|---|---|
| Left outer (по умолчанию) | Все строки первой таблицы, к ним — пары из второй |
| Right outer | Все строки второй таблицы |
| Inner | Только строки, у которых нашлась пара |
| Full outer | Строки обеих таблиц |
| Cross | Каждая строка с каждой — строк станет произведение |

Ключи задают в окне «Настройка соединения» → «Условия соединения». Если условий нет, Блендер связывает таблицы по одинаково названным измерениям; если и таких нет — каждую строку с каждой. Значения ключей сравниваются точно: «Директ» и «директ» пары не дадут.

## Где это видно в MARFOR {#in-marfor}

- Переключатель режимов — вверху экрана «Блендер данных». Блок между карточками таблиц в режиме «Связать» показывает число условий; нажатие открывает «Настройка соединения».
- «Превью результата» внизу — первые строки бленда.
- В режиме «Связать» под превью может появиться полоса «N строк без данных из "…" — возможно, dimension-значения не совпадают между таблицами» и кнопка «Переключить на "Объединить"».

## Ограничения и частые ошибки {#limits}

- **Полоса «строк без данных» считается по превью**, а не по всему бленду, и строки с нулём в метриках тоже считает «без данных». Это подсказка, а не точный подсчёт.
- **Full outer и Right outer**: месяц и канал берутся из первой таблицы, поэтому у строк, которых в ней нет, эти поля могут оказаться пустыми. Для «строк обеих таблиц» надёжнее «Объединить».
- **Три таблицы и больше**: в «Связать» каждая следующая таблица связывается с предыдущей — третья со второй, а не с первой.
- **Лишнее измерение в «Связать» размножает суммы.** Если у CRM есть ещё и город, на одну строку «Рекламы» придётся несколько строк CRM, и её расходы повторятся в каждой. Берите в обе таблицы одинаковые измерения или «Объединить».
- **0 в «Объединить» значит «у этой таблицы такой строки нет»**, а не «было ноль». В отчёте по каналу VK заказов 0 — потому что CRM не знает VK.

> [!Для любознательных]
> «Объединить» — это объединение строк с последующей группировкой: таблицы ставятся друг под друга, у каждой недостающие колонки заполняются нулём или пустым значением, затем строки с одинаковыми измерениями складываются. «Связать» сначала сворачивает каждую таблицу по её измерениям, а затем соединяет свёрнутые таблицы по ключам. Поэтому повторы строк внутри одной таблицы суммы не размножают, а лишнее измерение у одной из таблиц — размножает.

## Связанные

- [Собрать бленд из нескольких источников и сохранить как источник](https://marfor.pro/docs/data/blender/basics)
- [Бленд: сохранённая таблица и формулы поверх неё](https://marfor.pro/docs/data/blender/overview)
- [Строки бленда не сходятся: пропали, задвоились или пустые](https://marfor.pro/docs/data/blender/rows-wrong)
- [Обновление бленда: расписание и цепочка источников](https://marfor.pro/docs/data/blender/refresh)
