Сравнение версий
Ключ
- Эта строка добавлена.
- Эта строка удалена.
- Изменено форматирование.
Примечание |
---|
Функционал сортировки по другому столбцу, описанный на этой странице, не работает для виджета Сводная таблица. |
Разбиение данных по датам
Для того чтобы иметь возможность разбивать данные по датам, вам необходимо загрузить календарь в вашу модель данных и связать его с таблицей фактов.
Если календарь уже добавлен, то вы можете разбивать значения по датам, месяцам, неделям и т.д.
Представим, что вам нужно выполнить разбиение по датам. Для этого необходимо сделать следующее:
Перейдите в окно редактирования дашбордов и добавьте виджет, кликнув соответствующую иконку в панели Визуализации. В нашем примере мы выберем столбчатую диаграмму:
Теперь необходимо заполнить поля Х и Y, перетащив в них необходимые столбцы. Для оси X выберем столбец datakey из таблицы Календарь (он содержит даты), для оси Y – столбец Выручка таблицы factonlinesales:
Как видите, данные отсортировались по датам.
Сортировка календарных значений в виджете
Некоторые значения, добавленные из таблицы календаря, сортируются в виджете по алфавиту. Например, при разбиении данных по месяцам, первым месяцем будет Август, затем Апрель, а завершающим будет Январь. Чтобы изменить такое поведение, администратору платформы необходимо произвести дополнительные настройки.
Во-первых, необходимо добавить в таблицу календаря, используемую в источнике данных, столбец с буквенными индексами каждого месяца, расположенными в алфавитном порядке. То есть, месяцу Январь в столбце Название месяца должен соответствовать индекс А в столбце Индекс месяца, февралю – B, марту - C и т.д.:
Наличие индексов позволит отсортировать месяцы нужным образом.
Во-вторых, отсортировать колонку с названиями месяцев по колонке, содержащей индексы месяцев.
Для этого необходимо выполнить следующие шаги:
Откройте дашборд, на котором находится виджет с данными, разбитыми по месяцам:
Как видно на скриншоте, месяцы отсортированы по алфавиту. Теперь мы отсортируем их таким образом, чтобы первым месяцем был январь, а последним - декабрь.
Нажмите клавишу F12, чтобы открыть консоль разработчика, и перейдите на вкладку Network:
В секции Name выберите модель данныхзапрос с названием model, перейдите на вкладку Response и скопируйте полученный JSON-код ответа в какой-нибудь редактор кода полученный JSON-код ответа:
Image RemovedImage AddedИзвлеките из JSON-кода следующую информацию (она понадобится для отправки HTTP-запроса):
Идентификатор используемой TOM модели. Это значения поля id на самом верхнем уровне кода JSON. Например:
Image RemovedImage AddedИдентификатор таблицы календаря. В массиве tables найдите таблицу загруженного календаря и скопируйте ее id. Например:
Идентификатор колонки, которую вы будете сортировать. В массиве columns таблицы загруженного календаря, найдите значение id колонки, которую вы будете сортировать (Месяц). Например:
Идентификатор колонки, по которой вы будете сортировать. В массиве columns таблицы загруженного календаря найдите значение id колонки, по которой вы будете сортировать (Индекс месяца). Например:
В консоли разработчика перейдите на вкладку Network > Headers, и в секции Request Headers скопируйтеBearer токен, указанный в Authorization. Он также будет использован в HTML-запросе:
Откройте какое-нибудь приложение, используемое для отправки 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/7776fe46-15c5-4458-9329-8ca0d55ead5a
Параметры запроса:
Key | Value | |||
---|---|---|---|---|
Headers | Accept |
| ||
Authorization | Bearer Token, полученный из консоли разработчика (см. пункт 5). | |||
Content-Type |
| |||
Body | Введите следующую строку в качестве raw JSON data. Она указывает колонку, по которой необходимо проводить сортировку:
где |
В случае успешного выполнения запроса сервер возвращает ответ с кодом 200 OK.
7. После отправки запроса необходимо обновить страницу дашборда. Если все действия были выполнены правильно, виджет отсортирует поле Месяц по полю Индекс месяца и названия месяцев отобразятся корректно:
Смотрите также