# GetSysAttr Skript- und Diagrammfunktion

Die Funktion GetSysAttr() wird verwendet, um Informationen über den Mandanten und den Bereich einer Anwendung zu erhalten. Mit der Funktion GetSysAttr() können Sie die ID und den Namen des Mandanten, die ID und den Namen des Bereichs sowie weitere Details über die Umgebung, in der sich die Anwendung befindet, auswerten. Diese Funktion vereinfacht die Identifizierung des Bereichs und des Mandanten einer Qlik Sense Anwendung, die zwischen verschiedenen Umgebungen verschoben werden kann. Die Funktion erleichtert die Identifizierung der spezifischen Umgebung, in der Sie arbeiten. Das ist besonders während der Phasen Entwicklung, Testen, Annahme und Produktion im Lebenszyklus einer Anwendung wichtig.

Diese Funktion kann im Ladeskript der Anwendung oder in Diagrammformeln verwendet werden, entweder direkt als Formel oder in einer als Variable gespeicherten Formel. Wenn abzusehen ist, dass Ihre Anwendung im Lauf ihres Lebenszyklus zwischen Bereichen oder Mandanten verschoben wird, verwenden Sie die Funktion in einer Diagrammformel, um dynamisch Bereichs- und Mandanteninformationen zu erhalten, ohne die Anwendung zu laden. Dabei speichern Sie die Funktionsformel in einer Variable außerhalb des Ladeskripts oder verwenden die Funktion direkt in der Diagrammformel.

Verwenden Sie GetSysAttr(), um die folgenden Informationen über Ihre Anwendung zu ermitteln:

* Die ID des Mandanten, in dem sich die Anwendung befindet.

* Der Name des Mandanten, in dem sich die Anwendung befindet.

* Die URL des Mandanten, in dem sich die Anwendung befindet.

* Die Alias-URL, die für den Mandanten, der die Anwendung enthält, definiert wurde.

* Die Region des Mandanten, der die Anwendung enthält.

* Die ID des Bereichs, in dem sich die Anwendung befindet.

* Der Name des Bereichs, in dem sich die Anwendung befindet.

* Der Typ des Bereichs (freigegeben oder verwaltet), in dem sich die Anwendung befindet.

Die Funktion GetSysAttr() kann direkt im Ladeskript oder in einer Diagrammformel verwendet werden. In beiden Fällen können Sie die Funktion verwenden, um Attribute in einer Variablen oder direkt ohne Variablen zu speichern.

Wenn Sie diese Funktion in Qlik Sense clientverwaltet verwenden, werden nur leere Datenwerte zurückgegeben. Daher können Sie die Funktion zum Entwickeln von Skripten in Qlik Sense clientverwaltet verwenden, ohne dass Fehler auftreten, wenn Sie die Absicht haben, die Anwendungen später an Qlik Cloud hochzuladen.

Syntax:

GetSysAttr(name)

Rückgabe Datentyp: dual

Argumente

| Argument | Beschreibung |
| --- | --- |
| name | Der Name des Attributs, das zurückgegeben werden soll. Geben Sie ihn als Zeichenfolgenwert in die Formel ein. Beim eingegebenen Zeichenfolgenwert wird die Groß- und Kleinschreibung unterschieden. |

Sie können die Funktion zum Laden von Umgebungsattributen in Ihre Anwendung verwenden. Die Funktion kann die folgenden Attribute zurückgeben:

Umgebungsattribute, die von der Funktion GetSysAttr()GetSysAttr() zurückgegeben werden können

