Функция GetUserAttr() возвращает следующую информацию о пользователе, который заходит в приложение:
Адрес электронной почты пользователя.
Тема пользователя.
Группы поставщиков удостоверений (IdP), к которым принадлежит пользователь.
Используйте функцию GetSysAttr() непосредственно в скрипте загрузки или в выражении диаграммы. В любом случае с помощью этой функции можно сохранять атрибуты в переменной или напрямую (без переменной). При использовании в Qlik Sense под управлением клиента эта функция возвращает только пустые значения данных. Таким образом, эту функцию можно использовать для разработки скриптов в Qlik Sense под управлением клиента, не сталкиваясь с ошибками, впоследствии приложения можно будет загрузить в Qlik Cloud.
Синтаксис:
GetUserAttr(name)
Возвращаемые типы данных: двойное значение
Аргументы
Аргумент
Описание
name
Имя атрибута, который должен быть возвращен. Вводится как строковое значение в выражении. Строковое значение вводится с учетом регистра.
Эта функция позволяет загружать атрибуты пользователя в приложение. Эта функция может возвращать следующие атрибуты:
Атрибуты пользователя, которые может возвращать функция GetUserAttr()
Атрибут
Описание
Имя переменной скрипта загрузки
Пример выражения диаграммы (без переменной)
Пример результатов выражения диаграммы
userEmail
Адрес электронной почты текущего пользователя.
Let vUserEmail = GetUserAttr('userEmail')
=GetUserAttr('userEmail')
john.doe@company.com
userSubject
Тема текущего пользователя.
Let vUserSubject = GetUserAttr('userSubject')
=GetUserAttr('userSubject')
00uss7ra3dk9doJln0x7
userGroups
Группы поставщиков удостоверений текущего пользователя, обращающегося к приложению. Возвращает список, разделенный запятыми, в виде строки.
Let vUserGroups = GetUserAttr('userGroups')
=GetUserAttr('userGroups')
Sales,Product-Lead,OKTA-Github-RnD
Когда это следует использовать
Эта функция возвращает свойства и группы пользователя для текущего пользователя приложения, что позволяет создавать решения для персонализации содержимого, отображаемого для пользователей. Например, в приложении для глобальных продаж можно показывать листы с информацией о конкретном продукте только тем торговым представителям, которые отвечают за определенную группу продуктов. Эту функцию можно использовать в операторах загрузки (load) в скриптах загрузки приложения или в выражениях диаграммы, непосредственно в виде выражения или в выражении, сохраненном в качестве переменной.
Пример. Хранение атрибутов пользователя в виде переменных в скрипте
В этом примере будет определен набор переменных скрипта, которые можно использовать в создаваемом содержимом приложения. При каждой перезагрузке приложения атрибуты оцениваются и добавляются в приложение.
Выполните следующие действия.
Создайте новое приложение Qlik Sense.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку. Скрипт загрузки содержит следующее:
Новая таблица под именем Transactions содержит образец данных транзакции. Их можно заменить любыми данными, они добавлены для заполнения места.
Набор определений переменных скрипта для доступных атрибутов, которые может возвращать функция GetUserAttr.
Transactions:
Load * inline [
id,date,amount
1,1/1/2023,500.67
2,1/2/2023,458.91
3,1/3/2023,12.34
4,1/4/2023,90.90
5,1/5/2023,256.30
6,1/6/2023,789.16
7,1/7/2023,501.25
8,1/8/2023,87.01
9,1/9/2023,161.16
10,1/10/2023,300.06
];
Let vUserEmail = GetUserAttr('userEmail');
Let vUserSubject = GetUserAttr('userSubject');
Let vUserGroups = GetUserAttr('userGroups');
Загрузите данные и откройте новый лист в расширенном режиме редактирования.
Создайте объект Таблица и добавьте следующие выражения в качестве измерений:
=vUserEmail
=vUserSubject
=vUserGroups, возвращает список, разделенный запятыми, в строке
Примечание к подсказкеСоздавая измерение, можно добавить метку измерения, например, Адрес эл. почты пользователя, для улучшения читаемости.
Вывод в таблице динамически отображает доступные атрибуты пользователя. В следующей таблице приведен пример результатов, возвращенных функцией GetUserAttr.
Результирующая таблица
=vUserEmail
=vUserSubject
=vUserGroups
john.doe@company.com
00uss7ra3dk9doJln0x7
Sales,Product-Lead,OKTA-Github-RnD
Пример. Сохранение атрибутов пользователя в виде переменных для использования в выражениях диаграммы
В этом примере переменные определяются не в скрипте загрузки, а в приложении. После определения переменные можно использовать в выражениях диаграмм в приложении. Основное преимущество использования функции в выражениях диаграммы заключается в том, что атрибуты автоматически обновляются без необходимости перезагрузки приложения. Это обеспечивает более плавное движение приложений между пользователями в рамках жизненного цикла.
Выполните следующие действия.
Создайте новое приложение Qlik Sense.
Откройте новый лист в расширенном режиме редактирования.
Откройте диалоговое окно «Переменные».
Выберите Создать новый, а затем выполните следующие действия:
В поле Имя введите vUserEmail.
В поле Определение введите =GetUserAttr('userEmail').
Выберите Создать.
Создается переменная приложения для отображения адреса электронной почты пользователя. Повторите этот шаг, чтобы создать переменную для остальных атрибутов, используя следующие параметры:
Темя пользователя
Имя: vUserSubject
Определение: =GetUserAttr('userSubject')
Группы пользователя
Имя: vUserGroups
Определение: =GetUserAttr('userGroups')
Создайте объект Таблица и добавьте следующие выражения в качестве измерений:
=vUserEmail
=vUserSubject
=vUserGroups (возвращает список, разделенный запятыми, в строке)
Примечание к подсказкеСоздавая измерение, можно добавить метку измерения, например, Адрес эл. почты пользователя, для улучшения читаемости.
Вывод в новой таблице динамически отображает доступные атрибуты пользователя. В следующей таблице приведен пример результатов, возвращенных функцией GetUserAttr.
Результирующая таблица
=vUserEmail
=vUserSubject
=vUserGroups
john.doe@company.com
00uss7ra3dk9doJln0x7
Sales,Product-Lead,OKTA-Github-RnD
Пример. Использование функции GetUserAttr непосредственно в скрипте загрузки
Функцию также можно использовать в приложениях без переменных. Этот пример показывает, как загрузить таблицу, в которой каждый атрибут будет отдельным полем. Здесь можно создать визуализации для отображения этих сведений в приложении.
Выполните следующие действия.
Создайте новое приложение Qlik Sense.
Откройте редактор загрузки данных и добавьте приведенный ниже скрипт загрузки на новую вкладку. Скрипт загрузки содержит следующее:
Новая таблица с именем Attributes содержит каждый атрибут в виде поля.
Attributes:
Load RowNo() as Key,
GetUserAttr('userEmail') as UserEmail,
GetUserAttr('userSubject') as UserSubject,
GetUserAttr('userGroups') as UserGroups autogenerate 1;
Загрузите данные. Создается таблица в модели данных, где каждый атрибут отображается в отдельном поле.
Теперь можно использовать поля атрибутов в визуализациях, таких как таблицы или объекты «Текст и изображение».
Пример. Использование функции GetUserAttr напрямую в выражениях диаграммы
Функцию можно вводить непосредственно в выражения диаграммы, не используя переменные. Атрибуты пользователя будут обновляться без необходимости перезагрузки приложения. Это обеспечивает более плавное движение приложений между пользователями в рамках жизненного цикла.
Выполните следующие действия.
Создайте новое приложение Qlik Sense.
Откройте новый лист в расширенном режиме редактирования.
Перетащите объект «Текст и изображение» на лист.
Щелкните внутри пустой диаграммы и введите следующую метку:
Адрес эл. почты пользователя:
На панели Свойства выберите Добавить меру.
Введите следующее выражение:
=GetUserAttr('userEmail')
Добавьте метки и меры для других атрибутов, User Subject и User Groups, в новых строках. Используйте следующие выражения для каждого атрибута:
=GetUserAttr('userSubject') для атрибута «Тема пользователя»
=GetUserAttr('userGroups) для атрибута «Группы пользователя»
Помогла ли вам эта страница?
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!