Vai al contenuto principale

Unione di tabelle in Gestione dati

IN QUESTA PAGINA

APPRENDIMENTO CORRELATO

Unione di tabelle in Gestione dati

Il Join è un'operazione che può essere utilizzata per combinare manualmente i dati di due tabelle, producendo risultati diversi a seconda della configurazione selezionata.

Consente un controllo più granulare sulle tabelle combinate rispetto alla concatenazione. Vedere Concatenazione di tabelle in Gestione dati per ulteriori informazioni sulla concatenazione.

L'operazione Join combina due tabelle in una sola. La tabella risultante conterrà campi da entrambe le tabelle originali in base alla sovrapposizione di un valore comune per uno o più campi comuni. Vi sono più operatori applicabili alle operazioni Join: Outer, Inner, Left e Right.

Avviso: Una tabella unita occupa la stessa quantità di memoria delle tabelle combinate al suo interno. L'uso eccessivo di tabelle unite può causare un rallentamento di Qlik Sense. Le informazioni escluse da un'operazione Join non saranno accessibili per Qlik Sense fino a quando la tabella non verrà divisa.

Operatori di Join

Sono disponibili quattro operatori di Join: Outer join, Inner join, Left join e Right join. L'operatore selezionato determina quali campi o valori sovrapposti vengono inclusi o esclusi.

Nota: Quando gli operatori di Join si riferiscono alle tabelle Left (sinistra) e Right (destra), si riferiscono rispettivamente alla prima e alla seconda tabella, in ordine di selezione.

Outer join

L'operatore Outer join contiene tutte le possibili combinazioni di valori delle due tabelle, dove i valori dei campi sovrapposti sono rappresentati in una o entrambe le tabelle. Per una spiegazione più dettagliata ed esempi, vedere l'argomento della guida di riferimento sugli script: Outer.

Example:  

First table

A

B

1

aa

2

cc

3

ee

Second table

A

C

1

xx

4

yy

Tabella unita

A

B

C

1

aa

xx

2

cc

-

3

ee

-

4

-

yy

Inner join

L'operatore Inner join contiene solo le combinazioni di valori delle due tabelle dove i valori dei campi sovrapposti sono rappresentati in entrambe le tabelle. Per una spiegazione più dettagliata ed esempi, vedere l'argomento della guida di riferimento sugli script: Inner.

Example:  

First table

A

B

1

aa

2

cc

3

ee

Second table

A

C

1

xx

4

yy

Joined table

A

B

C

1

aa

xx

Left join

L'operatore Left join contiene le combinazioni di valori delle due tabelle dove i valori dei campi sovrapposti sono rappresentati nella prima tabella. Per una spiegazione più dettagliata ed esempi, vedere l'argomento della guida di riferimento sugli script: Left.

Example:  

First table

A

B

1

aa

2

cc

3

ee

Second table

A

C

1

xx

4

yy

Joined table

A

B

C

1

aa

xx

2

cc

-

3

ee

-

Right join

L'operatore Right join contiene le combinazioni di valori delle due tabelle dove i valori dei campi sovrapposti sono rappresentati nella seconda tabella. Per una spiegazione più dettagliata ed esempi, vedere l'argomento della guida di riferimento sugli script: Right.

Example:  

First table

A

B

1

aa

2

cc

3

ee

Second table

A

C

1

xx

4

yy

Joined table

A

B

C

1

aa

xx

4

-

yy

Unione di tabelle

Per accedere al riquadro Concatena o Unisci fare clic su More in Gestione dati, quindi fare clic su Concatena o Unisci e selezionare due tabelle. Quando si selezionano tabelle in Concatena o unisci tabelle, Qlik Sense analizza i campi e mappa automaticamente tutti i campi corrispondenti. Se non vi sono corrispondenze chiare, i campi vengono lasciati non mappati. Quando viene applicato il join, i campi mappati vengono combinati nella tabella unita. I campi non mappati vengono inclusi come singoli campi con valori null per le righe dove non è presente un valore corrispondente oppure vengono completamente esclusi se non vi sono istanze sovrapposte del valore.

