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

Ключ

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

application/json

Body

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

Блок кода
{ 
  "sortByColumnId" : "323eef3e-elb6-404d-b5fc-6384d6a9182d"
}

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


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

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


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

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

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

Оглавление

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


Видео


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

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