Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Примечание |
---|
Функционал сортировки по другому столбцу, описанный на этой странице, не работает для виджета Сводная таблица. |
Разбиение данных по датам
Для того чтобы иметь возможность разбивать данные по датам, вам необходимо загрузить календарь в вашу модель данных и связать его с таблицей фактов.
Если календарь уже добавлен, то вы можете разбивать значения по датам, месяцам, неделям и т.д.
Представим, что вам нужно выполнить разбиение по датам. Для этого необходимо сделать следующее:
Перейдите в окно редактирования дашбордов и добавьте виджет, кликнув соответствующую иконку в панели Визуализации. В нашем примере мы выберем столбчатую диаграмму:
Image RemovedImage AddedТеперь необходимо заполнить поля Х и Y, перетащив в них необходимые столбцы. Для оси X выберем столбец datakey из таблицы Календарь (он содержит даты), для оси Y – столбец Выручка таблицы factonlinesales:
Image RemovedImage AddedКак видите, данные отсортировались по датам.
Сортировка календарных значений в виджете
Некоторые значения, добавленные из таблицы календаря, сортируются в виджете по алфавиту. Например, при разбиении данных по месяцам, первым месяцем будет Август, затем Апрель, а завершающим будет Январь. Чтобы изменить такое поведение, администратору платформы необходимо произвести дополнительные настройки.
Во-первых, у таблицы необходимо добавить в таблицу календаря, добавленной используемую в источник источнике данных, должны присутствовать столбцы с названиями месяцев и их буквенными обозначениями. Напримерстолбец с буквенными индексами каждого месяца, расположенными в алфавитном порядке. То есть, месяцу Январь в столбце Название месяца должен соответствовать индекс А в столбце Индекс месяца, Февралю февралю – Б B, марту - C и т.д.:
Наличие индексов позволит отсортировать месяца месяцы нужным образом.
Во-вторых, отсортировать колонку с названиями месяцев по колонке, содержащей индексы месяцев.
Для этого необходимо выполнить следующие шаги:
Откройте дашборд, на котороv котором находится виджет с данными, разбитыми по месяцам:
Image RemovedImage AddedКак видно на скриншоте, месяцы отсортированы по алфавиту. Теперь мы отсортируем их таким образом, чтобы первым месяцем был январь, а последним - декабрь.
Нажмите клавишу F12, чтобы открыть консоль разработчика, и перейдите на вкладку Network:
Image RemovedImage AddedВ секции Name выберите модель данныхзапрос с названием model, перейдите на вкладку Response и скопируйте полученный JSON-код ответа в какой-нибудь полученный JSON код ответаредактор кода:
Image RemovedImage AddedИзвлеките из JSON-кода следующую информацию (она понадобится для отправки HTTP-запроса):
Идентификатор всей используемой TOM модели. Это значения поля id на самом верхнем уровне кода JSON. Например:
Image RemovedImage AddedИдентификатор таблицы календаря. В массиве tables найдите таблицу загруженного календаря и скопируйте ее id. Например:
Image RemovedВ таблице Image AddedИдентификатор колонки, которую вы будете сортировать. В массиве columns таблицы загруженного календаря, в массиве columns, найдите значение id колонки, которую вы будете сортировать (Месяц). Например:
Image RemovedВ таблице загруженного календаря в массиве columns Image AddedИдентификатор колонки, по которой вы будете сортировать. В массиве columns таблицы загруженного календаря найдите значение id колонки, по которой вы будете сортировать (Индекс месяца). Например:
Image Removed
В любом инструменте отправки HTTP запросов, формируем PATCH запрос
- Image Added
В консоли разработчика перейдите на вкладку Network > Headers, и в секции Request Headers скопируйтеBearer токен, указанный в Authorization. Он также будет использован в HTML-запросе:
Image AddedОткройте какое-нибудь приложение, используемое для отправки HTTP-запросов, например, Postman.
Отправьте
PATCH
запрос по адресу:http://<platform-ip>/v3/formula-engine/api/v1/workspaces/4DE8029C-7E04-4F6B-9C46-D02B4F493192/datasets/<model-ID>/tables/<table-ID>/columns/<column-ID>
где:<platform-ip>
– домен или IP-адрес сервера платформы;<model-ID>
– идентификатор используемой TOM модели, скопированный ранее (см. пример выше);<table-ID>
– идентификатор таблицы календаря, которая содержит колонку, данные которой вы хотите отсортировать (см. пример выше);<column-ID>
– идентификатор колонки, данные которой вы хотите отсортировать (см. пример выше).
Пример запроса в Postman:PATCH http://192.168.44.23/v3/formula-engine/api/v1/workspaces/4DE8029C-7E04-4F6B-9C46-D02B4F493192/datasets/5e3650be-8079-4810-975a-0349167d9ebf/tables/ddf5c2ae-c3f4-46f9-a1b8-1f5264afd6fa/columns/f2acc5607776fe46-2f2415c5-4c054458-b346-d62ee0797a8e' \ --header 'Accept: */*' \ --header 'Authorization: Bearer *' \ --header 'Content-Type: application/json' \ --header 'Origin: http://192.168.44.23' \
9329-8ca0d55ead5a
Параметры запроса:
Key | Value | |||
---|---|---|---|---|
Headers | Accept |
| ||
Authorization | Bearer Token, полученный из консоли разработчика (см. пункт 5). | |||
Content-Type |
| |||
Body | Введите следующую строку в качестве raw JSON data. Она указывает колонку, по которой необходимо проводить сортировку:
|
|
|
|
|
|
где 'Authorization: Bearer *'
- корректный bearer токен
Отправляем этот запрос на сервер.
Сервер должен ответить HTTP статусом 200OK
Перезаходим на дашбордгде |
В случае успешного выполнения запроса сервер возвращает ответ с кодом 200 OK.
7. После отправки запроса необходимо обновить страницу дашборда. Если все действия были выполнены правильно
-, виджет
начинает сортироватьотсортирует поле
“Месяц“Месяц по полю
“Номер месяца“ Индекс месяца и названия месяцев отобразятся корректно:
Смотрите также