Разбиение данных по датам
Для того чтобы иметь возможность разбивать данные по датам, вам необходимо загрузить календарь в вашу модель данных и связать его с таблицей фактов.
Если календарь уже добавлен, то вы можете разбивать значения по датам, месяцам, неделям и т.д.
Представим, что вам нужно выполнить разбиение по датам. Для этого необходимо сделать следующее:
Перейдите в окно редактирования дашбордов и добавьте виджет, кликнув соответствующую иконку в панели Визуализации. В нашем примере мы выберем столбчатую диаграмму:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/created-diagram.png?version=1&modificationDate=1674520095906&cacheVersion=1&api=v2&width=396&height=171)
Теперь необходимо заполнить поля Х и Y, перетащив в них необходимые столбцы. Для оси X выберем столбец datakey из таблицы Календарь (он содержит даты), для оси Y – столбец Выручка таблицы factonlinesales:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/sort-by-date.gif?version=1&modificationDate=1674524925351&cacheVersion=1&api=v2&width=396&height=181)
Как видите, данные отсортировались по датам.
Изменение сортировки данных в виджете
Некоторые значения, добавленные из таблицы календаря, сортируются в виджете по алфавиту. Например, при разбиении данных по месяцам, первым месяцем будет Август, затем Апрель, а завершающим будет Январь. Чтобы изменить такое поведение, администратору платформы необходимо произвести дополнительные настройки.
Во-первых, у таблицы календаря, добавленной в источник данных, должны присутствовать столбцы с названиями месяцев и их буквенными обозначениями. Например, месяцу Январь в столбце Название месяца должен соответствовать индекс А в столбце Индекс месяца, Февралю – Б, и т.д.:
![](https://visiology-doc.atlassian.net/wiki/download/attachments/53870601/table.png?version=2&modificationDate=1674619309369&cacheVersion=1&api=v2)
Наличие индексов позволит отсортировать месяца нужным образом.
Во-вторых, необходимо выполнить следующие шаги:
Откройте дашборд, на котороv находится виджет с данными, разбитыми по месяцам:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/by-month.png?version=1&modificationDate=1674530559141&cacheVersion=1&api=v2&width=453&height=192)
Нажмите клавишу F12, чтобы открыть консоль разработчика, и перейдите на вкладку Network:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/network.png?version=1&modificationDate=1674533435453&cacheVersion=1&api=v2&width=453&height=223)
В секции Name выберите модель данных, перейдите на вкладку Response и скопируйте в какой-нибудь полученный JSON код ответа:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/network2.png?version=2&modificationDate=1674620280773&cacheVersion=1&api=v2&width=453&height=223)
Извлеките из JSON кода следующую информацию (она понадобится для отправки HTTP-запроса):
Идентификатор всей модели. Это значения поля id на самом верхнем уровне кода JSON. Например:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/image-20230123-071645.png?version=2&modificationDate=1674619512849&cacheVersion=1&api=v2&width=283&height=44)
Идентификатор таблицы календаря. В массиве tables найдите таблицу загруженного календаря и скопируйте ее id. Например:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/table-id.png?version=1&modificationDate=1674537975360&cacheVersion=1&api=v2&width=283&height=90)
В таблице загруженного календаря, в массиве columns, найдите значение id колонки, которую вы будете сортировать (Месяц). Например:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/column-id.png?version=1&modificationDate=1674538524385&cacheVersion=1&api=v2&width=283&height=62)
В таблице загруженного календаря в массиве columns найдите значение id колонки, по которой вы будете сортировать (Индекс месяца). Например:
![](https://visiology-doc.atlassian.net/wiki/download/thumbnails/53870601/column-id2.png?version=2&modificationDate=1674539546181&cacheVersion=1&api=v2&width=283&height=59)
В любом инструменте отправки 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
Перезаходим на дашборд. Если все действия выполнены правильно - виджет начинает сортировать поле “Месяц“ по полю “Номер месяца“
Смотрите также
📄 Загрузка календаря