# GetUserAttr Script- en diagramfunctie

De GetUserAttr() functie retourneert de volgende informatie voor de gebruiker die een applicatie opent:

* E-mailadres

* Onderwerp

* Groepen waartoe de gebruiker behoort, zoals IdP-groepen (Identity Provider) en aangepaste groepen

* Voorkeurstaal

* Tijdzone

Gebruik de functie GetUserAttr() direct in het load-script of in een diagramuitdrukking. In beide gevallen kunt u de functie gebruiken om kenmerken in een variabele op te slaan of rechtstreeks zonder een variabele. Als u deze functie gebruikt in Qlik Sense met clientbeheer, retourneert hij alleen lege gegevenswaarden. U kunt de functie daarom gebruiken om scripts te ontwikkelen in Qlik Sense met clientbeheer, zonder dat er fouten optreden en met de intentie om de applicaties later naar Qlik Cloud te uploaden.

Syntaxis:

GetUserAttr(name)

Retourgegevenstypen: dubbele waarde

Argumenten

| Argument | Beschrijving |
| --- | --- |
| name | De naam van het kenmerk dat u moet worden geretourneerd. Voer in als een tekenreekswaarde in de uitdrukking. De tekenreekswaarde is hoofdlettergevoelig. |

Gebruik de functie om gebruikerskenmerken in uw applicatie te laden. De functie kan de volgende kenmerken retourneren:

Gebruikerskenmerken die kunnen worden geretourneerd door de GetUserAttr()GetUserAttr()-functie

| Kenmerk | Beschrijving | Voorbeeld van load-scriptvariabele | Voorbeeld van een diagramuitdrukking (geen variabele) | Voorbeeld van resultaten van diagramuitdrukking |
| --- | --- | --- | --- | --- |
| userEmail | Het e-mailadres van de huidige gebruiker. | `Let vUserEmail = GetUserAttr('userEmail')` | `=GetUserAttr('userEmail')` | `john.doe@company.com` |
| userSubject | Het onderwerp van de huidige gebruiker. | `Let vUserSubject = GetUserAttr('userSubject')` | `=GetUserAttr('userSubject')` | `00uss7ra3dk9doJln0x7` |
| userGroups | De groepen (IdP, aangepast, of beide) waartoe de huidige gebruiker behoort. Retourneert een door komma's gescheiden lijst in een tekenreeks. Standaard retourneert `GetUserAttr` IdP-groepen tenzij de `QlikCloudGroupMode` systeemvariabele is ingesteld in een load-script instructie.<br><br>[QlikCloudGroupMode](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/QlikCloudGroupMode.htm). | `Let vUserGroups = GetUserAttr('userGroups')` | `=GetUserAttr('userGroups')` | `Sales,Product-Lead,OKTA-Github-RnD` |
| userLocale | De voorkeurstaal van de gebruiker, die is ingesteld in de instellingen van de gebruiker.<br><br>[Uw persoonlijke instellingen beheren](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/profile-settings.htm) | `Let vUserLocale = GetUserAttr('userLocale')` | `=GetUserAttr('userLocale')` | `en` |
| userZoneinfo | De tijdzone van de gebruiker, die is ingesteld in de instellingen van de gebruiker.<br><br>[Uw persoonlijke instellingen beheren](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Introduction/profile-settings.htm) | `Let vUserLanguage = GetUserAttr('userZoneinfo')` | `=GetUserAttr('userZoneinfo')` | `Europe/London` |

## Wanneer gebruikt u GetUserAttr

Deze functie retourneert gebruikerskenmerken en -groepen voor de huidige gebruiker van de applicatie. Hiermee kunt u oplossingen bouwen die de inhoud aanpassen die voor uw gebruikers wordt weergegeven. In een wereldwijde verkoopapplicatie kunt u bijvoorbeeld productspecifieke werkbladen tonen aan alleen die vertegenwoordigers die verantwoordelijk zijn voor een bepaalde productgroep. Gebruik de functie in load-instructies in het load-script van de applicatie of in diagramuitdrukkingen, direct als een uitdrukking of in een uitdrukking die is opgeslagen als een variabele.

