# GetSysAttr Fonction de script et de graphique

La fonction GetSysAttr() permet de renvoyer des informations sur le client et l'espace dans lesquels se trouve une application. La fonction GetSysAttr() vous permet d'évaluer l'ID et le nom du client, l'ID et le nom de l'espace ainsi que d'autres détails sur l'environnement dans lequel réside l'application. Cette fonction simplifie l'identification de l'espace et du client d'une application Qlik Sense susceptible d'être déplacée entre différents environnements. La fonction facilite l'identification de l'environnement spécifique dans lequel vous travaillez. Cela s'avère particulièrement utile lors des phases de Développement, Test, Acceptation et Production (DTAP) du cycle de vie d'une application.

Cette fonction peut être utilisée dans le script de chargement de l'application ou dans des expressions de graphique, soit directement sous forme d'expression, soit dans une expression stockée sous forme de variable. Si vous envisagez de déplacer votre application entre des espaces ou des clients au cours de son cycle de vie, utilisez la fonction dans une expression de graphique pour obtenir dynamiquement des informations sur l'espace et le client sans charger l'application. Ainsi, vous pouvez stocker l'expression de fonction dans une variable en dehors du script de chargement ou utiliser la fonction directement dans l'expression de graphique.

Utilisez GetSysAttr() pour déterminer les informations suivantes sur votre application :

* L'ID du client dans lequel se trouve l'application.

* Le nom du client dans lequel se trouve l'application.

* L'URL du client dans lequel se trouve l'application.

* L'URL d'alias définie pour le client contenant l'application.

* La région du client qui contient l'application.

* L'ID de l'espace dans lequel se trouve l'application.

* Le nom de l'espace dans lequel se trouve l'application.

* Le type de l'espace (partagé ou géré) dans lequel se trouve l'application.

La fonction GetSysAttr() peut être utilisée directement dans le script de chargement ou dans une expression de graphique. Dans l'un ou l'autre cas, vous pouvez utiliser la fonction pour stocker des attributs dans une variable ou directement sans variable.

Si vous utilisez cette fonction dans Qlik Sense Client-Managed, elle renvoie uniquement des valeurs de données vides. Par conséquent, vous pouvez utiliser la fonction pour développer des scripts dans Qlik Sense Client-Managed sans rencontrer d'erreurs, dans l'intention de charger ultérieurement les applications dans Qlik Cloud.

Syntaxe :

GetSysAttr(name)

Type de données renvoyé : double

Arguments

| Argument | Description |
| --- | --- |
| name | Nom de l'attribut à renvoyer. Saisissez cette valeur sous forme de chaîne dans l'expression. La valeur de chaîne saisie est sensible à la casse. |

Vous pouvez utiliser la fonction pour charger des attributs d'environnement dans votre application. La fonction peut renvoyer les attributs suivants :

Attributs d'environnement susceptibles d'être renvoyés par la fonction GetSysAttr()GetSysAttr()

| Attribut | Description | Exemple de variable de script de chargement | Exemple d'expression de graphique (sans variable) |
| --- | --- | --- | --- |
| tenantId | ID du client. | Let vTenantID = GetSysAttr('tenantId') | =GetSysAttr('tenantId') |
| tenantName | Nom du client. | Let vTenantName = GetSysAttr('tenantName') | =GetSysAttr('tenantName') |
| tenantUrl | URL par défaut du client. | Let vTenantUrl = GetSysAttr('tenantUrl') | =GetSysAttr('tenantUrl') |
| tenantUrlAlias | URL d'alias définie pour le client. | Let vTenantUrlAlias = GetSysAttr('tenantUrlAlias') | =GetSysAttr('tenantUrlAlias') |
| tenantRegion | Région de résidence du client. | Let vTenantRegion = GetSysAttr('tenantRegion') | =GetSysAttr('tenantRegion') |
| spaceId | ID d'espace. Cette valeur est uniquement définie pour une application dans un espace partagé ou géré.<br><br>Note Informations<br><br>Si la fonction GetSysAttr() renvoie une valeur `spaceId` vide dans Qlik Cloud, cela indique que l'application se trouve dans un espace personnel.<br><br>La fonction GetSysAttr() renvoie toujours une valeur `spaceId` vide lorsqu'elle est utilisée dans Qlik Sense Client-Managed. | Let vSpaceId = GetSysAttr('spaceId') | =GetSysAttr('spaceId') |
| spaceName | Nom de l'espace. Cette valeur est uniquement définie pour une application dans un espace partagé ou géré.<br><br>Note Informations<br><br>Si la fonction GetSysAttr() renvoie une valeur `spaceName` vide dans Qlik Cloud, cela indique que l'application se trouve dans un espace personnel.<br><br>La fonction GetSysAttr() renvoie toujours une valeur `spaceName` vide lorsqu'elle est utilisée dans Qlik Sense Client-Managed. | Let vSpaceName = GetSysAttr('spaceName') | =GetSysAttr('spaceName') |
| spaceType | Type d'espace dans lequel se trouve l'application. Cette valeur est uniquement définie pour une application dans un espace partagé ou géré.<br><br>Note Informations<br><br>Si la fonction GetSysAttr() renvoie une valeur `spaceType` vide dans Qlik Cloud, cela indique que l'application se trouve dans un espace personnel.<br><br>La fonction GetSysAttr() renvoie toujours une valeur `spaceType` vide lorsqu'elle est utilisée dans Qlik Sense Client-Managed. | Let vSpaceType = GetSysAttr('spaceType') | =GetSysAttr('spaceType') |

