В данном разделе рассматривается порядок действий пользователя в кейсах изменения структуры мультисферы (добавление и/или удаление размерностей и фактов) для SQL-источников.

В качестве примера создана мультисфера ExampleCube с использованием следующего SQL-запроса:

SELECT siteid, link, dates
FROM public.autotest_ui_table;

После выполнения запроса на вкладке «SQL» в режиме предварительного просмотра доступны первые 20 строк результата запроса, а на вкладке «Структура данных» видны все размерности и факты мультисферы: 

Добавление размерностей/фактов

Предположим, в таблице public.autotest_ui_table добавилось поле (например, числовой показатель share) и пользователю необходимо добавить его в мультисферу (в качестве факта). Для этого необходимо выполнить следующие шаги:

  1. Перейти к редактированию мультисферы, выбрав в контекстном меню мультисферы «Изменить».

  2. Перейти на вкладку «Источники данных» и нажать на иконку «Редактировать» справа от источника.

  3. Перейти на вкладку «SQL», ввести измененный SQL-запрос (с новым полем share), после чего нажать на кнопку «Выполнить SQL-запрос» и затем на кнопку «Сохранить».

  4. Система вернется на вкладку «Источники данных» где нужно нажать на кнопку «Сохранить», чтобы внесенные изменения сохранились.

  5. Перейти на вкладку «Структура данных» и отметить в списке размерностей добавленное поле share, после чего нажать на крестик (x) для удаления этого поля.

    Удаление поля share из списка размерностей необходимо только в том случае, если данное поле не предполагается к использованию в качестве размерности.

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

    Если же поле предполагается к использованию как в качестве размерности, так и в качестве факта, то шаг с удалением можно пропустить, закрыв окно редактирования мультисферы после выполнения шага 4. 

  6. Нажать на кнопку «Сохранить» после удаления размерности share.

    Структура мультисферы (набор размерностей и фактов) обновится только после обновления мультисферы (вручную или по расписанию).

  7. Закрыть окно редактирования мультисферы.
  8. Для того, чтобы начать работать с новой структурой мультисферы, необходимо выполнить обновление мультисферы (выполним в рамках примера обновление вручную).

  9. Вынести мультисферу на слой.

Идентичная последовательность шагов должна быть выполнена в случае, если при создании мультисферы в SQL-запросе (после SELECT) были выбраны не все поля, присутствующие в источнике, а через некоторое время работы с мультисферой появилась необходимость добавить их в мультисферу. 

Удаление размерностей/фактов

Предположим, в таблице public.autotest_ui_table удалено поле (например поле link) и пользователю необходимо исключить его из мультисферы. Для этого необходимо выполнить следующие шаги:

  1. Перейти к редактированию мультисферы, выбрав в контекстном меню мультисферы «Изменить».

  2. Перейти на вкладку «Источники данных» и нажать на иконку «Редактировать» справа от источника.

  3. Перейти на вкладку «SQL», ввести измененный SQL-запрос (без поля link), после чего нажать на кнопку «Выполнить SQL-запрос» и затем на кнопку «Сохранить».

  4. Система вернется на вкладку «Источники данных» где нужно нажать на кнопку «Сохранить», чтобы внесенные изменения сохранились.

  5. Перейти на вкладку «Структура данных» и отметить в списке размерностей поле share, после чего нажать на крестик (x) для удаления этой колонки.

    После выполнения SQL-запроса система заново добавляет все колонки, поэтому требуется повторно отметить размерность share для исключения из списка размерностей. 

  6. Нажать на кнопку «Сохранить» после удаления размерности share.

    Структура мультисферы (набор размерностей и фактов) обновится только после обновления мультисферы (вручную или по расписанию).

  7. Закрыть окно редактирования мультисферы.
  8. Для того, чтобы начать работать с новой структурой мультисферы, необходимо выполнить обновление мультисферы (выполним в рамках примера обновление вручную).

  9. Вынести мультисферу на слой.

В случае если в SQL-запросе отсутствует явное перечисление полей, то есть используется SQL-запрос формата SELECT * FROM, для удаления размерности/факта из мультисферы достаточно перейти на вкладку «Структура данных» и удалить «неактуальные» поля. После чего нужно обновить мультисферу.

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