Сравнение версий

Ключ

  • Эта строка добавлена.
  • Эта строка удалена.
  • Изменено форматирование.
Примечание

Функционал сортировки по другому столбцу, описанный на этой странице, не работает для виджета Сводная таблица

Разбиение данных по датам

Для того чтобы иметь возможность разбивать данные по датам, вам необходимо загрузить календарь в вашу модель данных и связать его с таблицей фактов.

Если календарь уже добавлен, то вы можете разбивать значения по датам, месяцам, неделям и т.д.

Представим, что вам нужно выполнить разбиение по датам. Для этого необходимо сделать следующее:

  1. Перейдите в окно редактирования дашбордов и добавьте виджет, кликнув соответствующую иконку в панели Визуализации. В нашем примере мы выберем столбчатую диаграмму:

    Image RemovedImage Added

  2. Теперь необходимо заполнить поля Х и Y, перетащив в них необходимые столбцы. Для оси X выберем столбец datakey из таблицы Календарь (он содержит даты), для оси Y – столбец Выручка таблицы factonlinesales:

    Image RemovedImage Added

    Как видите, данные отсортировались по датам.

Изменение сортировки данных

Сортировка календарных значений в виджете

Некоторые значения, добавленные из таблицы календаря, сортируются в виджете по алфавиту. Например, при разбиении данных по месяцам, первым месяцем будет Август, затем Апрель, а завершающим будет Январь. Чтобы изменить такое поведение, администратору платформы необходимо произвести дополнительные настройки.

Во-первых, у таблицы необходимо добавить в таблицу календаря, добавленной используемую в источник источнике данных, должны присутствовать столбцы с названиями месяцев и их буквенными обозначениями. Напримерстолбец с буквенными индексами каждого месяца, расположенными в алфавитном порядке. То есть, месяцу Январь в столбце Название месяца должен соответствовать индекс А в столбце Индекс месяца, Февралю февралю Б B, марту - C и т.д.:

Image RemovedImage Added

Наличие индексов позволит отсортировать месяца месяцы нужным образом.

Во-вторых, отсортировать колонку с названиями месяцев по колонке, содержащей индексы месяцев.

Для этого необходимо выполнить следующие шаги:

  1. Откройте дашборд, на котороv котором находится виджет с данными, разбитыми по месяцам:

    Image RemovedImage Added

    Как видно на скриншоте, месяцы отсортированы по алфавиту. Теперь мы отсортируем их таким образом, чтобы первым месяцем был январь, а последним - декабрь.

  2. Нажмите клавишу F12, чтобы открыть консоль разработчика, и перейдите на вкладку Network:

    Image RemovedImage Added
  3. В секции Name выберите модель данныхзапрос с названием model, перейдите на вкладку Response и скопируйте полученный JSON-код ответа в какой-нибудь полученный JSON код ответаредактор кода:

    Image RemovedImage Added

  4. Извлеките из 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

 

  1. В любом инструменте отправки HTTP запросов, формируем PATCH запрос

Блок кодаcurl --location --request PATCH 'http://platform-ip
    • Image Added

  1. В консоли разработчика перейдите на вкладку Network > Headers, и в секции Request Headers скопируйтеBearer токен, указанный в Authorization. Он также будет использован в HTML-запросе:

    Image Added
  2. Откройте какое-нибудь приложение, используемое для отправки HTTP-запросов, например, Postman.

  3. Отправьте 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' \

Блок кода--data-raw '{

9329-8ca0d55ead5a

Параметры запроса:

Key

Value

Headers

Accept

*/*

Authorization

Bearer Token, полученный из консоли разработчика (см. пункт 5).

Content-Type

application/json

Body

Введите следующую строку в качестве raw JSON data. Она указывает колонку, по которой необходимо проводить сортировку:

Блок кода
{ 
  "sortByColumnId" : "
b8bafe63
323eef3e-
af2d
elb6-
4e78
404d-
bd8c
b5fc-
5185463353de
6384d6a9182d"
}
'

где 'Authorization: Bearer *' - корректный bearer токен

Отправляем этот запрос на сервер.

Сервер должен ответить HTTP статусом 200OK

Перезаходим на дашборд

где 323eef3e-elb6-404d-b5fc-6384d6a9182d – идентификатор колонки, который был скопирован в пункте 4 (Индекс месяца).


Image Added

В случае успешного выполнения запроса сервер возвращает ответ с кодом 200 OK.

7. После отправки запроса необходимо обновить страницу дашборда. Если все действия были выполнены правильно

-

, виджет

начинает сортировать

отсортирует поле

“Месяц“

Месяц по полю

“Номер месяца“

Индекс месяца и названия месяцев отобразятся корректно:

Image Added

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

📄 Загрузка календаря

На этой странице

Оглавление

🕑 Время чтения: 3 мин.


Видео

sort-calendar.mp4

Нужна дополнительная помощь?

Свяжитесь с технической поддержкой.