# Semantic

O prefixo de carregamento `semantic` cria um tipo especial de campo que pode ser usado no Qlik Sensepara conectar e gerenciar dados relacionais, como estruturas em árvore, dados estruturados pai/filho de autorreferência e/ou dados que podem ser descritos como um gráfico.

Observe que o carregamento de `semantic` pode funcionar de forma semelhante aos prefixos [Hierarchy](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Hierarchy.htm) e [HierarchyBelongsTo](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/HierarchyBelongsTo.htm). Todos os três prefixos podem ser usados como blocos de construção em soluções front-end eficazes para a travessia de dados relacionais.

Sintaxe:

Semantic( loadstatement | selectstatement)

Um carregamento semântico espera uma entrada com exatamente três ou quatro campos de largura, com uma definição estrita do que cada campo ordenado representa, como mostra a tabela abaixo:

Campos de carregamento semântico

| Nome do campo | Descrição do campo |
| --- | --- |
| 1º campo: | Essa tag é uma representação do primeiro dos dois objetos entre os quais existe um relacionamento. |
| 2º campo: | Essa tag será usada para descrever a relação "direta" entre o primeiro e o segundo objetos. Se o primeiro objeto for um filho e o segundo objeto for um pai, você poderá criar uma guia de relacionamento que indique "pai" ou "pai de" como se estivesse seguindo o relacionamento do filho para o pai. |
| 3º campo: | Essa tag é uma representação do segundo dos dois objetos entre os quais existe um relacionamento. |
| 4º campo: | Esse campo é opcional. Essa tag descreve o relacionamento "regressivo" ou "inverso" entre o primeiro e o segundo objetos. Se o primeiro objeto for filho e o segundo objeto for pai, uma guia de relacionamento poderá indicar "filho" ou "filho de", como se você estivesse seguindo o relacionamento do pai para o filho. Se você não adicionar um quarto campo, a segunda tag de campo será usada para descrever o relacionamento em qualquer direção. Nesse caso, um símbolo de seta é adicionado automaticamente como parte da tag. |

O código a seguir é um exemplo do prefixo `semantic`.

```
Semantic  
Load 
Object, 
‘Parent’ AS Relationship, 
NeighbouringObject AS Object, 
‘Child’ AS Relationship 
from graphdata.csv; 
```

Nota informativaÉ permitido e prática típica rotular o terceiro campo da mesma forma que o primeiro campo. Isso cria uma pesquisa de autorreferência, para que você possa seguir os objetos até os objetos relacionados, um passo de cada vez. Se o terceiro campo não tiver o mesmo nome, o resultado final será uma pesquisa simples de um ou mais objetos para seus vizinhos relacionais diretos a apenas um passo de distância, o que é uma saída de pouco uso prático.

## Configurações regionais

A menos que especificado de outra forma, os exemplos neste tópico usam o seguinte formato de data: MM/DD/AAAA. O formato de data é especificado na instrução `SET DateFormat` no seu script de carregamento de dados. A formatação de data padrão pode ser diferente no seu sistema devido às suas configurações regionais e outros fatores. Você pode alterar os formatos nos exemplos abaixo para atender às suas necessidades. Ou pode alterar os formatos no seu script de carregamento para corresponder a esses exemplos.

As configurações regionais padrão nos aplicativos são baseadas nas configurações regionais do sistema do computador ou servidor em que o Qlik Sense está instalado. Se o servidor Qlik Sense que você está acessando estiver definido como Suécia, o Editor de carregamento de dados usará as configurações regionais suecas para datas, horas e moedas. Essas configurações de formato regional não estão relacionadas ao idioma exibido na interface do usuário do Qlik Sense. O Qlik Sense será exibido no mesmo idioma do navegador que você está usando.

Funções relacionadas

| Funções | Interação |
| --- | --- |
| [Hierarchy](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Hierarchy.htm) | O prefixo de carregamento Hierarchy é usado para dividir e organizar nós em estruturas de dados pai/filho e outras estruturas de dados semelhantes a gráficos e transformá-los em tabelas. |
| [HierarchyBelongsTo](https://help.qlik.com/pt-BR/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/HierarchyBelongsTo.htm) | O prefixo de carregamento HierarchyBelongsTo é usado para localizar e organizar os ancentrais de estruturas de dados pai/filho e outras estruturas de dados semelhantes a gráficos e transformá-los em tabelas. |

## Exemplo: Criação de um campo especial para conectar relacionamentos usando o prefixo semântico

[](https://help.qlik.com/en-US/sense/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Semantic.htm)

#### Script de carregamento e resultados

Visão geral

Abra o editor da carga de dados e adicione o script de carregamento abaixo em uma nova guia.

O script de carregamento contém:

* Um conjunto de dados que representa registros de relação geográfica e que é carregado em uma tabela denominada `GeographyTree`.

  * Cada entrada tem um ID no início da linha e um parentID no final da linha.

* O prefixo `semantic`, que adicionará um campo de comportamento especial chamado `Relation`.

Script de carregamento

```
GeographyTree: 
LOAD  
    ID, 
    Geography, 
    if(ParentID='',null(),ParentID) AS ParentID     

INLINE [ 
ID,Geography,ParentID 
1,World 
2,Europe,1 
3,Asia,1 
4,North America,1 
5,South America,1 
6,UK,2 
7,Germany,2 
8,Sweden,2 
9,South Korea,3 
10,North Korea,3 
11,China,3 
12,London,6 
13,Birmingham,6 
]; 
 
SemanticTable: 
Semantic Load 
	ID as ID,			 
	'Parent' as Relation, 
	ParentID as ID,     
	'Child' as Relation 
resident GeographyTree;  
```

Resultados

Carregue os dados e abra uma pasta. Crie uma nova tabela e adicione esses campos como dimensões.

* `Id`
* `Geography`

Em seguida, crie um painel de filtro com `Relation` como dimensão. Clique em Edição concluída.

Tabela de resultados

| ID | Geografia |
| --- | --- |
| 1 | Mundo |
| 2 | Europa |
| 3 | Ásia |
| 4 | América do Norte |
| 5 | América do Sul |
| 6 | Reino Unido |
| 7 | Alemanha |
| 8 | Sweden |
| 9 | Coreia do Sul |
| 10 | Coreia do Norte |
| 11 | China |
| 12 | Londres |
| 13 | Birmingham |

Painel de filtro

| Relação |
| --- |
| Filho |
| Pai |

Clique em Europa na dimensão `Geography` da tabela e clique em Filho na dimensão `Relation` no painel de filtro. Observe o resultado esperado na tabela:

Tabela de resultados mostrando "filhos" de Europa

| ID | Geografia |
| --- | --- |
| 6 | Reino Unido |
| 7 | Alemanha |
| 8 | Sweden |

Clicar em Filho novamente mostrará lugares que são "filhos" do Reino Unido, um passo mais abaixo.

Tabela de resultados mostrando "filhos" do Reino Unido

| ID | Geografia |
| --- | --- |
| 12 | Londres |
| 13 | Birmingham |