# GetSysAttr Função de script e de gráfico

A função GetSysAttr() é usada para retornar informações sobre o locatário e o espaço em que um aplicativo está localizado. Com a função GetSysAttr(), você pode avaliar o ID e o nome do locatário, o ID e o nome do espaço e outros detalhes sobre o ambiente em que o aplicativo reside. Essa função simplifica a identificação do espaço e do locatário de um aplicativo Qlik Sense que pode ser movido entre diferentes ambientes. A função facilita a identificação do ambiente específico em que você está trabalhando. Isso é particularmente útil durante os estágios de desenvolvimento, teste, aceitação e produção (DTAP) do ciclo de vida de um aplicativo.

Essa função pode ser usada no script de carregamento do aplicativo ou em expressões de gráfico, diretamente como uma expressão ou em uma expressão armazenada como uma variável. Se você antecipa que seu aplicativo será movido entre espaços ou locatários durante seu ciclo de vida, use a função em uma expressão de gráfico para obter dinamicamente informações de espaço e locatário sem recarregar o aplicativo. Ao fazer isso, armazene a expressão da função em uma variável fora do script de carregamento, ou use a função diretamente na expressão de gráfico.

Use GetSysAttr() para determinar as seguintes informações sobre seu aplicativo:

* O ID do locatário onde o aplicativo está localizado.

* O nome do locatário onde o aplicativo está localizado.

* A URL do locatário onde o aplicativo está localizado.

* A URL do alias que foi definida para o locatário que contém o aplicativo.

* A região do locatário que contém o aplicativo.

* O ID do espaço onde o aplicativo está localizado.

* O nome do espaço onde o aplicativo está localizado.

* O tipo de espaço (compartilhado ou gerenciado) onde o aplicativo está localizado.

A função GetSysAttr() pode ser usada diretamente no script de carregamento ou em uma expressão de gráfico. Em ambos os casos, você pode usar a função para armazenar atributos em uma variável ou diretamente sem uma variável.

Se você usar essa função no Qlik Sense Client-Managed, ela retornará apenas valores de dados vazios. Portanto, você pode usar a função para desenvolver scripts no Qlik Sense Client-Managed sem encontrar erros, com a intenção de posteriormente carregar os aplicativos para o Qlik Cloud.

Sintaxe:

GetSysAttr(name)

Tipo de dados de retorno: dual

Argumentos

| Argumento | Descrição |
| --- | --- |
| name | O nome do atributo a ser retornado. Insira como um valor de string na expressão. O valor da string inserido diferencia maiúsculas de minúsculas. |

Você pode usar a função para carregar determinados atributos de ambiente no seu aplicativo. A função pode retornar os seguintes atributos:

Atributos de ambiente que podem ser retornados pela função GetSysAttr()GetSysAttr()

