DataLens на собеседовании BI-разработчика

Зачем DataLens на собесе BI

DataLens — BI-инструмент Яндекса. В 2026 стандарт в большинстве крупных российских компаний: Яндекс, Lamoda, ВкусВилл, X5, Самокат. На собесе BI-разработчика с прицелом на Яндекс / экосистему DataLens — must.

Слабое знание DataLens на собесе в Яндексе — провал, даже с хорошим SQL. Сильное — отличает middle от senior BI.

Архитектура DataLens

Подключения — connection к источнику:

  • PostgreSQL, ClickHouse, MySQL
  • Yandex Object Storage (Parquet, CSV)
  • Yandex Data Streams
  • Google Sheets
  • REST API (через HTTP-коннектор)

Датасеты — abstraction layer:

  • На основе таблиц или SQL-запросов
  • Поля типизированы (measure / dimension)
  • Формулы вычисляются на этом уровне
  • Кэширование

Чарты — визуализации на датасете:

  • Bar, line, pie, scatter, гео
  • Цвета, фильтры, сортировки

Дашборды — композиция чартов + фильтры верхнего уровня + текст:

  • Tab-структура (несколько вкладок)
  • Шарируется по ссылке или по подписке email

Датасеты в DataLens

Поля:

  • Dimensions (категориальные) — для группировки и фильтрации
  • Measures (численные) — для агрегаций

Формулы:

[total_revenue] = SUM([amount])
[avg_check] = SUM([amount]) / COUNTD([order_id])
[mom_growth] = ([total_revenue] - LAG([total_revenue]) OVER (ORDER BY [month])) / LAG([total_revenue]) OVER (ORDER BY [month])

DataLens поддерживает window-функции, аналогично SQL.

Связи между таблицами:

  • Manual join в датасете
  • Star schema / snowflake

Чарты

Типы чартов:

  • Table — табличные дашборды
  • Bar / Column — сравнение категорий
  • Line / Area — time series
  • Pie / Donut — доли
  • Scatter — корреляции
  • Геоаналитика — на основе Яндекс.Карт
  • Heatmap — distribution
  • Treemap — иерархия

Best practices:

  • Не путать pie с bar — pie только когда части суммируются в 100%
  • Цвета только для categorical / threshold
  • Time series — line, не bar
  • Geographic — карты, не таблицы

Row Level Security (RLS)

Для дашбордов с ограниченным доступом. Каждый user видит только свои данные.

Реализация:

  • В датасете подключаем current_user_login() или custom field
  • Фильтр на уровне dataset, не chart
  • В таблице БД — колонка owner_email

Пример:

SELECT * FROM orders WHERE manager_email = current_user_login()

Performance / оптимизация

Caching:

  • Запрос cache по datasetId + filters + period
  • Default TTL — 5 минут
  • На дашборд можно настроить custom TTL

Aggregations:

  • Pre-aggregate в DWH (materialized views / dbt mart)
  • Не делать complex calculations в DataLens, если можно в SQL

Limits:

  • 10k rows на chart (default)
  • Для больших dimensions — top-N + others

Типичные вопросы

«Дашборд тормозит. Что делаешь?»

  1. Включи debug режим — посмотри SQL, который генерирует DataLens.
  2. EXPLAIN на источнике.
  3. Materialized view / agregate table.
  4. Уменьши количество чартов на странице.
  5. Кэширование, если данные не меняются часто.

«Как сделать RLS для regional manager?»

Field region_owner_email в data table. В датасете filter region_owner_email = current_user_login(). Manager видит только свой регион.

«Star schema или single denormalized?»

Star — стандарт, лучше для maintenance. Denormalized — иногда быстрее на read, но дублирование. В DataLens оба возможны.

«Time-series chart с прогнозом?»

DataLens не имеет встроенного forecasting. Прогноз делаем в SQL (например, через линейный тренд или Python pre-computed) и кладём в data table.

Частые ошибки

  • Calculation в DataLens вместо SQL. Медленнее + не reusable.
  • Без caching. Каждый refresh — full query.
  • 10k rows limit ignored. Top-N + others — best practice.
  • Pie c много категорий. Бесполезно. Bar лучше.
  • RLS на chart-level. Должен быть на dataset-level.

FAQ

DataLens или Tableau?

DataLens — для Yandex Cloud / экосистема. Tableau — зарубеж. В 2026 в РФ DataLens стандарт для big tech.

Self-hosted DataLens?

Open-source версия есть (Yandex выкладывал), но обычно работают в managed Yandex Cloud.

DataLens vs Superset?

Superset — open-source, гибкий, бесплатный. DataLens — managed, лучше integration с Яндекс-стеком, RLS встроен.

Где практиковать?

Yandex Cloud бесплатный tier. Бесплатный 2-week trial с full features. Поднять PostgreSQL + DataLens + open data.

Дашборд из 50 чартов — нормально?

Нет. UX rule of thumb: 5-7 чартов на page, остальное — в табы / drilldowns.

Смотрите также