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

S_217 — 219  (26.09.2022 — 16.10.2022)

OLTP на основе ClickHouse
  • Раньше была возможность подключить OLTP только на основе MySQL.
  • Сейчас появилась возможность подключить OLTP на основе ClickHouse.
  • В ClickHouse на данный момент небогатый интерфейс – это будет делаться следующими этапами доработок.
  • В процессе тестирование было выявлено, что ClickHouse работает быстрее чем MySQL с большим количеством данных.
  • Включается аналогично, как и OLTP на основе MySQL по запросу. Для подключения OLTP на основе ClickHouse необходимо обратиться на https://support.optimacros.com/.

В ClickHouse на основе тестирования было замечено, что он быстрее работает с большими объёмами данных.

 

Символы в наименовании сущностей

Стало возможно в наименование сущностей вставлять символы т.е. справочник теперь может выглядеть так:

Символы, которые теперь можно вставлять в наименования сущностей – это символы с кодировкой   utf8mb4_general_ci. В частности, это символы, представленные здесь: https://snipp.ru/handbk/emoji

 

S_220 — 221  (17.10.2022 — 30.10.2022)

Загрузка файла через «Drag&Drop» в карточку дашборда

Появилась возможность загружать файлы методом Drag&Drop в карточку дашборда.

Загрузка доступна для карточек формата:

  • справочник,
  • мультикуб.
Опция Hide Empty Values на графиках+

Опция Hide Empty Values, позволяет скрывать нулевые элементы на графиках. Что делает график более презентабилным.

Предположим, что на графике есть два элемента: сумма_4 и сумма_5. Элемент сумма_4 (синяя линия) имеет значения отличные от нуля на протяжении всего периода, показанного на графике. Элемент сумма_5 (зеленая линия) имеет значения отличные от нуля только в марте и апреле:

Настройка «Hide Empty Values» позволяет скрыть нулевые значения на графике, не обрезая при этом график как это делает «Omit Empty Values». Т.е. настройка «Hide Empty Values» позволяет не скатываться значениям в ноль:

Так же нулевые значения скрываются в других областях графика:

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

Теперь у времени и версий появились свойства по аналогии пользовательскими справочниками.
Сабсеты и свойства в измерениях времени вынесены за шестеренку как и в обычных справочниках:


Сабсеты и свойства версий вынесены за шестеренку как и в обычных справочниках:

 Группы контекста для карточек дашборда

Раньше карточка дашборда могла генерировать только один контекст т.е. в таком мультикубе карточка одновременно передавала: контекст измерения времени, контекст измерения версий и контекст кубов, нельзя было передать более чем один контекст и передавать контекст только по одному или двум измерениям.

В такой ситуации настройка была недостаточно гибкой и происходило лишнее обновление карточек.

Теперь карточка может генерировать более чем один контекст одновременно – это называется группами контекста т.е. одна группа может генерировать только контекст измерения времени, вторая группа может генерировать контекст только измерения версий и т.д. В таком случае настройка получается более гибкой и позволяет избежать лишнего обновления карточек на дашборде.

Настройка групп контекста располагается в виджете «Тип передачи контекста» на панели инструментов.

«Игнорировать сброс контекста» – позволяет игнорировать контекст при развыделении заголовков таблицы.

Т.е. при нажатии на элемент «Подразделение_3» карточка «2» покажет только один элемент:

Если мы захотим ввести числа в какую-то из ячеек карточки «1», то произойдет развыделение элемента «Подразделение_3» и контекст сброситься:

Настройка «Игнорировать сброс контекста» позволяет игнорировать такие случаи и передает контекст только при явном нажатии пользователем на заголовок.

При активной настройке «Игнорировать сброс контекста» мы можем вводить значения в ячейки карточки «1» и при этом будем видеть по-прежнему только «Подраздение_3» в

карточке «2».

«Принудительно обновлять подчиненные представления при обновлении» — настройка позволяет обновлять все подчиненные карточки в случае обновления парент карточки или при обновлении ячейки парент карточки.

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

«По месту, по измерению» — карточка может генерировать контекст из конкретных измерений, а может генерировать из выбранных позиций.

 

Диаграмма TreeMap+

Появился новый график TreeMap с широким количеством настроек.

«Размер на основании куба» — квадраты в этом графике рассчитываются на основании числовых данных т.е. чем больше значение, там больше квадрат. В выпадающем списке доступны колонки только числового формата. Квадраты располагаются: сверху вниз, слева на право т.е. самые большие квадраты будут расположены в левом верхнем углу, самые маленькие — в правом нижнем углу.

«Группировка на основании куба» — квадраты можно группировать. Например, каждое число относится к определенному континенту:

Тогда график будет выглядеть так:

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

«Подписи на основании кубов» — можно выбрать какие данных из каких колонок отображать на элементах диаграммы.

«Всплывающая подсказка на основании кубов» — по аналогии с подписями к данным можно задавать всплывающую подсказку.

Есть 5 разных цветовых схем на вкладке «Цвета»:

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

 