| Atributo | Descrição | Exemplo de variável de script de carregamento | Exemplo de expressão de gráfico (sem variável) |
| --- | --- | --- | --- |
| tenantId | O ID do locatário. | Let vTenantID = GetSysAttr('tenantId') | =GetSysAttr('tenantId') |
| tenantName | O nome do locatário. | Let vTenantName = GetSysAttr('tenantName') | =GetSysAttr('tenantName') |
| tenantUrl | A URL padrão do locatário. | Let vTenantUrl = GetSysAttr('tenantUrl') | =GetSysAttr('tenantUrl') |
| tenantUrlAlias | A URL do alias que foi definida para o locatário. | Let vTenantUrlAlias = GetSysAttr('tenantUrlAlias') | =GetSysAttr('tenantUrlAlias') |
| tenantRegion | A região em que o locatário reside. | Let vTenantRegion = GetSysAttr('tenantRegion') | =GetSysAttr('tenantRegion') |
| spaceId | O ID do espaço. Isso é definido apenas para um aplicativo em um espaço compartilhado ou gerenciado.<br><br>Nota informativa<br><br>Se a função GetSysAttr() retornar um valor de `spaceId` vazio no Qlik Cloud, isso indicará que o aplicativo está localizado em um espaço pessoal.<br><br>A função GetSysAttr() sempre retorna um valor de `spaceId` vazio quando usado no Qlik Sense Client-Managed. | Let vSpaceId = GetSysAttr('spaceId') | =GetSysAttr('spaceId') |
| spaceName | O nome do espaço. Isso é definido apenas para um aplicativo em um espaço compartilhado ou gerenciado.<br><br>Nota informativa<br><br>Se a função GetSysAttr() retornar um valor de `spaceName` vazio no Qlik Cloud, isso indicará que o aplicativo está localizado em um espaço pessoal.<br><br>A função GetSysAttr() sempre retorna um valor de `spaceName` vazio quando usado no Qlik Sense Client-Managed. | Let vSpaceName = GetSysAttr('spaceName') | =GetSysAttr('spaceName') |
| spaceType | O tipo de espaço em que o aplicativo está localizado. Isso é definido apenas para um aplicativo em um espaço compartilhado ou gerenciado.<br><br>Nota informativa<br><br>Se a função GetSysAttr() retornar um valor de `spaceType` vazio no Qlik Cloud, isso indicará que o aplicativo está localizado em um espaço pessoal.<br><br>A função GetSysAttr() sempre retorna um valor de `spaceType` vazio quando usado no Qlik Sense Client-Managed. | Let vSpaceType = GetSysAttr('spaceType') | =GetSysAttr('spaceType') |

## Exemplo 1 – Armazenando atributos de ambiente como variáveis de script de carregamento

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

#### Script de carregamento e variáveis

Neste exemplo, definimos um conjunto de variáveis de script que podem ser usadas no conteúdo do aplicativo que você cria. Cada vez que o aplicativo é recarregado, os atributos são avaliados e adicionados a ele.

Faça o seguinte:

1. Crie um novo aplicativo Qlik Sense em um espaço compartilhado.

2. Abra o Editor de carregamento de dados.

3. Cole o script de carregamento a seguir em uma nova guia:

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

Este script de carregamento contém o seguinte:

* Uma nova tabela chamada `Transactions` contém dados de transação de amostra. Isso pode ser substituído por qualquer dado e é apenas adicionado como um espaço reservado.

* Uma série de definições de variáveis de script, para os atributos disponíveis que podem ser obtidos por GetSysAttr().

Carregue os dados e abra uma nova pasta no modo de edição avançada.

Crie uma tabela e adicione as seguintes expressões como dimensões, juntamente com seus respectivos rótulos:

* `=vTenantId`, com o rótulo `Tenant ID`

* `=vTenantName`, com o rótulo `Tenant Name`

* `=vTenantUrl`, com o rótulo `Tenant URL (Default)`

* `=vTenantUrlAlias`, com o rótulo `Tenant URL (Alias)`

* `=vTenantRegion`, com o rótulo `Tenant Region`

* `=vSpaceId`, com o rótulo `Space ID`

* `=vSpaceName`, com o rótulo `Space Name`

* `=vSpaceType`, com o rótulo `Space Type`

Agora, você tem uma tabela em seu aplicativo que exibe dinamicamente cada um dos atributos de ambiente disponíveis. Exportar o aplicativo e carregá-lo para um locatário e espaço diferentes daria a você esses atributos para a versão recém-carregada do aplicativo.

## Exemplo 2 – Armazenando atributos de ambiente como variáveis e usando-os em expressões de gráfico

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

#### Expressões e resultados do gráfico

Neste exemplo, em vez de definir variáveis no script, definimos diversas variáveis usando a caixa de diálogo no modo de edição avançada. As variáveis podem então ser usadas em expressões de gráfico no aplicativo.

Faça o seguinte:

1. Crie um novo aplicativo Qlik Sense em um espaço compartilhado.

2. Abra uma nova pasta no modo de edição avançada.

3. Clique em the Variáveis icon para abrir o diálogo de variáveis.

4. Clique em Criar novo.

5. Em Nome, insira vTenantId.

6. Em Definição, insira =GetSysAttr('tenantId').