| Attribut | Beschreibung | Beispiel einer Ladeskriptvariablen | Beispiel einer Diagrammformel (keine Variable) |
| --- | --- | --- | --- |
| tenantId | Die Mandanten-ID. | Let vTenantID = GetSysAttr('tenantId') | =GetSysAttr('tenantId') |
| tenantName | Der Name des Mandanten. | Let vTenantName = GetSysAttr('tenantName') | =GetSysAttr('tenantName') |
| tenantUrl | Die Standard-URL für den Mandanten. | Let vTenantUrl = GetSysAttr('tenantUrl') | =GetSysAttr('tenantUrl') |
| tenantUrlAlias | Die Alias-URL, die für den Mandanten definiert wurde. | Let vTenantUrlAlias = GetSysAttr('tenantUrlAlias') | =GetSysAttr('tenantUrlAlias') |
| tenantRegion | Die Region, in der sich der Mandant befindet. | Let vTenantRegion = GetSysAttr('tenantRegion') | =GetSysAttr('tenantRegion') |
| spaceId | Die Bereichs-ID. Sie wird nur für eine Anwendung in einem freigegebenen oder verwalteten Bereich definiert.<br><br>Informationshinweis<br><br>Wenn die Funktion GetSysAttr() einen leeren Wert für `spaceId` in Qlik Cloud zurückgibt, gibt dies an, dass sich die Anwendung in einem persönlichen Bereich befindet.<br><br>Die Funktion GetSysAttr() gibt immer einen leeren Wert für `spaceId` zurück, wenn sie in Qlik Sense clientverwaltet verwendet wird. | Let vSpaceId = GetSysAttr('spaceId') | =GetSysAttr('spaceId') |
| spaceName | Der Name des Bereichs. Sie wird nur für eine Anwendung in einem freigegebenen oder verwalteten Bereich definiert.<br><br>Informationshinweis<br><br>Wenn die Funktion GetSysAttr() einen leeren Wert für `spaceName` in Qlik Cloud zurückgibt, gibt dies an, dass sich die Anwendung in einem persönlichen Bereich befindet.<br><br>Die Funktion GetSysAttr() gibt immer einen leeren Wert für `spaceName` zurück, wenn sie in Qlik Sense clientverwaltet verwendet wird. | Let vSpaceName = GetSysAttr('spaceName') | =GetSysAttr('spaceName') |
| spaceType | Der Typ des Bereichs, in dem sich die Anwendung befindet. Sie wird nur für eine Anwendung in einem freigegebenen oder verwalteten Bereich definiert.<br><br>Informationshinweis<br><br>Wenn die Funktion GetSysAttr() einen leeren Wert für `spaceType` in Qlik Cloud zurückgibt, gibt dies an, dass sich die Anwendung in einem persönlichen Bereich befindet.<br><br>Die Funktion GetSysAttr() gibt immer einen leeren Wert für `spaceType` zurück, wenn sie in Qlik Sense clientverwaltet verwendet wird. | Let vSpaceType = GetSysAttr('spaceType') | =GetSysAttr('spaceType') |

## Beispiel 1 – Speichern von Umgebungsattributen als Ladeskriptvariablen

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

#### Ladeskript und Variablen

In diesem Beispiel definieren Sie eine Reihe von Skriptvariablen, die in den von Ihnen erstellten Anwendungsinhalten verwendet werden können. Bei jedem Laden der Anwendung werden die Attribute ausgewertet und zur Anwendung hinzugefügt.

Gehen Sie folgendermaßen vor:

1. Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.

2. Öffnen Sie Dateneditor.

3. Fügen Sie das folgende Ladeskript in eine neue Registerkarte ein:

   ```
   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');
   ```

Dieses Ladeskript umfasst folgende Elemente:

* Eine neue Tabelle mit dem Namen `Transactions` enthält Beispieltransaktionsdaten. Sie kann durch beliebige Daten ersetzt werden und wird als Platzhalter hinzugefügt.

* Eine Reihe von Skriptvariablendefinitionen für die verfügbaren Attribute, die mit GetSysAttr() abgerufen werden können.

Laden Sie die Daten und öffnen Sie ein neues Arbeitsblatt im erweiterten Bearbeitungsmodus.

Erstellen Sie eine Tabelle und fügen Sie die folgenden Ausdrücke zusammen mit den entsprechenden Bezeichnungen als Dimensionenhinzu:

* `=vTenantId`, mit Bezeichnung `Tenant ID`

* `=vTenantName`, mit Bezeichnung `Tenant Name`

* `=vTenantUrl`, mit Bezeichnung `Tenant URL (Default)`

* `=vTenantUrlAlias`, mit Bezeichnung `Tenant URL (Alias)`

* `=vTenantRegion`, mit Bezeichnung `Tenant Region`

* `=vSpaceId`, mit Bezeichnung `Space ID`

* `=vSpaceName`, mit Bezeichnung `Space Name`

* `=vSpaceType`, mit Bezeichnung `Space Type`

Ihre Anwendung enthält jetzt eine Tabelle, die dynamisch jedes der verfügbaren Umgebungsattribute anzeigt. Wenn Sie die Anwendung exportieren und an einen anderen Mandanten und in einem anderen Bereich hochladen, erhalten Sie diese Attribute für die neu hochgeladene Version der Anwendung.

## Beispiel 2 – Speichern von Umgebungsattributen als Variablen und Verwendung der Variablen in Diagrammformeln

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

#### Diagrammformeln und Ergebnisse

In diesem Beispiel definieren Sie keine Variablen im Skript, sondern definieren eine Reihe von Variablen über das Dialogfeld im erweiterten Bearbeitungsmodus. Die Variablen können dann in Diagrammformeln in der Anwendung verwendet werden.

Gehen Sie folgendermaßen vor:

1. Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.

2. Öffnen Sie ein neues Arbeitsblatt im erweiterten Bearbeitungsmodus.

3. Klicken Sie auf the Variablen icon, um das Variablendialogfeld zu öffnen.

4. Klicken Sie auf Neu erstellen.

5. Geben Sie unter Name den Namen vTenantId ein.

6. Geben Sie unter Definition =GetSysAttr('tenantId') ein.

