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() 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.
Informationshinweis
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.
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.
Informationshinweis
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.
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.
Informationshinweis
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.
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
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:
Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.
Öffnen Sie Dateneditor.
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
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:
Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.
Öffnen Sie ein neues Arbeitsblatt im erweiterten Bearbeitungsmodus.
Klicken Sie auf , um das Variablendialogfeld zu öffnen.
Klicken Sie auf Neu erstellen.
Geben Sie unter Name den Namen vTenantId ein.
Geben Sie unter Definition=GetSysAttr('tenantId') ein.
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
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:
Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.
Öffnen Sie den Dateneditor.
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
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:
Erstellen Sie eine neue Qlik Sense Anwendung in einem freigegebenen Bereich.
Öffnen Sie ein neues Arbeitsblatt im erweiterten Bearbeitungsmodus.
Ziehen Sie ein „Text und Bild“-Objekt auf das Arbeitsblatt.
Klicken Sie in das leere Diagramm, um Text hinzuzufügen, und geben Sie Folgendes ein:
Mandanten-ID:
Klicken Sie im Eigenschaftsfenster auf Kennzahl hinzufügen.
Geben Sie die folgende Formel ein:
=GetSysAttr('tenantId')
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.
Hat diese Seite Ihnen geholfen?
Wenn Sie ein Problem mit dieser Seite oder ihrem Inhalt feststellen, sei es ein Tippfehler, ein ausgelassener Schritt oder ein technischer Fehler, informieren Sie uns bitte!