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
Типичные вопросы
«Дашборд тормозит. Что делаешь?»
- Включи debug режим — посмотри SQL, который генерирует DataLens.
- EXPLAIN на источнике.
- Materialized view / agregate table.
- Уменьши количество чартов на странице.
- Кэширование, если данные не меняются часто.
«Как сделать 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.