Недавние обновления (июнь 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).


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