Шаблоны использования связей
Три повторяющихся паттерна, в которых связь даёт больше всего пользы.
Паттерн 1. Квартиры → Платежи аренды
Родитель: «Объекты недвижимости» — address, purchase_price, monthly_rent, purchase_date, is_rented.
Дочерний: «Платежи аренды» — payment_date, amount, object (связь), status (enum: paid/pending/overdue).
Что получаете на дашборде:
- Виджет KPI «Сдано в этом месяце» =
sum(amount)с фильтром «месяц». - Линейный график «Денежный поток по месяцам» — серия
sum(amount)по полю даты. - Drill-down: клик на столбец «Май 2026» → список платежей.
- Drill-down по квартире: клик на квартиру в таблице «Объектов» → список платежей именно по ней.
Расходы тоже отдельно. Тот же родительский «Объекты», новый дочерний «Расходы»: ремонты, налоги, комиссии. Связь object → квартира. Тогда виджет «Чистый доход по объекту» = sum(rent.amount) − sum(expense.amount).
Паттерн 2. Активы → Сделки
Родитель: «Активы» — ticker, name, current_price, class (enum: crypto/stock/bond).
Дочерний: «Сделки» — trade_date, asset (связь), type (enum: buy/sell), qty, price, fee.
Что получаете:
- KPI «Стоимость портфеля» = сумма
qty × current_priceчерез формулу или JOIN-агрегацию на дашборде. - Средняя цена покупки по активу — рецепт в «Готовых рецептах» (потребует доп. формулы и группировки).
- Donut «Структура портфеля» —
sum(qty × current_price), группировка поasset.
⚠️ Уточнить: «JOIN-агрегации» (формулы или виджеты, которые обращаются к полям родителя через связь) в текущей версии работают на уровне дашборда (фильтры + группировки), но не на уровне формул в дочернем датасете. Если нужен
asset.current_priceвнутри формулы — это пока невозможно. См. «Связи в формулах».
Паттерн 3. Категории → Расходы
Родитель: «Категории» — name, color, budget_month (Деньги — план на месяц).
Дочерний: «Расходы» — date, amount, category (связь), notes.
Что получаете:
- Donut «Расходы по категориям» —
sum(amount), группировка поcategory. - Сравнение план/факт: на дашборде два виджета — один читает
budget_monthиз родителя, другой считаетsum(amount)за месяц по дочернему. - Drill-down: клик по категории → список конкретных расходов.
Когда связь не нужна
- Если у целевого нет полей. Например, «приоритет» (низкий/средний/высокий) — это «Список», не связь.
- Если значения уникальны. Например, имя контрагента в одной строке встречается единственный раз — заведите «Текст», а не отдельный датасет.
- Если связь нужна «вверх» к одному родителю из множества. Это уже M:N — пока не поддерживается. См. «Что такое связь».
Частые ошибки
- Сделали связь между двумя датасетами, а потом дублировали поля «адрес» в обоих. Не нужно: адрес живёт в родителе, в дочернем — только связь.
- Хотят «сумму платежей» как формулу в «Объектах». Внутри формулы это не делается — на дашборде агрегируйте по связи. См. ⚠️ выше.
- Создают связь от ребёнка к ребёнку без общего родителя. Чаще всего тут нужен третий датасет-родитель.