Разбиение данных по датам
Для того чтобы иметь возможность разбивать данные по датам, вам необходимо загрузить календарь в вашу модель данных и связать его с таблицей фактов.
Если календарь уже добавлен, то вы можете разбивать значения по датам, месяцам, неделям и т.д.
Представим, что вам нужно выполнить разбиение по датам. Для этого необходимо сделать следующее:
Перейдите в окно редактирования дашбордов и добавьте виджет, кликнув соответствующую иконку в панели Визуализации. В нашем примере мы выберем столбчатую диаграмму:
Теперь необходимо заполнить поля Х и Y, перетащив в них необходимые столбцы. Для оси X выберем столбец datakey из таблицы Календарь (он содержит даты), для оси Y – столбец Выручка таблицы factonlinesales:
Как видите, данные отсортировались по датам.
Изменение сортировки данных в виджете
Некоторые значения, добавленные из таблицы календаря, сортируются в виджете по алфавиту. Например, при разбиении данных по месяцам, первым месяцем будет Август, затем Апрель, а завершающим будет Январь. Чтобы изменить такое поведение, администратору платформы необходимо произвести дополнительные настройки.
Во-первых, у таблицы календаря, добавленной в источник данных, должны присутствовать столбцы с названиями месяцев и их буквенными обозначениями. Например, месяцу Январь в столбце Название месяца должен соответствовать индекс А в столбце Индекс месяца, Февралю – Б, и т.д.:
Наличие индексов позволит отсортировать месяца нужным образом.
Во-вторых, необходимо выполнить следующие шаги:
Откройте дашборд, на котороv находится виджет с данными, разбитыми по месяцам:
Нажмите клавишу F12, чтобы открыть консоль разработчика, и перейдите на вкладку Network:
В секции Name выберите модель данных, перейдите на вкладку Response и скопируйте в какой-нибудь полученный JSON код ответа:
Извлеките из JSON кода следующую информацию (она понадобится для отправки HTTP-запроса):
Идентификатор всей модели. Это значения поля id на самом верхнем уровне кода JSON. Например:
Идентификатор таблицы календаря. В массиве tables найдите таблицу загруженного календаря и скопируйте ее id. Например:
В таблице загруженного календаря, в массиве columns, найдите значение id колонки, которую вы будете сортировать (Месяц). Например:
В таблице загруженного календаря в массиве columns найдите значение id колонки, по которой вы будете сортировать (Индекс месяца). Например:
В любом инструменте отправки HTTP запросов, формируем PATCH запрос
curl --location --request PATCH 'http://platform-ip/v3/formula-engine/api/v1/workspaces/4DE8029C-7E04-4F6B-9C46-D02B4F493192/datasets/5e3650be-8079-4810-975a-0349167d9ebf/tables/ddf5c2ae-c3f4-46f9-a1b8-1f5264afd6fa/columns/f2acc560-2f24-4c05-b346-d62ee0797a8e' \ --header 'Accept: */*' \ --header 'Authorization: Bearer *' \ --header 'Content-Type: application/json' \ --header 'Origin: http://192.168.44.23' \
--data-raw '{ "sortByColumnId" : "b8bafe63-af2d-4e78-bd8c-5185463353de"} '
где 'Authorization: Bearer *'
- корректный bearer токен
Отправляем этот запрос на сервер.
Сервер должен ответить HTTP статусом 200OK
Перезаходим на дашборд. Если все действия выполнены правильно - виджет начинает сортировать поле “Месяц“ по полю “Номер месяца“
Смотрите также
📄 Загрузка календаря