Управление приоритетами OLAP процессов

Настройка позволяет задавать приоритеты запросам моделей в рамках одного воркспейса.

Ситуация для применения.

В «модели_1» может выполняться очень ресурсоемкий запрос, который будет задействовать все ядра сервера (например, скрипт 1D), в таком случае все запросы из других моделей будут выполняться медленно т.к. будут ожидать пока «модель_1» освободит ресурсы, что можно быть нескоро. Перед запуском скрипта 1D можно понизить приоритет «модели_1» и тогда все остальные запросы из других моделей будут захватывать ресурсы, несмотря на запрос / запросы в «модели_1».

Настройка проставляется в панели администратора в «Config», где «priority» — приоритет OLAP процессов модели.

Приоритет ставиться в диапазоне от 0 до 19, причем чем меньше значение, тем выше приоритет процесса.

По умолчанию все модели имеют приоритет равный 0.

Примененный приоритет можно увидеть так же в панели администратора на вкладке «Storage»:

Приоритет можно менять через скрипты:
om.common.modelInfo().setStorageInstancePriority(1) – где 1, это приоритет, который нужно установить.
om.common.modelInfo().getStorageInstancePriority() – посмотреть текущий приоритет модели.

Системные справочники и DCA формулы-

Системные справочники
При создании новой модели (или разворачивании старой на воркспейсе с новой версии ПО) в модель добавляются 3 системных справочника в самом начале списка справочников:

  • Access Levels
  • Users
  • Roles

В гриде списка справочников отображается колонка ‘List Type’. Справочникам присваиваются типы:

  • Access Levels — Access Level List
  • Users — User List
  • Roles — Role List

Пользовательские справочники — Custom List

В справочники можно добавлять элементы руками. Для связывания элемента с пользователями, добавленными в модель, нужно заполнить ячейку в колонке ‘Link’.

ВАЖНО!!!!!

Функционал DCA формул заменил настройки Boolean WorkFlow и Time Subset Filter. При переносе модели из воркспейса с прежним функционалом, но тот, на котором установлена версия с DCA формулы происходит автоматическая миграция – DCA формула прописывается системой.
Для Time Subset Filter прописывается формула, устанавливающая доступ Read для элементов, входящих в измерение времени и Write для остальных.
Для Boolean WorkFlow устанавливается доступ Read для тех ячеек, которым в булеан-кубе соответствует значение TRUE, и доступ Write для остальных.
В случае применения для одного куба Boolean WorkFlow и Time Subset Filter одновременно, условия связываются через оператор OR.

Как было раньше:

Как сейчас:

Формулы можно редактировать только в ячейке, формульная строка недоступна.

! Будет добавлена в одной из следующих версий.

 

Ссылки на кубы с измерениями Users и Roles.

В DCA формуле можно ссылаться на мультикуб, построенный на измерении Users. В этом случае для ячейки будет применяться доступ, соответствующий пользователю, который просматривает куб.

Например, есть мультикуб «Доступы», построенный на измерении Users, с одним кубом «Доступ», у которого формат справочника «Access»:

Мультикуб Sales использует только измерение Months. Для куба ‘value’ установлена DCA формула: ‘Доступы’.’Доступ’. Перейдя в мультикуб Sales, я увижу, что ячейки закрыты для просмотра т.к. доступ установлен «None»:
Причем ячейки будут закрыты только для одного пользователя, указанного в мультикубе «Доступы» т.е. для i.kamaev@mcb-consulting.com.

 

S_225 (21.11.2022 — 27.11.2022)

Оптимизация первоначальной загрузки кубов+ (увеличение скорости загрузки за счёт…)

Оптимизирована загрузка кубов при первоначальном открытии модели. Если в модели много кубов, то первоначальное открытие модели, в том числе и загрузка дашбордов, теперь будет происходить быстрее примерно на треть, от модели к модели это время будет варьироваться.

Display Name для измерений времени

Как и для обычных справочников, для измерений времени теперь можно выбрать Display Name Property. Настройка располагается на вкладке Time Lists.

Эта функция может изменить отображение элемента.

Проверка версии модели при импорте

Есть ограничение по версиям приложения при импорте моделей на воркспейс. Версия приложения – это версия, указанная напротив Workspace Middle-End:

Нельзя импортировать модель с более нового воркспейса на более старый т.е. нельзя импортировать модель с воркспейса, где Workspace Middle-End: 2.8.0 на воркспейс, где Workspace Middle-End: 2.7.0. В таком случае мы не гарантируем корректную работу модели. При импорте появиться ошибка:

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

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

По умолчанию настройка включена, но ее можно выключить в панели администратора:

ВАЖНО!!! Крайне не рекомендуется выключать эту настройку т.к. она гарантирует стабильность работы импортированных моделей.

Display Name для всех форматов

Раньше Display Name для справочника можно было задавать свойством формата текста или справочника. Теперь Display Name можно задавать свойством любого формата:

 

Ваши пожелания по доработкам и обновлениям вы можете оставить в комментариях под постом на канале https://t.me/optimacros.