# Semantic

Il prefisso dell'istruzione di caricamento di `semantic` crea un tipo speciale di campo che può essere utilizzato in Qlik Sense per connettere e gestire dati relazionali, come strutture ad albero, dati strutturati genitore-figlio autoreferenziali e/o dati che possono essere descritti come un grafico.

Si noti che il carico `semantic` può funzionare in modo simile ai prefissi [Hierarchy](https://help.qlik.com/it-IT/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Hierarchy.htm) e [HierarchyBelongsTo](https://help.qlik.com/it-IT/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/HierarchyBelongsTo.htm). Tutti e tre i prefissi possono essere utilizzati come elementi costitutivi in efficaci soluzioni front-end per l'attraversamento dei dati relazionali.

Sintassi:

Semantic( loadstatement | selectstatement)

Un carico semantico prevede un input largo esattamente tre o quattro campi con una definizione rigorosa di ciò che rappresenta ciascun campo ordinato, come mostrato nella tabella seguente:

Campi di carico semantico

| Nome campo | Descrizione del campo |
| --- | --- |
| 1° campo: | questo tag è una rappresentazione del primo di due oggetti tra i quali esiste una relazione. |
| 2° campo: | questo tag verrà utilizzato per descrivere la relazione "forward" tra il primo e il secondo oggetto. Se il primo è un oggetto figlio e il secondo è un oggetto padre, è possibile creare una scheda di relazione che indichi "padre" o "padre di", per fare in modo di seguire dall'oggetto figlio all'oggetto padre. |
| 3° campo: | questo tag è una rappresentazione del primo di due oggetti tra i quali esiste una relazione. |
| 4° campo: | questo campo è facoltativo. Questo tag descrive le relazioni "forward" o "inverse" tra il primo e il secondo oggetto. Se il primo è un oggetto figlio e il secondo è un oggetto padre, una scheda di relazione può indicare "figlio" o "figlio di", per fare in modo di seguire dall'oggetto padre all'oggetto figlio. Se non si aggiunge un quarto campo, il secondo tag di campo verrà utilizzato per descrivere la relazione in entrambe le direzioni. In tal caso, viene aggiunto automaticamente un simbolo di freccia come parte del tag. |

Il codice seguente è un esempio del prefisso `semantic`.

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

Nota informaticaÈ consentito ed è una pratica comune etichettare il terzo campo come il primo campo. Questo crea una ricerca autoreferenziale, in modo che si possa seguire gli oggetti verso gli oggetti correlati una fase alla volta. Se il 3° campo non ha lo stesso nome, il risultato finale sarà una semplice ricerca da uno o più oggetti ai suoi vicini relazionali diretti, con un output di scarsa utilità pratica.

## Impostazioni locali

Se non diversamente specificato, gli esempi di questo argomento utilizzano il seguente formato di data: MM/GG/AAAA. Il formato della data viene specificato nell'istruzione `SET DateFormat` nello script di caricamento dei dati. La formattazione predefinita della data potrebbe essere diversa nel proprio sistema, a causa delle impostazioni regionali e di altri fattori. È possibile modificare i formati degli esempi seguenti in base alle proprie esigenze. In alternativa, è possibile modificare i formati nel proprio script di caricamento per adattarli a questi esempi.

Le impostazioni regionali predefinite delle app si basano sulle impostazioni regionali del sistema del computer o del server in cui risulta installato Qlik Sense. Se il server Qlik Sense a cui si accede è impostato in Svezia, l'editor caricamento dati utilizzerà le impostazioni regionali svedesi per date, ora e valuta. Queste impostazioni di formato regionale non riguardano la lingua visualizzata nell'interfaccia utente Qlik Sense. Qlik Sense verrà visualizzato nella stessa lingua del browser utilizzato.

Funzioni correlate

| Funzioni | Interazione |
| --- | --- |
| [Hierarchy](https://help.qlik.com/it-IT/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/Hierarchy.htm) | Il prefisso di caricamento Hierarchy viene utilizzato per dividere e organizzare i nodi in strutture di dati padre-figlio e altre strutture di dati simili a grafici e trasformarli in tabelle. |
| [HierarchyBelongsTo](https://help.qlik.com/it-IT/sense/November2024/Subsystems/Hub/Content/Sense_Hub/Scripting/ScriptPrefixes/HierarchyBelongsTo.htm) | Il prefisso di caricamento HierarchyBelongsTo viene utilizzato per individuare e organizzare i dati predecessori dei dati padre-figlio e altre strutture di dati simili a grafici e trasformarli in tabelle. |

## Esempio: creazione di un campo speciale per collegare le relazioni utilizzando il prefisso semantico

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

#### Script di caricamento e risultati

Panoramica

Aprire l'editor caricamento dati e aggiungere lo script di caricamento sotto in una nuova scheda.

Lo script di caricamento contiene:

* Un set di dati che rappresenta i record della relazione geografica, che viene caricato in una tabella denominata `GeographyTree`.

  * Ogni voce ha un ID all'inizio della riga e un ParentID alla fine della riga.

* Il prefisso `semantic` aggiungerà un campo di comportamento speciale con l'etichetta `Relation`.

Script di caricamento

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

Risultati

Caricare i dati e aprire un foglio. Creare una nuova tabella e aggiungere tali campi come dimensioni.

* `Id`
* `Geography`

Quindi, creare una casella di filtro con `Relation` come dimensione. Fare clic su Termina modifica.

Tabella dei risultati

| Id | Geografia |
| --- | --- |
| 1 | Mondo |
| 2 | Europa |
| 3 | Asia |
| 4 | Nord America |
| 5 | America Latina |
| 6 | GB |
| 7 | Germany |
| 8 | Svezia |
| 9 | Corea del Sud |
| 10 | Corea del Nord |
| 11 | Cina |
| 12 | Londra |
| 13 | Birmingham |

Casella di filtro

| Relazione |
| --- |
| Figlio |
| Padre |

Fare clic su Europa dalla dimensione `Geography` nella tabella e fare clic su Figlio dalla dimensione `Relation` nella casella di filtro. Notare il risultato atteso nella tabella:

Tabella dei risultati che mostra i risultati "figli" dell'Europa

| Id | Geografia |
| --- | --- |
| 6 | GB |
| 7 | Germany |
| 8 | Svezia |

Facendo nuovamente clic su Figlio , verranno mostrati i luoghi "figlio" del Regno Unito, un gradino più in basso.

Tabella dei risultati che mostra i risultati "figli" del Regno Unito

| Id | Geografia |
| --- | --- |
| 12 | Londra |
| 13 | Birmingham |