## Exemple 1 – Stockage d'attributs d'environnement sous forme de variables de script de chargement

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

#### Script de chargement et variables

Dans cet exemple, nous définissons un ensemble de variables de script qui peuvent être utilisées dans le contenu de l'application que vous créez. À chaque chargement de l'application, les attributs sont évalués et ajoutés à l'application.

Procédez comme suit :

1. Créez une nouvelle application Qlik Sense dans un espace partagé.

2. Ouvrez la console Éditeur de chargement de données.

3. Collez le script de chargement suivant dans un nouvel onglet :

   ```
   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 vTenantId = GetSysAttr('tenantId');
   Let vTenantName = GetSysAttr('tenantName');
   Let vTenantUrl = GetSysAttr('tenantUrl');
   Let vTenantUrlAlias = GetSysAttr('tenantUrlAlias');
   Let vTenantRegion = GetSysAttr('tenantRegion');
   Let vSpaceId = GetSysAttr('spaceId');
   Let vSpaceName = GetSysAttr('spaceName');
   Let vSpaceType = GetSysAttr('spaceType');
   ```

Ce script de chargement contient les éléments suivants :

* Une nouvelle table, appelée `Transactions`, contenant des échantillons de données de transaction. Elles peuvent être remplacées par n'importe quelles données et sont ajoutées comme paramètres fictifs.

* Une série de définitions de variable de script, pour les attributs disponibles récupérables via GetSysAttr().

Chargez les données et ouvrez une nouvelle feuille en mode d'édition avancé.

Créez une table et ajoutez les expressions suivantes sous forme de dimensions, avec leurs étiquettes respectives :

* `=vTenantId`, avec l'étiquette `Tenant ID`

* `=vTenantName`, avec l'étiquette `Tenant Name`

* `=vTenantUrl`, avec l'étiquette `Tenant URL (Default)`

* `=vTenantUrlAlias`, avec l'étiquette `Tenant URL (Alias)`

* `=vTenantRegion`, avec l'étiquette `Tenant Region`

* `=vSpaceId`, avec l'étiquette `Space ID`

* `=vSpaceName`, avec l'étiquette `Space Name`

* `=vSpaceType`, avec l'étiquette `Space Type`

À présent, vous avez une table dans votre application, affichant dynamiquement chacun des attributs d'environnement disponibles. L'export de l'application et son chargement dans un client et un espace différents vous donneraient ces attributs pour la nouvelle version chargée de l'application.

## Exemple 2 – Stockage d'attributs d'environnement sous forme de variables et leur utilisation dans des expressions de graphique

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

#### Expressions de graphique et résultats

Dans cet exemple, au lieu de définir des variables dans le script, nous définissons plusieurs variables via la boîte de dialogue en mode d'édition avancé. Les variables peuvent ensuite être utilisées dans des expressions de graphique dans l'application.

Procédez comme suit :

1. Créez une nouvelle application Qlik Sense dans un espace partagé.

2. Ouvrez une nouvelle feuille en mode d'édition avancé

3. Cliquez sur the Variables icon pour ouvrir la boîte de dialogue Variables.

4. Cliquez sur Créer.

5. Sous Nom, saisissez vTenantId.

6. Sous Définition, saisissez =GetSysAttr('tenantId').

7. Cliquez sur Créer.

Cela crée une variable d'application permettant d'afficher l'ID du client. Répétez les étapes 3 à 6 pour créer une variable pour chacun des attributs restants. Utilisez les paramètres suivants :

