Сегодня мы рассмотрим еще одну новою возможность, которая была добавлена в релизе 2023.2.1 для продукта Stimulsoft BI Server – параметры пользователя. На самом деле, несмотря на название, функциональность, которую предоставляет эта новая возможность, может применяться не только для конкретного пользователя, но для роли пользователей или даже для всех пользователей в рабочем пространстве. Но обо всем по порядку, и начнем с объяснения, что же такое параметры пользователя.

Предыстория

Продукт Stimulsoft BI Server подразумевает командную работу с отчетами и дашбордами. Группа пользователей может просматривать и редактировать, к примеру, один и тот же шаблон. Представим, что для определенного пользователя или группы пользователей, необходимо фильтровать данные по какому-либо критерию. Другими словами, администраторы видят одни данные, менеджеры – другие. Конечно, для каждого такого пользователя или группы можно создать отдельный шаблон, и уже в шаблоне фильтровать данные в источнике данных. Однако, с ростом количества пользователей будет расти и количество шаблонов. Ярлыки, о которых мы подробно говорили в статье, в данном случае не являются решением, поскольку ярлык – это ссылка на исходный шаблон, и для определенного ярлыка фильтровать данные невозможно. А если представить, что на каждого такого пользователя будет приходиться не один шаблон, то ситуация становится критической – каждый шаблон необходимо будет настраивать для каждого пользователя или для каждой группы пользователей. Таким образом, по мере роста числа пользователей, администрирование будет сложнее и сложнее.

Параметры пользователя

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

Что такое параметр пользователя?

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

В параметрах пользователя можно передавать строковые, числовые, логические значения, дату, изображение и выражение. В выражениях параметров пользователя можно передавать также данные пользователя: имя, фамилия, username, роль, наименование родительской папки, наименование рабочего пространства. Параметры пользователя могут использоваться не только для фильтрации данных – это лишь частный случай. Например, также можно выводить в отчете имя пользователя, который работает с ним в данный момент.

Add user parameter

New user parameter

Как создать параметр пользователя?

Создание параметров осуществляется при помощи команды Добавить параметр пользователя на вкладке Пользователи в Навигаторе. В зависимости от выделенного контекста – рабочее пространство, роль или пользователь – параметр будет добавлен для всех пользователей рабочего пространства, для всех пользователей определенной роли или для определенного пользователя. В меню создания нового параметра необходимо указать наименование параметра, тип и значение. Затем нужно нажать кнопку Ок в этом меню. После этого параметр будет добавлен и отобразиться в иерархии пользователей. К слову, любой созданный параметр пользователя можно изменить или удалить на этой вкладке при помощи команд Изменить и Удалить.


Использование параметров пользователя в отчете

Как уже отмечалось выше, параметр пользователя будет добавлен в шаблон как переменная отчета и будет отображаться в перечне элементов словаря данных. При редактировании отчета параметры пользователя можно использовать как переменные отчета. Например, для фильтрации источника данных, для вывода в отчете и так далее. Важно!

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

Практическое применение

Вернемся к нашему примеру с фильтрацией, но прежде подведем промежуточный итог. Итак, можно добавить параметр определенному пользователю. Этот параметр будет добавляться как переменная отчета в шаблон. Соответственно, и работать с параметром пользователя можно как с переменной отчета, в том числе, использовать этот параметр в запросе для фильтрации данных. Однако, при загрузке шаблона в дизайнер или вьювер, список параметров предыдущего пользователя очищается, и добавляется список текущего.

И тут возникает вопрос: как фильтровать один и тот же запрос разными пользователями? Всё просто – необходимо добавить пользователям параметры с одинаковым наименованием, но разными значениями. В самом шаблоне, в запросе к источнику данных нужно добавить параметр с типом выражение. Далее в качестве выражения следует указать наименование параметра пользователя. Таким образом, при просмотре отчета, в запрос для фильтрации данных будет передаваться пользовательское значение, данные будут отфильтрованы, и в отчете отобразятся только те данные, которые необходимы.
Таким образом, параметры пользователя значительно расширяют возможности командной работы с отчетами и дашбордами в Stimulsoft BI Server.
Используя этот сайт, вы соглашаетесь на использование файлов Cookie для аналитики и персонализированного контента. Файлы Cookie хранят полезную информацию на вашем компьютере, чтобы помочь нам повысить эффективность и удобство использования. Для получения дополнительной информации, пожалуйста, прочтите Конфиденциальность и Использование Cookie.