7. Clique em Criar.

Isso cria uma variável de aplicativo para exibir a ID do locatário. Repita as etapas 3 a 6 para criar uma variável para cada um dos atributos restantes. Use os seguintes parâmetros:

* Nome do locatário

  * Nome: vTenantName

  * Definição: =GetSysAttr('tenantName')

* URL do locatário

  * Nome: vTenantUrl

  * Definição: =GetSysAttr('tenantUrl')

* Alias da URL do locatário

  * Nome: vTenantUrlAlias

  * Definição: =GetSysAttr('tenantUrlAlias')

* Região do locatário

  * Nome: vTenantRegion

  * Definição: =GetSysAttr('tenantRegion')

* ID do espaço

  * Nome: vSpaceId

  * Definição: =GetSysAttr('spaceId')

* Nome do espaço

  * Nome: vSpaceName

  * Definição: =GetSysAttr('spaceName')

* Tipo de espaço

  * Nome: vSpaceType

  * Definição: =GetSysAttr('spaceType')

Crie uma tabela e adicione cada uma das seguintes expressões como dimensões, junto com seus respectivos rótulos:

* `=vTenantId`, com o rótulo `Tenant ID`

* `=vTenantName`, com o rótulo `Tenant Name`

* `=vTenantUrl`, com o rótulo `Tenant URL (Default)`

* `=vTenantUrlAlias`, com o rótulo `Tenant URL (Alias)`

* `=vTenantRegion`, com o rótulo `Tenant Region`

* `=vSpaceId`, com o rótulo `Space ID`

* `=vSpaceName`, com o rótulo `Space Name`

* `=vSpaceType`, com o rótulo `Space Type`

Agora você tem uma tabela em seu aplicativo, exibindo dinamicamente cada um dos atributos de ambiente disponíveis. Exportar o aplicativo e carregá-lo para um locatário e espaço diferentes daria a você esses atributos para a versão recém-carregada do aplicativo.

O principal benefício de usar a função em expressões de gráfico é que o aplicativo não precisa ser recarregado para que esses atributos sejam atualizados. Isso permite uma transição mais fluida entre locatários e espaços durante o ciclo de vida do aplicativo.

## Exemplo 3 – Usando a função diretamente no script de carregamento

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

#### Script de carregamento e resultados

Você também pode usar a função em seus aplicativos sem uma variável. Esse exemplo demonstra como carregar uma tabela com cada atributo como um campo individual. A partir daqui, você pode criar visualizações no aplicativo para exibir esses detalhes.

Faça o seguinte:

1. Crie um novo aplicativo Qlik Sense em um espaço compartilhado.

2. Abra o editor de carregamento de dados.

3. Cole o script de carregamento a seguir em uma nova guia:

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

Carregue os dados. Uma tabela é criada no modelo de dados, exibindo cada um dos atributos em campos individuais.

Agora você pode usar os campos de atributo em visualizações, como tabelas ou objetos de texto e imagem.

## Exemplo 4 – Usando a função diretamente em expressões de gráfico

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

#### Script de carregamento e expressão de gráfico

Você pode inserir a função diretamente nas expressões de gráfico sem usar uma variável.

O principal benefício de usar a função em expressões de gráfico é que o aplicativo não precisa ser recarregado para atualizar esses atributos. Isso permite uma transição mais fluida entre locatários e espaços durante o ciclo de vida do aplicativo.

Faça o seguinte:

1. Crie um novo aplicativo Qlik Sense em um espaço compartilhado.

2. Abra uma nova pasta no modo de edição avançada.

3. Arraste um objeto de texto e imagem até a pasta.

4. Clique dentro do gráfico em branco para adicionar texto e digite:

   ID do locatário:

5. No painel de propriedades, clique em Adicionar medida.

6. Insira a seguinte expressão:

   =GetSysAttr('tenantId')

7. Repita essas etapas para os demais atributos nas novas linhas, utilizando as expressões apresentadas na tabela de atributos na introdução deste tópico de ajuda.