7. Klicken Sie auf Erstellen.

Damit wird eine Anwendungsvariable erstellt, die die ID des Mandanten anzeigt. Wiederholen Sie die Schritte 3 bis 6, um eine Variable für jedes der verbleibenden Attribute zu erstellen. Verwenden Sie die folgenden Parameter:

* Mandantenname

  * Name: vTenantName

  * Definition: =GetSysAttr('tenantName')

* Mandanten-URL

  * Name: vTenantUrl

  * Definition: =GetSysAttr('tenantUrl')

* Tenant-URL-Alias

  * Name: vTenantUrlAlias

  * Definition: =GetSysAttr('tenantUrlAlias')

* Mandantenregion

  * Name: vTenantRegion

  * Definition: =GetSysAttr('tenantRegion')

* Bereichs-ID

  * Name: vSpaceId

  * Definition: =GetSysAttr('spaceId')

* Bereichsname

  * Name: vSpaceName

  * Definition: =GetSysAttr('spaceName')

* Bereichstyp

  * Name: vSpaceType

  * Definition: =GetSysAttr('spaceType')

Erstellen Sie eine Tabelle und fügen Sie die folgenden Ausdrücke zusammen mit den entsprechenden Bezeichnungen als Dimension hinzu:

* `=vTenantId`, mit Bezeichnung `Tenant ID`

* `=vTenantName`, mit Bezeichnung `Tenant Name`

* `=vTenantUrl`, mit Bezeichnung `Tenant URL (Default)`

* `=vTenantUrlAlias`, mit Bezeichnung `Tenant URL (Alias)`

* `=vTenantRegion`, mit Bezeichnung `Tenant Region`

* `=vSpaceId`, mit Bezeichnung `Space ID`

* `=vSpaceName`, mit Bezeichnung `Space Name`

* `=vSpaceType`, mit Bezeichnung `Space Type`

Ihre Anwendung enthält jetzt eine Tabelle, die dynamisch jedes der verfügbaren Umgebungsattribute anzeigt. Wenn Sie die Anwendung exportieren und an einen anderen Mandanten und in einem anderen Bereich hochladen, erhalten Sie diese Attribute für die neu hochgeladene Version der Anwendung.

Der Hauptvorteil beim Verwenden der Funktion in Diagrammformeln besteht darin, dass die Anwendung nicht geladen werden muss, um diese Attribute zu aktualisieren. Dies ermöglicht ein einfacheres Verschieben von Anwendungen zwischen Mandanten und Bereichen als Teil des Anwendungs-Lebenszyklus.

## Beispiel 3 – Verwenden der Funktion direkt im Ladeskript

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

#### Ladeskript und Ergebnisse

Sie können die Funktion in Ihren Anwendungen auch ohne Variable verwenden. Dieses Beispiel zeigt, wie Sie eine Tabelle mit jedem Attribut als einzelnes Feld laden können. Von hier aus können Sie Visualisierungen in der Anwendung erstellen, um diese Details anzuzeigen.

Gehen Sie folgendermaßen vor:

1. Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.

2. Öffnen Sie den Dateneditor.

3. Fügen Sie das folgende Ladeskript in eine neue Registerkarte ein:

   ```
   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;
   ```

Laden Sie die Daten. Im Datenmodell wird eine Tabelle erstellt, die jedes der Attribute als einzelnes Feld enthält.

Jetzt können Sie die Attributfelder in Visualisierungen wie Tabellen oder „Text und Bild“-Objekten verwenden.

## Beispiel 4 – Verwenden der Funktion direkt in Diagrammformeln

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

#### Ladeskript und Diagrammformel

Sie können die Funktion direkt in Diagrammformeln eingeben, ohne eine Variable zu verwenden.

Der Hauptvorteil beim Verwenden der Funktion in Diagrammformeln besteht darin, dass die Anwendung nicht geladen werden muss, um diese Attribute zu aktualisieren. Dies ermöglicht ein einfacheres Verschieben von Anwendungen zwischen Mandanten und Bereichen als Teil des Anwendungs-Lebenszyklus.

Gehen Sie folgendermaßen vor:

1. Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.

2. Öffnen Sie ein neues Arbeitsblatt im erweiterten Bearbeitungsmodus.

3. Ziehen Sie ein „Text und Bild“-Objekt auf das Arbeitsblatt.

4. Klicken Sie in das leere Diagramm, um Text hinzuzufügen, und geben Sie Folgendes ein:

   Mandanten-ID:

5. Klicken Sie im Eigenschaftsfenster auf Kennzahl hinzufügen.

6. Geben Sie die folgende Formel ein:

   =GetSysAttr('tenantId')

7. Wiederholen Sie diese Schritte in neuen Zeilen für die anderen Attribute und verwenden Sie dabei die Formeln, die in der Attributtabelle in der Einführung für dieses Hilfethema vorgestellt wurden.