0

Обзор DataLens, модель данных

Работа с данными в DataLens происходит так: мы подключаем источник данных, создаём из него датасет, а на основе датасета делаем чарты, из которых составляем дашборд.В качестве источника данных DataLens использует БД (ClickHouse, MySQL, PostgreSQL, SQL Server и Oracle Database), которые могут находиться и в облаке, и вне него, а также csv-файлы, сервисы Google Sheets, Яндекс.Метрика и AppMetrica. Подойдут и другие источники, если в маркетплейсе для них есть коннекторы. Список поддерживаемых источников постоянно пополняется.Для доступа к источнику данных понадобится подключение. Оно содержит информацию о параметрах доступа. Например, IP-адрес хоста БД или номер порта.Из источника данных сервис создаёт датасет: набор данных и их описание.imageТак выглядит датасет со статистикой заболеваемости коронавирусом в РоссииДатасет может работать в двух режимах. В режиме прямого доступа DataLens направляет запросы к источнику данных каждый раз, когда создаёт визуализацию. В режиме материализации DataLens один раз загружает все данные из источника в свою БД и потом на её основе строит чарты. Материализацию используют, если не хотят нагружать исходную БД.На основе данных из одного или нескольких датасетов создают чарты: диаграммы, графики, картограммы и таблицы. Чарты позволяют быстро оценить данные или проверить гипотезы. Подробности обо всех типах чартов DataLens вы найдёте в документации.imageСтолбчатая диаграмма с общим числом случаев заболевания коронавирусом по федеральным округамЧарты с данными можно добавить на дашборд. Как правило, дашборд состоит из чартов, заголовков, поясняющих надписей и селекторов, с помощью которых к данным применяют фильтры (например, выбирают диапазон дат или категорию товара).На дашборде чарт помещается в отдельный блок — виджет. Вы можете передвигать виджет, изменять его размер, а также название чарта в виджете.Вот так выглядит готовый дашборд:imageДашборд с информацией о ключевых показателях работы торговой сетиОткройте этот дашборд и посмотрите, как он позволяет анализировать данные. А на следующем уроке вы создадите дашборд сами.Модель данныхDataLens берёт данные из одной или нескольких таблиц источника. Если таблиц несколько, то их связывают, указав одинаковые поля (столбцы или строки — в зависимости от источника). Сервис может связать таблицы и автоматически по первому совпадению имени и типа данных этих полей.

image

Выше показано, как DataLens загружает БД торговой сети, состоящую из пяти таблиц. Между таблицами установлены связи: таблица с данными о продажах товаров связывается с таблицей с данными о магазинах сети по полю ShopID.Из данных источника DataLens формирует датасет. Датасет состоит из полей двух типов: измерение и показатель.

image

Поля-измерения содержат качественные характеристики (например, название магазина, товара, дата покупки). В интерфейсе эти поля зелёные.Поля-показатели содержат количество, т. е. это числовые значения (например, стоимость заказа, цена товара). В интерфейсе эти поля синие.На чартах и дашбордах по значениям измерений агрегируются значения показателей (например, по дате суммируется стоимость заказов в этот день).Для полей-показателей обязательно определяйте функцию агрегации (например, количество, сумма, среднее) Для полей-измерений функция агрегации не используется.Остановимся на типах полей ещё раз: это очень важно! От того, как вы определите тип поля — измерение это или показатель, — зависит логика генерации запроса в источник данных и результат их визуализации.Измерения (дата, название продукта, регион, тип доставки…) используются для группировки и формирования разрезов в данных и отчётах. Показатели — это агрегируемые значения, метрики (выручка, число сессий, число заказов…). Их анализируют в разрезе измерений.В зависимости от того, что мы хотим отобразить на чарте, одно и то же поле может быть и измерением, и показателем. Например, если поле «Клиент»:

  • измерение — то используем его для группировки показателя «Выручка» и получим отчёт с выручкой по клиентам;
  • показатель — то применим к нему правило агрегации COUNTD (Count Distinсt, количество уникальных значений) и построим отчёт, группирующий клиентов по регионам, т. е. показывающий, сколько в каждом регионе уникальных клиентов.

Если вы планируете использовать поле в качестве и измерения, и показателя, то лучше продублировать его на уровне датасета и сделать два разных поля.На графике элементы поля-измерения располагаются по оси X, а агрегированные значения поля-показателя — по оси Y.

image

DataLens также позволяет создавать вычисляемые поля. Это можно сделать на уровне датасета (тогда они будут доступны во всех чартах) или на уровне чарта (поля будут видны только в нём). Вычисляемое поле — это дополнительное поле данных, его значения рассчитываются по формуле. Формулы представляют собой выражения, в которых используются функции, имена полей датасета и константы.В DataLens более 150 функций, позволяющих выполнять операции с данными: агрегатные, логические, строковые, преобразования типов данных, работы с временными рядами. Например, функция MONTH(datetime) возвращает номер месяца в году для указанной даты:

Скопировать кодMONTH(#2019-01-23#) = 1 

Справочник функций приведён в документации.

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

Подписка

Лучшие статьи


Fatal error: Uncaught Error: Call to a member function have_posts() on null in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php:398 Stack trace: #0 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/widget.php(257): fox56_blog_grid(NULL, Array) #1 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/widgets/latest-posts/register.php(33): include('/home/host18670...') #2 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/class-wp-widget.php(394): Wi_Widget_Latest_Posts->widget(Array, Array) #3 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/widgets.php(845): WP_Widget->display_callback(Array, Array) #4 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(418): dynamic_sidebar('sidebar') #5 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(136): fox56_single_sidebar() #6 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/single.php(7): fox56_single_inner() #7 /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/single.php(23): fox56_single() #8 /home/host1867038/the-devops.ru/htdocs/www/wp-includes/template-loader.php(106): include('/home/host18670...') #9 /home/host1867038/the-devops.ru/htdocs/www/wp-blog-header.php(19): require_once('/home/host18670...') #10 /home/host1867038/the-devops.ru/htdocs/www/index.php(17): require('/home/host18670...') #11 {main} thrown in /home/host1867038/the-devops.ru/htdocs/www/wp-content/themes/fox/inc/blog.php on line 398