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

Ключ

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

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

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

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

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

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

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

    Image RemovedImage Added

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

    Image RemovedImage Added

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

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

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

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

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

Image RemovedImage Added

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

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

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

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

    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 RemovedImage Added

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

      Image RemovedImage Added

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

      Image RemovedImage Added

  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

Origin

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

Body

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

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

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


Image Added

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

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

Image RemovedImage Added

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

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

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

Оглавление

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


Видео

sort-calendar.mp4

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

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