* Nom du client

  * Nom: vTenantName

  * Définition: =GetSysAttr('tenantName')

* URL du client

  * Nom: vTenantUrl

  * Définition: =GetSysAttr('tenantUrl')

* Alias d'URL du client

  * Nom: vTenantUrlAlias

  * Définition: =GetSysAttr('tenantUrlAlias')

* Région du client

  * Nom: vTenantRegion

  * Définition: =GetSysAttr('tenantRegion')

* ID de l'espace

  * Nom: vSpaceId

  * Définition: =GetSysAttr('spaceId')

* Nom de l'espace

  * Nom: vSpaceName

  * Définition: =GetSysAttr('spaceName')

* Type d'espace

  * Nom: vSpaceType

  * Définition: =GetSysAttr('spaceType')

Créez une table et ajoutez chacune des expressions suivantes sous forme de dimensions, avec leurs étiquettes respectives :

* `=vTenantId`, avec l'étiquette `Tenant ID`

* `=vTenantName`, avec l'étiquette `Tenant Name`

* `=vTenantUrl`, avec l'étiquette `Tenant URL (Default)`

* `=vTenantUrlAlias`, avec l'étiquette `Tenant URL (Alias)`

* `=vTenantRegion`, avec l'étiquette `Tenant Region`

* `=vSpaceId`, avec l'étiquette `Space ID`

* `=vSpaceName`, avec l'étiquette `Space Name`

* `=vSpaceType`, avec l'étiquette `Space Type`

À présent, vous avez une table dans votre application, affichant dynamiquement chacun des attributs d'environnement disponibles. L'export de l'application et son chargement dans un client et un espace différents vous donneraient ces attributs pour la nouvelle version chargée de l'application.

Le principal avantage de l'utilisation de la fonction dans des expressions de graphique réside dans le fait que l'application n'a pas besoin d'être chargée pour que ces attributs soient actualisés. Cela facilite le déplacement des applications entre clients et espaces dans le cadre de leur cycle de vie.

## Exemple 3 – Utilisation de la fonction directement dans le script de chargement

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

#### Script de chargement et résultats

Vous pouvez également utiliser la fonction dans vos applications sans variable. Cet exemple montre comment charger une table avec chaque attribut sous forme de champ individuel. Ensuite, vous pouvez créer des visualisations dans l'application pour afficher ces détails.

Procédez comme suit :

1. Créez une nouvelle application Qlik Sense dans un espace partagé.

2. Ouvrez l'éditeur de chargement de données.

3. Collez le script de chargement suivant dans un nouvel onglet :

   ```
   Attributes:

   Load RowNo() as Key,
   GetSysAttr('tenantId') as TenantID,
   GetSysAttr('tenantName') as TenantName,
   GetSysAttr('tenantUrl') as TenantUrl,
   GetSysAttr('tenantUrlAlias') as TenantUrlAlias,
   GetSysAttr('tenantRegion') as TenantRegion,
   GetSysAttr('spaceId') as SpaceID,
   GetSysAttr('spaceName') as SpaceName,
   GetSysAttr('spaceType') as SpaceType autogenerate 1;
   ```

Charger les données. Une table est créée dans le modèle de données, affichant chacun des attributs dans des champs individuels.

À présent, vous pouvez utiliser les champs d'attributs dans des visualisations comme des tables ou des objets Texte et image.

## Exemple 4 – Utilisation de la fonction directement dans des expressions de graphique

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

#### Script de chargement et expression de graphique

Vous pouvez saisir la fonction directement dans des expressions de graphique sans utiliser de variable.

Le principal avantage de l'utilisation de la fonction dans des expressions de graphique réside dans le fait que l'application n'a pas besoin d'être chargée pour actualiser ces attributs. Cela facilite le déplacement des applications entre clients et espaces dans le cadre de leur cycle de vie.

Procédez comme suit :

1. Créez une nouvelle application Qlik Sense dans un espace partagé.

2. Ouvrez une nouvelle feuille en mode d'édition avancé

3. Faites glisser un objet Texte et image sur la feuille.

4. Cliquez à l'intérieur du graphique vide pour ajouter du texte et saisissez :

   ID du client :

5. Dans le panneau des propriétés, cliquez sur Ajouter une mesure.

6. Saisissez l'expression suivante :

   =GetSysAttr('tenantId')

7. Répétez ces étapes pour les autres attributs sur de nouvelles lignes, à l'aide des expressions présentées dans la table d'attributs au début de cette rubrique d'aide.