La prima tabella selezionata in Concatena o unisci tabelle è impostata come tabella primaria, ovvero la tabella alla quale viene unita l'altra. La tabella unita utilizza i nomi di tabella e campi della tabella primaria, a meno che non vengano rinominati manualmente. È possibile cambiare l'impostazione della tabella primaria con il pulsante Swap. Concatena o unisci tabelle dispone i campi in due righe, con i campi della tabella primaria nella riga superiore e i campi della tabella secondaria nella riga inferiore. È possibile scambiare le tabelle primaria e secondaria con il pulsante Swap.

È possibile usare Modifica mapping per modificare il mapping predefinito e selezionare i campi da mappare, lasciare non mappati o escludere dalla tabella unita. Modifica mapping contiene un'interfaccia di trascinamento per modificare i mapping e il riquadro Campi, che elenca tutti i campi delle tabelle. I campi possono essere mappati trascinandoli sotto un campo della tabella primaria. I campi possono essere aggiunti come nuovo campo non mappato mediante Drop accanto al campo nel riquadro Campi, oppure trascinandoli nella riga superiore dei campi. I campi non mappati sono contrassegnati con warning nel riquadro Campi. I campi rimossi dalla tabella unita non sono inclusi nella tabella e non sono disponibili per l'uso in Qlik Sense dopo l'applicazione dei join alla tabella.

Una volta che i mapping sono stati applicati e le tabelle sono unite, i campi mappati non possono essere modificati, ma possono essere rimossi dalle tabelle dividendo la tabella unita e ripristinando così lo stato originale delle tabelle.

Per unire tabelle in Gestione dati procedere come segue:

  1. Selezionare le tabelle da unire.
  2. Facoltativamente, rinominare la tabella unita e i campi.
  3. Facoltativamente, modificare i mapping.
  4. Selezionare l'operatore di join.
  5. Unire le tabelle.

Selezione delle tabelle per l'unione

  1. In Gestione dati fare clic su More nella riga inferiore.
  2. Fare clic su Concatena o unisci.

    Si apre il riquadro Concatena o Unisci.

  3. Selezionare due tabelle.

    I campi delle due tabelle verranno mappati o lasciati non mappati nel riquadro Concatena o unisci tabelle.

  4. Per visualizzare un'anteprima di un campione di valori univoci in ciascun campo, fare clic su View.
  5. Per scambiare le tabelle primaria e secondaria, fare clic su Swap.

Ridenominazione della tabella e dei campi

  1. Immettere un nuovo nome di tabella nel campo del nome tabella del riquadro Concatena o Unisci.
  2. Nel campo del nome di un campo immettere un nuovo nome di campo.

Modifica dei mapping

  1. Nel riquadro Concatena o Unisci fare clic su Modifica mapping.
  2. Per mappare due campi, trascinare un campo della tabella sotto un campo della tabella primaria.
  3. Per aggiungere un nuovo campo non mappato, trascinare un campo della tabella nella riga superiore dei campi.
  4. Per rimuovere un campo dalla tabella unita, fare clic su Cancel nel campo.
  5. Per ripristinare un campo rimosso nella tabella, fare clic nel riquadro Campi, quindi fare clic su Drop accanto al campo.
  6. Fare clic su Modifica mapping per chiudere Modifica mapping.

Selezione dell'operatore di join

  1. Nel riquadro Concatena o Unisci fare clic su Seleziona azione.
  2. Selezionare un operatore dall'elenco: Outer join, Inner join, Left join o Right join.

Unione di tabelle

  • Nel riquadro Concatena o Unisci, fare clic su Applica.

Le tabelle sono ora unite.

Divisione di tabelle unite

Nei casi in cui il join non è più necessario, è possibile dividere le tabelle unite ripristinando le tabelle di origine.

Nota:

La divisione di una tabella unita rimuoverà le eventuali associazioni presenti nella tabella unita, così come le eventuali associazioni tra le tabelle primaria e secondaria. Se si desidera preservare le associazioni quando si dividono tabelle unite, fare clic su Undo per annullare il join invece di dividere la tabella. Non è possibile utilizzare Undo per annullare i join dopo il caricamento di dati in Gestione dati.

Divisione di una tabella unita

Procedere come indicato di seguito:

  1. Selezionare la tabella unita.
  2. Fare clic su Split.

La tabella sarà ora divisa nelle tabelle di origine. Le tabelle di origine e tutti i loro campi avranno i nomi precedenti il join. La divisione di una tabella unita divide soltanto un livello di join, pertanto eventuali tabelle unite che facevano parte della tabella unita divisa conserveranno il join.