# GetSysAttr funkcja skryptu i funkcja wykresu

Funkcja GetSysAttr() służy do zwracania informacji o dzierżawie i przestrzeni, w której znajduje się aplikacja. Za pomocą funkcji GetSysAttr() można ocenić identyfikator i nazwę dzierżawy, identyfikator i nazwę przestrzeni oraz inne szczegóły dotyczące środowiska, w którym znajduje się aplikacja. Ta funkcja upraszcza identyfikację przestrzeni i dzierżaw aplikacji Qlik Sense, które mogą być przenoszone między różnymi środowiskami. Ta funkcja ułatwia identyfikację konkretnego środowiska, w którym pracujesz. Jest to szczególnie przydatne na etapach rozwoju, testowania, akceptacji i produkcji (DTAP) cyklu życia aplikacji.

Tej funkcji można używać w skrypcie ładowania aplikacji lub w wyrażeniach wykresu, bezpośrednio jako wyrażenia lub w wyrażeniu przechowywanym jako zmienna. Jeśli przewidujesz, że Twoja aplikacja będzie przenoszona między przestrzeniami lub dzierżawami w trakcie jej cyklu życia, użyj funkcji w wyrażeniu wykresu, aby dynamicznie uzyskiwać informacje o przestrzeni i dzierżawie bez ponownego ładowania aplikacji. W takim przypadku zapisz wyrażenie funkcji w zmiennej poza skryptem ładowania lub użyj funkcji bezpośrednio w wyrażeniu wykresu.

Użyj GetSysAttr() do ustalenia następujących informacji o aplikacji:

* Identyfikator dzierżawy, w której znajduje się aplikacja.

* Nazwa dzierżawy, w której znajduje się aplikacja.

* Adres URL dzierżawy, w której znajduje się aplikacja.

* Alias adresu URL, który został zdefiniowany dla dzierżawy zawierającej aplikację.

* Region dzierżawy zawierającej aplikację.

* Identyfikator przestrzeni, w której znajduje się aplikacja.

* Nazwa przestrzeni, w której znajduje się aplikacja.

* Typ przestrzeni (udostępniona lub zarządzana), w której znajduje się aplikacja.

Funkcji GetSysAttr() można używać bezpośrednio w skrypcie ładowania lub w wyrażeniu wykresu. W obu przypadkach możesz używać tej funkcji do przechowywania atrybutów w zmiennej lub bezpośrednio bez zmiennej.

Jeśli użyjesz tej funkcji w Qlik Sense zarządzany przez klienta, zwróci ona tylko puste wartości danych. W związku z tym możesz używać tej funkcji do opracowywania skryptów w Qlik Sense zarządzany przez klienta bez napotykania błędów, z zamiarem późniejszego przesłania aplikacji do Qlik Cloud.

Składnia:

GetSysAttr(name)

Typ zwracanych danych: wartość podwójna

Argumenty

| Argument | Opis |
| --- | --- |
| name | Nazwa atrybutu, który ma zostać zwrócony. Wprowadź jako wartość ciągu w wyrażeniu. We wprowadzanej wartości ciągu rozróżniana jest wielkość liter. |

Możesz użyć tej funkcji, aby załadować atrybuty środowiska do swojej aplikacji. Funkcja ta może zwracać następujące atrybuty:

Atrybuty środowiska, które może zwrócić funkcja GetSysAttr()GetSysAttr().

