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

Ключ

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

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

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

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

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

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

    Image RemovedImage Added

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

    Image RemovedImage Added

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

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

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

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

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

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

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

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

    Image Removed


    Image Added

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

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

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

    Image RemovedImage Added

  4. Извлеките из JSON-кода следующую информацию (она понадобится для отправки HTTP-запроса):

    • Идентификатор всей используемой TOM модели. Это значения поля id на самом верхнем уровне кода JSON. Например:

      Image RemovedImage Added
    • Идентификатор таблицы календаря. В массиве tables найдите таблицу загруженного календаря и скопируйте ее id. Например:

      Image Removed

      В таблице загруженного календаря, в массиве columnsImage Added

    • Идентификатор колонки, которую вы будете сортировать. В массиве columns таблицы загруженного календаря, найдите значение id колонки, которую вы будете сортировать (Месяц). Например:

      Image Removed

      В таблице загруженного календаря в массиве columns Image Added

    • Идентификатор колонки, по которой вы будете сортировать. В массиве columns таблицы загруженного календаря найдите значение id колонки, по которой вы будете сортировать (Индекс месяца). Например:

 

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

Блок кодаcurl --location --request PATCH 'http://platform-ip
  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: 9329-8ca0d55ead5a

Key

Value

Headers

Accept

*/*

Authorization

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

Content-Type

application/json

Origin

Домен или IP-адрес сервера. Например, http://192.168.

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

45.23.

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 (Индекс месяца).

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

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

-

, виджет

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

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

“Месяц“

Месяц по полю

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

Индекс месяца:

Image Added

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

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

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

Оглавление

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


Видео


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

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