[Dynamic titles based on user language using the GetUserAttr function](https://play.vidyard.com/bozy96G13YU5YrBjnqNNDF)

## Voorbeeld – Gebruikerskenmerken opslaan als variabelen in het script

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Load-script variabelen en diagramuitdrukkingen

Dit voorbeeld definieert een reeks scriptvariabelen die kunnen worden gebruikt in de applicatie-inhoud die u maakt. Elke keer dat de applicatie opnieuw wordt geladen, worden de kenmerken beoordeeld en toegevoegd aan de applicatie.

Doe het volgende:

1. Een nieuwe Qlik Sense applicatie maken.

2. Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie. Het load-script bevat:

   * Een nieuwe tabel, met de naam `Transactions`, die voorbeeldtransactiegegevens bevat. Dit kan worden vervangen door gegevens of wordt toegevoegd als een tijdelijke aanduiding.

   * Een scriptinstructie die de systeemvariabele `QlikCloudGroupMode` instelt op `2`. Het kenmerk `userGroups` geeft zowel de IdP- als de aangepaste groepen waartoe de gebruiker behoort.

   * Een reeks scriptvariabeledefinities voor de beschikbare kenmerken die de functie GetUserAttr kan retourneren.

     ```
     Set QlikCloudGroupMode = 2;
     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');
     Let vUserLocale = GetUserAttr('userLocale');
     Let vUserZoneinfo = GetUserAttr('userZoneinfo');
     ```

3. Laad de gegevens en open een nieuw werkblad in de geavanceerde bewerkingsmodus.

4. Maak een tabel en voeg de volgende uitdrukkingen toe als dimensies:

   * `=vUserEmail`

   * `=vUserSubject`

   * `=vUserGroups` retourneert een door komma's gescheiden lijst in een tekenreeks

   * `=vUserLocale`

   * `=vUserZoneinfo`

TipU kunt een dimensielabel toevoegen, zoals E-mail gebruiker, voor een betere leesbaarheid wanneer u de dimensie aanmaakt.

De uitvoer in de tabel geeft de beschikbare gebruikerskenmerken dynamisch weer. De volgende tabel toont een voorbeeld van resultaten die met de functie `GetUserAttr` zijn geretourneerd.

Resultatentabel

| =vUserEmail | =vUserSubject | =vUserGroups | =vUserLocale | =vUserZoneinfo |
| --- | --- | --- | --- | --- |
| john.doe@company.com | 00uss7ra3dk9doJln0x7 | Sales,Product-Lead,OKTA-Github-RnD | en | America/Toronto |

## Voorbeeld – Gebruikerskenmerken opslaan als variabelen en ze in diagramuitdrukkingen gebruiken

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Variabelen en diagramuitdrukkingen

In dit voorbeeld worden, in plaats van variabelen in het load-script te definiëren, variabelen in de applicatie gedefinieerd. Eenmaal gedefinieerd kunnen variabelen worden gebruikt in diagramuitdrukkingen in de applicatie. Het belangrijkste voordeel van het gebruik van de functie in diagramuitdrukkingen is dat de kenmerken automatisch worden vernieuwd zonder de applicatie opnieuw te hoeven laden. Dit maakt een soepelere verplaatsing van applicaties tussen gebruikers mogelijk als onderdeel van de levenscyclus van de applicatie.

Doe het volgende:

1. Maak een nieuwe Qlik Sense applicatie.

2. Open een nieuw werkblad in de geavanceerde bewerkingsmodus.

3. Open het dialoogvenster Variabelen.

4. Selecteer Nieuwe maken en doe vervolgens het volgende:

   * Voer onder Naam vUserEmail in.

   * Voer onder Definitie =GetUserAttr('userEmail') in.

   * Selecteer Maken.

   Er wordt een applicatievariabele gemaakt om het e-mailadres van de gebruiker weer te geven. Herhaal deze stap om een variabele te maken voor de resterende kenmerken met behulp van de volgende parameters:

   * Onderwerp gebruiker

     * Naam: vUserSubject

     * Definitie: =GetUserAttr('userSubject')

   * Gebruikersgroepen

     * Naam: vUserGroups

     * Definitie: =GetUserAttr('userGroups')

   * Landinstellingen voor de gebruiker

     * Naam: vUserLocale

     * Definitie: =GetUserAttr('userLocale')

   * Zone-info gebruiker

     * Naam: vUserZoneinfo

     * Definitie: =GetUserAttr('userZoneinfo')

5. Maak een tabel en voeg de volgende uitdrukkingen toe als dimensies:

   * `=vUserEmail`

   * `=vUserSubject`

   * `=vUserGroups` (retourneert een door komma's gescheiden lijst in een tekenreeks)

   * `=vUserLocale`

   * `=vUserZoneinfo`

TipU kunt een dimensielabel toevoegen, zoals E-mail gebruiker, voor een betere leesbaarheid wanneer u de dimensie aanmaakt.

De uitvoer in de nieuwe tabel geeft de beschikbare gebruikerskenmerken dynamisch weer. De volgende tabel toont een voorbeeld van resultaten die met de functie `GetUserAttr` zijn geretourneerd.

Resultatentabel

| =vUserEmail | =vUserSubject | =vUserGroups | =vUserLocale | =vUserZoneinfo |
| --- | --- | --- | --- | --- |
| john.doe@company.com | 00uss7ra3dk9doJln0x7 | Sales,Product-Lead,OKTA-Github-RnD | en | America/Toronto |

InformatieStandaard retourneert de functie `GetUserAttr('userGroups')` de IdP-groepen voor de gebruiker. U kunt kiezen welke groepen worden geretourneerd door de systeemvariabele `QlikCloudGroupMode` in een scriptinstructie in te stellen, bijvoorbeeld `Set QlikCloudGroupMode = 2` retourneert zowel IdP- als aangepaste groepen. Ga voor meer informatie naar [QlikCloudGroupMode](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/QlikCloudGroupMode.htm).

## Voorbeeld – De functie GetUserAttr direct in het load-script gebruiken

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Load-script

U kunt de functie ook gebruiken in uw applicaties zonder een variabele. Dit voorbeeld laat zien hoe u een tabel kunt laden met elk kenmerk als een afzonderlijke veld. Vanaf hier kunt u visualisaties maken in de applicatie om deze details weer te geven.

Doe het volgende:

1. Een nieuwe Qlik Sense applicatie maken.

2. Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie. Het load-script bevat:

   * Een nieuwe tabel met de naam `Attributes` , die elk kenmerk als veld bevat.

   * Een scriptinstructie die de systeemvariabele `QlikCloudGroupMode` instelt op `1` voor aangepaste groepen. Het kenmerk `userGroups` retourneert alleen de aangepaste groepen waartoe de gebruiker behoort.

   ```
   Set QlikCloudGroupMode = 1;
   Attributes:
   Load RowNo() as Key,
   GetUserAttr('userEmail') as UserEmail,
   GetUserAttr('userSubject') as UserSubject,
   GetUserAttr('userLocale') as UserLocale,
   GetUserAttr('userZoneinfo') as UserZoneinfo,
   GetUserAttr('userGroups') as UserGroups autogenerate 1;
   ```

3. De gegevens laden. Een tabel wordt aangemaakt in het gegevensmodel en geeft elk van de kenmerken in afzonderlijke velden weer.

   Nu kunt u de kenmerkvelden in visualisaties gebruiken, zoals tabellen of tekst- en afbeeldingsobjecten.

## Voorbeeld – De functie GetUserAttr direct in diagramuitdrukkingen gebruiken

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Diagramuitdrukkingen

U kunt de functie direct en zonder een variabele in diagramuitdrukkingen gebruiken. De gebruikerskenmerken worden vernieuwd zonder dat de applicatie opnieuw hoeft te worden geladen. Dit maakt een soepelere verplaatsing van applicaties tussen gebruikers mogelijk als onderdeel van de levenscyclus van de applicatie.

Doe het volgende:

1. Een nieuwe Qlik Sense applicatie maken.

2. Open een nieuw werkblad in de geavanceerde bewerkingsmodus.

3. Sleep een tekst- en afbeeldingsobject naar het werkblad.

4. Klik in het lege diagram en voer het volgende label in:

   E-mail gebruiker:

5. In het eigenschappenvenster selecteert u Meting toevoegen.

6. Voer de volgende uitdrukking in:

   * =GetUserAttr('userEmail')

7. Voeg labels en metingen toe voor de andere kenmerken op nieuwe regels. Gebruik de volgende uitdrukkingen voor elk kenmerk:

   * =GetUserAttr('userSubject'), voor Onderwerp gebruiker

   * =GetUserAttr('userGroups'), voor Gebruikersgroepen

   * =GetUserAttr('userLocale'), voor Landinstellingen voor de gebruiker

   * =GetUserAttr('userZoneinfo'), voor Zone-info gebruiker

InformatieStandaard retourneert de functie `GetUserAttr('userGroups')` de IdP-groepen voor de gebruiker. U kunt kiezen welke groepen worden geretourneerd door de systeemvariabele `QlikCloudGroupMode` in een scriptinstructie in te stellen, bijvoorbeeld `Set QlikCloudGroupMode = 2` retourneert zowel IdP- als aangepaste groepen. Ga voor meer informatie naar [QlikCloudGroupMode](https://help.qlik.com/nl-NL/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemVariables/QlikCloudGroupMode.htm).

## Voorbeeld - Voorwaardelijk een kolom verbergen met behulp van een diagramuitdrukking

[](https://help.qlik.com/en-US/cloud-services/Subsystems/Hub/Content/Sense_Hub/Scripting/SystemFunctions/GetUserAttr.htm)

#### Diagramuitdrukkingen

Overzicht

Dit voorbeeld toont of verbergt een kolom in een tabel op basis van het domein van het e-mailadres van de gebruiker.

Doe het volgende:

1. Een nieuwe Qlik Sense applicatie maken.

2. Open de editor voor laden van gegevens en voeg het onderstaande load-script toe aan een nieuwe sectie. Het load-script bevat:

   * Een gegevensset die wordt geladen in een tabel met de naam `Transactions`.

   * De volgende velden in de gegevenstabel:

     * `ID`

     * `Date`

     * `Amount`

     Load-script

     ```
     Transactions:
     Load * inline [
     ID, Date, Amount
     1, 1/1/2023, 500.67
     2, 1/2/2023, 458.91
     3, 1/3/2023, 12.34
     ];
     ```

3. Laad de gegevens en open een werkblad. Maak een nieuwe tabel en voeg deze velden toe als dimensies:

   * `ID`

   * `Date`

   * `Amount`

   Voeg de volgende uitdrukking toe als een berekende dimensie:

   * `=WildMatch(GetUserAttr('userEmail'),'*@qlik.com')>0`, om te controleren of het e-maildomein van de gebruiker overeenkomt met `@qlik.com`.

4. In het eigenschappenvenster van de dimensie `Amount` voegt u onder Kolom tonen indien de volgende uitdrukking toe:

   * `=WildMatch(GetUserAttr('userEmail'),'*@qlik.com')>0`, om de kolom Bedrag weer te geven als het e-mailadres van de gebruiker overeenkomt met het domein `qlik.com`.

   De uitdrukking geeft de kolom `Amount` alleen weer voor gebruikers met een e-maildomein dat `@qlik.com` bevat. De kolom wordt verborgen voor gebruikers met andere domeinnamen.

Results table 1 - User with email address: `user@qlik.com`user@qlik.com

| ID | Date | Amount | WildMatch(GetUserAttr('userEmail'),'\*@qlik.com')&gt;0 |
| --- | --- | --- | --- |
| 1 | 1/1/2023 | 500.67 | -1 |
| 2 | 1/2/2023 | 458.91 | -1 |
| 3 | 1/3/2023 | 12.34 | -1 |

Results table 2 - User with email address: `user@gmail.com`user@gmail.com

| ID | Date | WildMatch(GetUserAttr('userEmail'),'\*@qlik.com')&gt;0 |
| --- | --- | --- |
| 1 | 1/1/2023 | 0 |
| 2 | 1/2/2023 | 0 |
| 3 | 1/3/2023 | 0 |

In dit voorbeeld ziet u hoe de functie `GetUserAttr` wordt gebruikt om een bepaalde kolom voorwaardelijk te verbergen of te tonen. De kolom `Amount` wordt in de eerste tabel weergegeven omdat het e-mailadres voor de gebruiker die de applicatie bekijkt het domein `@qlik.com` bevat, en de dimensie-uitdrukking in kolom 4 retourneert `-1`. De kolom `Amount` wordt verborgen in de resultaten in de tweede tabel omdat de gebruiker geen e-mailadres heeft met het domein `qlik.com`.