| Atrybut | Opis | Przykład zmiennej skryptu ładowania | Przykład wyrażenia wykresu (bez zmiennej) |
| --- | --- | --- | --- |
| tenantId | Identyfikator dzierżawy. | Let vTenantID = GetSysAttr('tenantId') | =GetSysAttr('tenantId') |
| tenantName | Nazwa dzierżawy. | Let vTenantName = GetSysAttr('tenantName') | =GetSysAttr('tenantName') |
| tenantUrl | Domyślny adres URL dzierżawy. | Let vTenantUrl = GetSysAttr('tenantUrl') | =GetSysAttr('tenantUrl') |
| tenantUrlAlias | Adres URL aliasu, który został zdefiniowany dla dzierżawy. | Let vTenantUrlAlias = GetSysAttr('tenantUrlAlias') | =GetSysAttr('tenantUrlAlias') |
| tenantRegion | Region, w którym znajduje się dzierżawa. | Let vTenantRegion = GetSysAttr('tenantRegion') | =GetSysAttr('tenantRegion') |
| spaceId | Identyfikator przestrzeni. Definiuje się to tylko dla aplikacji w przestrzeni udostępnionej lub przestrzeni zarządzanej.<br><br>Informacja<br><br>Jeżeli funkcja GetSysAttr() zwraca pustą wartość `spaceId` w Qlik Cloud, wskazuje to, że aplikacja znajduje się w przestrzeni prywatnej.<br><br>Funkcja GetSysAttr() zawsze zwraca pustą wartość `spaceId`, kiedy jest używana w Qlik Sense zarządzany przez klienta. | Let vSpaceId = GetSysAttr('spaceId') | =GetSysAttr('spaceId') |
| spaceName | Nazwa przestrzeni. Definiuje się to tylko w przypadku aplikacji w przestrzeni udostępnionej lub zarządzanej.<br><br>Informacja<br><br>Jeżeli funkcja GetSysAttr() zwraca pustą wartość `spaceName` w Qlik Cloud, wskazuje to, że aplikacja znajduje się w przestrzeni prywatnej.<br><br>Funkcja GetSysAttr() zawsze zwraca pustą wartość `spaceName`, kiedy jest używana w Qlik Sense zarządzany przez klienta. | Let vSpaceName = GetSysAttr('spaceName') | =GetSysAttr('spaceName') |
| spaceType | Typ przestrzeni, w której znajduje się aplikacja. Definiuje się to tylko w przypadku aplikacji w przestrzeni udostępnionej lub zarządzanej.<br><br>Informacja<br><br>Jeżeli funkcja GetSysAttr() zwraca pustą wartość `spaceType` w Qlik Cloud, wskazuje to, że aplikacja znajduje się w przestrzeni prywatnej.<br><br>Funkcja GetSysAttr() zawsze zwraca pustą wartość `spaceType`, kiedy jest używana w Qlik Sense zarządzany przez klienta. | Let vSpaceType = GetSysAttr('spaceType') | =GetSysAttr('spaceType') |

## Przykład 1 — Przechowywanie atrybutów środowiska jako zmiennych skryptu ładowania

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

#### Skrypt ładowania i zmienne

W tym przykładzie definiujemy zestaw zmiennych skryptu, których można użyć w tworzonej zawartości aplikacji. Za każdym razem, gdy aplikacja zostanie przeładowana, atrybuty zostaną oszacowane i dodane do aplikacji.

Wykonaj następujące czynności:

1. Utwórz nową aplikację Qlik Sense w przestrzeni udostępnionej.

2. Otwórz program Edytor ładowania danych.

3. Wklej następujący skrypt ładowania do nowej karty:

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

Ten skrypt ładowania zawiera następujące elementy:

* Nowa tabela o nazwie `Transactions` zawiera przykładowe dane transakcji. Można to zastąpić dowolnymi danymi i jest to dodawane jako tekst zastępczy.

* Seria definicji zmiennych skryptowych dla dostępnych atrybutów, które można pobrać przy użyciu GetSysAttr().

Załaduj dane i otwórz nowy arkusz w zaawansowanym trybie edycji.

Utwórz tabelę i dodaj poniższe wyrażenia jako wymiary wraz z odpowiadającymi im etykietami:

* `=vTenantId`, z etykietą `Tenant ID`

* `=vTenantName`, z etykietą `Tenant Name`

* `=vTenantUrl`, z etykietą `Tenant URL (Default)`

* `=vTenantUrlAlias`, z etykietą `Tenant URL (Alias)`

* `=vTenantRegion`, z etykietą `Tenant Region`

* `=vSpaceId`, z etykietą `Space ID`

* `=vSpaceName`, z etykietą `Space Name`

* `=vSpaceType`, z etykietą `Space Type`

Masz teraz w aplikacji tabelę, która dynamicznie wyświetla każdy z dostępnych atrybutów środowiskowych. Wyeksportowanie aplikacji oraz przesłanie jej do innej dzierżawy i miejsca dałoby te atrybuty na potrzeby nowo przesłanej wersji aplikacji.

## Przykład 2 — Przechowywanie atrybutów środowiskowych jako zmiennych i używanie ich w wyrażeniach wykresu

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

#### Wyrażenia wykresu i wyniki

W tym przykładzie zamiast definiować zmienne w skrypcie, definiujemy kilka zmiennych za pomocą okna dialogowego w trybie edycji zaawansowanej. Zmiennych można następnie używać w wyrażeniach wykresów w aplikacji.

Wykonaj następujące czynności:

1. Utwórz nową aplikację Qlik Sense w przestrzeni udostępnionej.

2. Otwórz nowy arkusz w zaawansowanym trybie edycji.

3. Kliknij the Zmienne icon, aby otworzyć okno dialogowe zmiennych.

4. Kliknij polecenie Utwórz nowe.

5. W obszarze Nazwa wprowadź vTenantId.

6. W obszarze Definicja wprowadź =GetSysAttr(‘tenantId’).

