From 3ad377e02e1509676357c0186bcac6952e4df9f7 Mon Sep 17 00:00:00 2001 From: Dmitry Dementev Date: Mon, 7 Sep 2026 16:48:24 -0400 Subject: [PATCH] =?UTF-8?q?docs(superset):=20=D0=B7=D0=B0=D0=BF=D0=B8?= =?UTF-8?q?=D1=81=D0=B0=D0=BD=D1=8B=20=D0=BE=D1=82=D0=BA=D0=BB=D0=BE=D0=BD?= =?UTF-8?q?=D0=B5=D0=BD=D0=BD=D1=8B=D0=B5=20=D0=B2=D0=B0=D1=80=D0=B8=D0=B0?= =?UTF-8?q?=D0=BD=D1=82=D1=8B=20=D0=BF=D0=BE=D0=B4=D0=B0=D1=87=D0=B8=20?= =?UTF-8?q?=D0=B4=D0=B0=D1=88=D0=B1=D0=BE=D1=80=D0=B4=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Зачем: - карту регионов и кросс-фильтрацию предложат снова, а доводы против них стоили двух линий ревью и замеров на живом стенде. - Что: - в docs/architecture/superset.md добавлен раздел «Отклоненные варианты»: карта регионов, регион как общее измерение витрин, кросс-фильтрация между панелями, пороги на панелях. - к каждому отказу записаны проверенные факты и поводы вернуться к разговору. - Проверка: - `git diff --check`. - `grep -rn "0018" docs` — ссылок на неоставленный ADR нет. Co-Authored-By: Claude Opus 5 (1M context) --- docs/architecture/superset.md | 40 +++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/docs/architecture/superset.md b/docs/architecture/superset.md index 7de6924..a9f7c43 100644 --- a/docs/architecture/superset.md +++ b/docs/architecture/superset.md @@ -163,3 +163,43 @@ superset import-directory /app/import --overwrite живое подключение и хранилище пароля. Сами графики и дашборд ни одна цель не проверяет: их смотрят глазами после переинициализации. Полная карта целей — в [доке проверок](testing.md). + +## Отклоненные варианты + +Оживить дашборд предложат снова, поэтому отказы записаны с доводами. Замерено +на живом стенде 7 сентября 2026 года, Superset 6.1. + +**Карта регионов России.** Замысел стоял на клике: щелчок по региону +перестраивает весь экран. Плагин Country Map кросс-фильтр не отдает вовсе — +`behaviors` не объявлены, `setDataMask` не вызывается, а щелчок приближает +карту. Без клика остается картинка, и она рассказывает меньше, чем кажется: 16 +городов стенда сворачиваются в 14 регионов из 83, и больше половины сессий +приходится на один. Карта отдана факультативу «Добавь названия регионов в +отчет»: там читатель собирает справочник сам, и она становится наградой за +него. + +**Регион как общее измерение витрин.** Чтобы фильтр по региону действовал на +весь экран, регион пришлось бы завести в каждой витрине: Superset датасеты +между собой не соединяет, а фильтр по колонке, которой нет в датасете панели, +отбрасывается с причиной `COL_NOT_IN_DATASOURCE`. У заказа географии нет — она +бралась бы от человека через карту идентичностей и приписывалась бы сущности, у +которой ее в источнике не было. Вдобавок не сходятся ритмы: витрина от карты +идентичностей не замерзает никогда, а выручка живет окном последнего слепка +([дока DM](dm.md)). Стендовый словарь регионов отклонен раньше и по своей +причине — он повторил бы урок `dictGet` каталога вторым разом. + +**Кросс-фильтрация между панелями.** Общих измерений у витрин почти нет: +категория есть только у выручки, а день у сверки называется `order_day` против +`report_date` у остальных. Клик перестроил бы часть экрана и оставил другую +нетронутой, а вывод из этого читатель делает про данные, а не про устройство +витрин. Панель фильтров этой болезнью не болеет — там колонка задается явно для +каждой витрины, — поэтому фильтр периода дашборду разрешен, а кросс-фильтрация +нет. + +**Пороги и раскраска панелей.** Правило +[спеки](../specs/2026-07-30-stand-v2-realism.md), раздел 9: на дашборд смотрят +глазами, красное и зеленое живет в проверках. + +Поводы вернуться к разговору: плагин карты начинает отдавать кросс-фильтр; у +заказа появляется адрес доставки; витрины получают общее измерение по своей +причине, не ради дашборда.