Недавние обновления (июнь 2026) облачного Битрикс24 CRM позволили работать с новыми компонентами в BI Конструкторе (Apache Superset), включая картографию. Но не стоит сильно обольщаться на этот счёт, т.к. у мня получилось подготовить датасет только для одного типа карт, который поддерживает прорисовку регионов по ISO коду. Но где их взять эти коды? Давайте покопаемся в очередной несложной задаче и привлечем ИИ для написания рутинного кода.
Сразу отмечу тот факт, что визуализация "данные на карте" в Apache Superset оставляет желать лучшего (подвел курсор и вверху над картой значение меры под курсором активного региона), но если кому достаточно такой информативности + тепловая карта по регионам страны, то компонент удовлетворяет этим минимальным требованиям. В реализации этой компонентной истории конечно лучше уповать на заинтересованность доработки от команды Битрикс24, но судя по всему никто не горит желанием создавать современную и удобную визуализацию.
Впрочем, речь в этой статье не об этом, а о том, что для раскраски областей нашей страны нужно иметь таблицу ISO кодов. Работая с сущностью Компания я создал в рамках сценария обогащения определение код региона (46, 77 и т.п. ) по ИНН (через тот же dadata_ru). Далее на ваше усмотрение есть 2 пути:
- Вы создаете пользовательское поле в сущности Компания CRM для хранения ISO кода.
- Вы создаете виртуальное поле при описании
datasetв Trino SQL встроенного в Битрикс24 BI Конструктора.
В моем случае я предпочел второй путь, т.к. мне не нужно лишних полей в сущностях CRM и мне несложно прописать в SQL таблицу соответствий. Как создать готовую вставку в SQL? Легко! Есть всемогущий ИИ, которую задаем задачу примерно следующим промтом:
<role>Ты программист со знанием SQL, data science инженер</role>
<instruction>
*** Задача 1 ***
Есть коды ISO 3166-2:RU, и есть коды регионов по российским идентификатором, например 77 - Москва.
Выведи на экран таблицу сопоставления между 2 стандартами.
*** Задача 2 ***
Переведи таблицу в создание отдельного поля в нотации Trino SQL, выведи SQL выражение на экран.
</instruction>
Конечно же можете упразднить промт, все в ваших руках. Но я предпочитаю видеть решение задачи в виде декомпозиции. На выходе вы получаете SQL блок для вставки в запрос формирования вашего датасета. Примерно это будет выглядеть так:
-- region_code - это поле, в котором хранится значение кода региона РФ.
CASE CAST(region_code AS INTEGER)
WHEN 1 THEN 'RU-AD' WHEN 2 THEN 'RU-BA' WHEN 3 THEN 'RU-BU'
WHEN 4 THEN 'RU-AL' WHEN 5 THEN 'RU-DA' WHEN 6 THEN 'RU-IN'
WHEN 7 THEN 'RU-KB' WHEN 8 THEN 'RU-KL' WHEN 9 THEN 'RU-KC'
WHEN 10 THEN 'RU-KR' WHEN 11 THEN 'RU-KO' WHEN 12 THEN 'RU-ME'
WHEN 13 THEN 'RU-MO' WHEN 14 THEN 'RU-SA' WHEN 15 THEN 'RU-SE'
WHEN 16 THEN 'RU-TA' WHEN 17 THEN 'RU-TY' WHEN 18 THEN 'RU-UD'
WHEN 19 THEN 'RU-KK' WHEN 20 THEN 'RU-CE' WHEN 21 THEN 'RU-CU'
WHEN 22 THEN 'RU-ALT' WHEN 23 THEN 'RU-KDA' WHEN 24 THEN 'RU-KYA'
WHEN 25 THEN 'RU-PRI' WHEN 26 THEN 'RU-STA' WHEN 27 THEN 'RU-KHA'
WHEN 28 THEN 'RU-AMU' WHEN 29 THEN 'RU-ARK' WHEN 30 THEN 'RU-AST'
WHEN 31 THEN 'RU-BEL' WHEN 32 THEN 'RU-BRY' WHEN 33 THEN 'RU-VLA'
WHEN 34 THEN 'RU-VGG' WHEN 35 THEN 'RU-VLG' WHEN 36 THEN 'RU-VOR'
WHEN 37 THEN 'RU-IVA' WHEN 38 THEN 'RU-IRK' WHEN 39 THEN 'RU-KGD'
WHEN 40 THEN 'RU-KLU' WHEN 41 THEN 'RU-KAM' WHEN 42 THEN 'RU-KEM'
WHEN 43 THEN 'RU-KIR' WHEN 44 THEN 'RU-KOS' WHEN 45 THEN 'RU-KGN'
WHEN 46 THEN 'RU-KRS' WHEN 47 THEN 'RU-LEN' WHEN 48 THEN 'RU-LIP'
WHEN 49 THEN 'RU-MAG' WHEN 50 THEN 'RU-MOS' WHEN 51 THEN 'RU-MUR'
WHEN 52 THEN 'RU-NIZ' WHEN 53 THEN 'RU-NGR' WHEN 54 THEN 'RU-NVS'
WHEN 55 THEN 'RU-OMS' WHEN 56 THEN 'RU-ORE' WHEN 57 THEN 'RU-ORL'
WHEN 58 THEN 'RU-PNZ' WHEN 59 THEN 'RU-PER' WHEN 60 THEN 'RU-PSK'
WHEN 61 THEN 'RU-ROS' WHEN 62 THEN 'RU-RYA' WHEN 63 THEN 'RU-SAM'
WHEN 64 THEN 'RU-SAR' WHEN 65 THEN 'RU-SAK' WHEN 66 THEN 'RU-SVE'
WHEN 67 THEN 'RU-SMO' WHEN 68 THEN 'RU-TAM' WHEN 69 THEN 'RU-TVE'
WHEN 70 THEN 'RU-TOM' WHEN 71 THEN 'RU-TUL' WHEN 72 THEN 'RU-TYU'
WHEN 73 THEN 'RU-ULY' WHEN 74 THEN 'RU-CHE' WHEN 75 THEN 'RU-ZAB'
WHEN 76 THEN 'RU-YAR' WHEN 77 THEN 'RU-MOW' WHEN 78 THEN 'RU-SPE'
WHEN 79 THEN 'RU-YEV' WHEN 83 THEN 'RU-NEN' WHEN 86 THEN 'RU-KHM'
WHEN 87 THEN 'RU-CHU' WHEN 89 THEN 'RU-YAN' WHEN 95 THEN 'RU-CE'
WHEN 96 THEN 'RU-SVE' WHEN 97 THEN 'RU-MOW' WHEN 98 THEN 'RU-SPE'
WHEN 99 THEN 'RU-MOW'
END AS iso_code
Когда у вас готов датасет и вы рисуете дашборд в аналитике, то для работы с раскраской регионам по ISO, как я говорил выше, подойдет только 1 компонент - Карта страны (как на картинке).

А маппинг-столбец с ISO кодами представляете в настройках компонента и получаете раскраску по областям страны, только не забудьте указать страны из списка (Russia).

Удачного анализа и программирования.