7. Kliknij Utwórz.

Spowoduje to utworzenie zmiennej aplikacji do wyświetlania identyfikatora dzierżawy. Powtórz kroki od 3 do 6, aby utworzyć zmienną dla każdego z pozostałych atrybutów. Użyj następujących parametrów:

* Nazwa dzierżawy

  * Nazwa: vTenantName

  * Definicja: =GetSysAttr('tenantName')

* Adres URL dzierżawy

  * Nazwa: vTenantUrl

  * Definicja: =GetSysAttr('tenantUrl')

* Alias adresu URL dzierżawy

  * Nazwa: vTenantUrlAlias

  * Definicja: =GetSysAttr('tenantUrlAlias')

* Region dzierżawy

  * Nazwa: vTenantRegion

  * Definicja: =GetSysAttr('tenantRegion')

* Identyfikator przestrzeni

  * Nazwa: vSpaceId

  * Definicja: =GetSysAttr('spaceId')

* Nazwa przestrzeni

  * Nazwa: vSpaceName

  * Definicja: =GetSysAttr('spaceName')

* Rodzaj przestrzeni

  * Nazwa: vSpaceType

  * Definicja: =GetSysAttr('spaceType')

Utwórz tabelę i dodaj każde z poniższych wyrażeń jako wymiary wraz z odpowiadającymi im etykietami:

* `=vTenantId`, z etykietą `Tenant ID`

* `=vTenantName`, z etykietą `Tenant Name`

* `=vTenantUrl`, z etykietą `Tenant URL (Default)`

* `=vTenantUrlAlias`, z etykietą `Tenant URL (Alias)`

* `=vTenantRegion`, z etykietą `Tenant Region`

* `=vSpaceId`, z etykietą `Space ID`

* `=vSpaceName`, z etykietą `Space Name`

* `=vSpaceType`, z etykietą `Space Type`

Masz teraz w aplikacji tabelę, która dynamicznie wyświetla każdy z dostępnych atrybutów środowiskowych. Wyeksportowanie aplikacji i przesłanie jej do innej dzierżawy i miejsca dałoby te atrybuty dla nowo przesłanej wersji aplikacji.

Główną zaletą używania tej funkcji w wyrażeniach wykresu jest to, że nie trzeba ponownie ładować aplikacji, aby odświeżyć te atrybuty. Umożliwia to płynniejsze przenoszenie aplikacji między dzierżawami i przestrzeniami w ramach cyklu życia aplikacji.

## Przykład 3 — Użycie funkcji bezpośrednio w skrypcie ładowania

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

#### Skrypt ładowania i wyniki

Możesz także użyć tej funkcji w swoich aplikacjach bez zmiennej. Ten przykład pokazuje, jak załadować tabelę z każdym atrybutem jako osobnymi polem. Stąd możesz tworzyć wizualizacje w aplikacji, aby wyświetlić te szczegóły.

Wykonaj następujące czynności:

1. Utwórz nową Qlik Sense aplikację w przestrzeni udostępnionej.

2. Otwórz edytor ładowania danych.

3. Wklej następujący skrypt ładowania do nowej karty:

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

Załadowanie danych. W modelu danych zostanie utworzona tabela wyświetlająca każdy z atrybutów w poszczególnych polach.

Teraz możesz używać pól atrybutów w wizualizacjach, takich jak tabele lub obiekty tekstowe i graficzne.

## Przykład 4 — Użycie funkcji bezpośrednio w wyrażeniach wykresu

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

#### Skrypt ładowania i wyrażenie wykresu

Funkcję można wprowadzić bezpośrednio do wyrażeń wykresu bez użycia zmiennej.

Główną zaletą używania tej funkcji w wyrażeniach wykresu jest to, że nie trzeba ponownie ładować aplikacji, aby odświeżyć te atrybuty. Umożliwia to płynniejsze przenoszenie aplikacji między dzierżawami i przestrzeniami w ramach cyklu życia aplikacji.

Wykonaj następujące czynności:

1. Utwórz nową Qlik Sense aplikację w przestrzeni udostępnionej.

2. Otwórz nowy arkusz w zaawansowanym trybie edycji.

3. Przeciągnij obiekt tekstu i grafiki na arkusz.

4. Kliknij wewnątrz pustego wykresu, aby dodać tekst, i wpisz:

   Identyfikator dzierżawy:

5. Na panelu właściwości kliknij Dodaj miarę.

6. Wprowadź następujące wyrażenie:

   =GetSysAttr('tenantId')

7. Powtórz te kroki w odniesieniu do pozostałych atrybutów w nowych wierszach, używając wyrażeń przedstawionych w tabeli atrybutów we wstępie do tego tematu pomocy.