Creare un join dei dati

I dati analizzati in Tableau sono spesso costituiti da una raccolta di tabelle correlate a campi specifici (ovvero colonne). La creazione di join è un metodo per combinare i dati in base a questi campi comuni. Il risultato della combinazione di dati utilizzando un join è una tabella virtuale che in genere viene estesa orizzontalmente aggiungendo colonne di dati.

Note:

  • Devi aprire una tabella logica nel canvas delle relazioni (livello logico) per poter visualizzare o modificare i join. Il canvas delle relazioni è ciò che viene visualizzato quando apri per la prima volta o crei un'origine dati. Per maggiori informazioni, consulta Correlare i dati.
  • Quando crei un join di tabelle, i campi per cui viene creato il join devono avere lo stesso tipo di dati. Se modifichi il tipo di dati dopo aver creato un join di tabelle, il join si interromperà.
  • Le origini dati pubblicate non possono essere utilizzate nei join.

Ad esempio, supponiamo che tu stia analizzando i dati per un publisher. Il publisher può avere due tabelle. La prima tabella contiene numeri ID, nome, cognome e tipo di publisher. La seconda tabella include numeri ID, prezzo, royalty e titolo dei libri pubblicati. Il campo correlato tra le due tabelle potrebbe essere ID.

Tabella 1

ID Nome Cognome Tipo di publisher
20034 Adam Davis Indipendente
20165 Ashley Garcia Big
20233 Susan Nguyen Piccolo/medio

Tabella 2

Titolo libro Prezzo Royalty ID
Il clima delle Alpi 19,99 5.000 20165
La mia fisica 8,99 3.500 20800
Il laccio magico 15,99 7.000 20034

Per analizzare queste due tabelle insieme, è possibile creare un join delle tabelle in base all'ID per rispondere a domande come "Quante royalty per autore sono state pagate da un determinato publisher?". Combinando le tabelle utilizzando un join, puoi visualizzare e utilizzare i dati correlati da tabelle diverse nell'analisi.

ID Nome Cognome Tipo di publisher Titolo libro Prezzo Royalty
20034 Adam Davis Indipendente Il laccio magico 15,99 7.000
20165 Ashley Garcia Big Il clima delle Alpi 19,99 5.000

Panoramica dei tipi di join

In generale, esistono quattro tipi di join che puoi utilizzare in Tableau: interno, sinistro, destro ed esterno completo. Le tabelle per cui puoi creare un join e i diversi tipi di join che puoi utilizzare dipendono dal database o dal file a cui sei connesso. Puoi specificare i tipi di join supportati dai dati controllando la finestra dei join dopo aver eseguito la connessione ai dati e con almeno due tabelle nell'area di disegno.

Se non sei certo del tipo di join da utilizzare per combinare i dati di più tabelle, è consigliabile utilizzare le relazioni.

Tipo di join Risultato Descrizione
Inner

Quando utilizzi un join interno per combinare tabelle, il risultato è una tabella che contiene valori che hanno corrispondenze in entrambe le tabelle.

 

Sinistro

Quando utilizzi un join sinistro per combinare le tabelle, il risultato è una tabella che contiene tutti i valori della tabella di sinistra e le corrispondenze della tabella di destra.

Quando un valore nella tabella di sinistra non ha una corrispondenza nella tabella di destra, viene visualizzato un valore NULL nella griglia di dati.

Destro

Quando utilizzi un join destro per combinare le tabelle, il risultato è una tabella che contiene tutti i valori della tabella di destra e le corrispondenze della tabella di sinistra.

Quando un valore nella tabella di destra non ha una corrispondenza nella tabella di sinistra, viene visualizzato un valore NULL nella griglia di dati.

Esterno completo

Quando utilizzi un join esterno completo per combinare le tabelle, il risultato è una tabella che contiene tutti i valori di entrambe le tabelle.

Quando un valore di una delle tabelle non ha una corrispondenza nell'altra tabella, viene visualizzato un valore NULL nella griglia di dati.

Unione Sebbene l'unione non sia un tipo di join, è un altro metodo per combinare due o più tabelle aggiungendo righe di dati da una tabella all'altra. In teoria, le tabelle unite hanno lo stesso numero di campi e questi campi hanno nomi e tipi di dati corrispondenti. Per maggiori informazioni sull'unione, consulta Unire i dati.

Combinare tabelle dallo stesso database

Se le tabelle da analizzare provengono dallo stesso database o dalla cartella di lavoro (per Excel) o dalla directory (per testo), utilizzare la procedura seguente per combinare le tabelle. La combinazione di tabelle dello stesso database richiede solo una singola connessione nell'origine dati. In genere, la creazione di join di tabelle dello stesso database offre prestazioni migliori. Ciò è dovuto al fatto che l'esecuzione di query sui dati archiviati nello stesso database richiede meno tempo e utilizza le funzionalità native del database per eseguire il join.

Nota: in base al livello di dettaglio delle tabelle che desideri combinare, puoi valutare la combinazione dei dati. Per maggiori informazioni, consulta Combinare i dati.

Per creare un join di tabelle

  1. In Tableau Desktop: nella pagina iniziale, in Connetti, fai clic su un connettore per eseguire la connessione ai dati. Questo passaggio crea il primo collegamento nell'origine dati di Tableau.

    Nella progettazione sul Web: dalla pagina Home o Esplora, fai clic su Crea > Cartella di lavoro per avviare una nuova cartella di lavoro e connetterti ai tuoi dati. Questo passaggio crea il primo collegamento nell'origine dati di Tableau.

  2. Seleziona il file, il database o lo schema, quindi fai doppio clic o trascina una tabella nell'area di disegno.

    Nota: poiché la vista predefinita nella pagina Origine dati è il livello logico, la tabella diventa una tabella logica nel modello di dati per l'origine dati. Puoi solo correlare tabelle logiche, non unirle tramite join. Per maggiori informazioni sul modello di dati, le tabelle logiche e le tabelle fisiche di Tableau, consulta Correlare i dati e Modello di dati di Tableau.

    Se trascini un'altra tabella in questo canvas, verrà creata una relazione anziché un join. Devi aprire questa tabella prima di poter aggiungere un join.

    Ogni tabella logica contiene almeno una tabella fisica. Puoi creare join solo tra le tabelle fisiche.

    Nota: se la creazione è stata eseguita sul Web o hai effettuato l'accesso a Tableau Server (da Tableau Desktop) durante l'impostazione dell'origine dati, puoi accedere alle tabelle consigliate per facilitare la combinazione dei dati. Per maggiori informazioni, consulta Utilizzare le origini dati e le tabelle certificate e consigliate.

  3. Fai doppio clic su una tabella logica per aprirla. Per impostazione predefinita, verrà visualizzata una tabella fisica con lo stesso nome nel canvas di join/unione (livello fisico). Puoi rinominare la tabella fisica.

    Facendo doppio clic su una tabella logica, viene aperto il canvas di join/unione

  4. Fai doppio clic o trascina un'altra tabella nel canvas di join/unione. Fai clic sull'icona di join per aggiungere clausole di join e selezionare il tipo di join.

  5. Aggiungi una o più clausole del join selezionando un campo da una delle tabelle disponibili utilizzate nell'origine dati, un operatore di join e un campo dalla tabella aggiunta. Analizza la clausola del join per assicurarti che rifletta il modo in cui desideri collegare le tabelle.

    Ad esempio, in un'origine dati con una tabella delle informazioni sull'ordine e un'altra per le informazioni sui resi, puoi utilizzare un join interno per combinare le due tabelle in base al campo ID ordine presente in entrambe le tabelle.

    Nota: puoi eliminare una clausola del join facendo clic sulla "x" che viene visualizzata quando posizioni il puntatore del mouse sul lato destro della clausola del join.

  6. Al termine, chiudi la finestra di dialogo Join.

Dopo aver creato un join, controlla la griglia di dati per verificare che il join produca i risultati previsti. Per maggiori informazioni, consulta Esaminare i risultati del join nella griglia dati. Per risolvere i problemi del join, consulta Risolvere i problemi relativi ai join.

Continua a preparare l'origine dati per l'analisi. Puoi rinominare e reimpostare i campi, creare calcoli, pulire i dati con lo Interprete dei dati, modificare i tipi di dati dei campi e così via.

Informazioni sui valori NULL nelle chiavi di join

In generale, i join vengono eseguiti a livello di database. Se i campi utilizzati per eseguire il join delle tabelle contengono valori NULL, la maggior parte dei database restituisce i dati senza le righe che contengono i valori NULL. Tuttavia, se hai impostato l'origine dati a connessione singola per l'utilizzo di un testo Excel, o una connessione Salesforce, Tableau fornisce un'opzione aggiuntiva che consente di eseguire il join di campi che contengono valori NULL con altri campi che includono valori NULL.

Per creare un join tra valori NULL

  • Dopo aver configurato l'origine dati, nella pagina Origine Dati seleziona Dati > Crea un join tra valori NULL e valori NULL.

Ad esempio, supponi di disporre di due tabelle di dati per cui vuoi eseguire il join: Orders_June e Orders_July.

Orders_June Orders_July
ID Posizione
1 New York
2  
3 Miami
ID Posizione
1 New York
2  
3 Miami

Se crei un join tra i campi ID e Posizione, la maggior parte dei database restituisce la seguente tabella di dati:

Join (di Orders_June e Orders_July)

ID Posizione ID(Orders_July) Posizione (Orders_July)
1 New York 1 New York
3 Miami 3 Miami

Se nell'origine dati stai utilizzando una connessione di testo, Excel, o Salesforce singola, seleziona Dati > Crea un join tra valori NULL e valori NULL affinché venga restituita la tabella seguente:

Join (di Orders_June e Orders_July)

ID Posizione ID(Orders_July) Posizione (Orders_July)
1 New York 1 New York
2 NULL 2 NULL
3 Miami 3 Miami

Nota: questa opzione è disponibile per le origini dati a connessione singola che utilizzano connessioni di testo, Excel e Salesforce. Se si aggiunge una seconda connessione a un'origine dati che utilizza questa opzione, il join torna al comportamento predefinito di esclusione delle righe con valori NULL.

Combinare tabelle da database diversi

A partire dalla versione 10.0 di Tableau, se le tabelle da analizzare sono archiviate in database o cartelle di lavoro (per Excel) o directory (per testo) diversi, utilizza la procedura seguente per combinare le tabelle utilizzando un join tra database.

I join tra database richiedono l'impostazione di un'origine dati multi-connessione, ovvero la creazione di una nuova connessione a ogni database prima di creare il join delle tabelle. Quando esegui la connessione a più database, un'origine dati diventa un'origine dati multi-connessione. Le origini dati multi-connessione possono essere utili quando devi analizzare i dati per un'organizzazione che utilizza sistemi interni diversi o quando devi lavorare con i dati gestiti separatamente da gruppi interni ed esterni.

Nota: in molti casi l'utilizzo di un join tra database è il metodo principale per la combinazione dei dati. Tuttavia, in alcuni casi potrebbe essere necessario combinare i dati utilizzando la combinazione dei dati. Per maggiori informazioni, consulta Combinare i dati.

Dopo aver combinato le tabelle utilizzando un join tra database, Tableau colora le tabelle nell'area di disegno e le colonne nella griglia di dati per mostrare da che connessione provengono i dati.

Per creare un join di tabelle da database diversi

  1. In Tableau Desktop: nella Pagina iniziale, in Connetti, fai clic su un connettore per eseguire la connessione ai dati. Questo passaggio crea il primo collegamento nell'origine dati di Tableau.

    Nella progettazione sul Web: dalla pagina Home o Esplora, fai clic su Crea > Cartella di lavoro per avviare una nuova cartella di lavoro e quindi connetterti ai tuoi dati. Questo passaggio crea il primo collegamento nell'origine dati di Tableau.

  2. Seleziona il file, il database o lo schema, quindi fai doppio clic o trascina una tabella nell'area di disegno. Fai quindi doppio clic sulla tabella logica per aprire il canvas di join/unione.

  3. Nel riquadro di sinistra, in Connessioni, fai clic sul pulsante Aggiungi ( nella progettazione sul Web) per aggiungere una nuova connessione all'origine dati Tableau. Se i dati sono stati archiviati in un altro database, è necessaria una nuova connessione.

    Nota: se il connettore desiderato non è disponibile nell'elenco Connetti, i join tra database non sono supportati per la combinazione di origini da unire. Questo include le connessioni ai dati del cubo, ad esempio Microsoft Analysis Services), la maggior parte dei dati di estrazione (ad esempio, Google Analytics e OData) e le origini dati di Tableau Server. Anziché creare join di tabelle, è consigliabile utilizzare la combinazione dei dati. Per maggiori informazioni, consulta Combinare i dati.

  4. Con la nuova connessione selezionata, aggiungi un'altra tabella al canvas di join.

    Aggiungi una o più clausole del join selezionando un campo da una delle tabelle disponibili utilizzate nell'origine dati, un operatore di join e un campo dalla tabella aggiunta. Analizza la clausola del join per assicurarti che rifletta il modo in cui desideri collegare le tabelle.

    Ad esempio, in un'origine dati con una tabella delle informazioni sull'ordine e un'altra tabella per le informazioni sui resi, puoi creare un join delle due tabelle in base al campo ID ordine presente in entrambe le tabelle. Seleziona il tipo di join.

    Nota: puoi eliminare una clausola del join facendo clic sulla "x" che viene visualizzata quando posizioni il puntatore del mouse sul lato destro della clausola del join.

  5. Al termine, chiudi la finestra di dialogo Join.

    Le tabelle e le colonne sono colorate per mostrare da quale connessione provengono i dati.

Dopo aver creato un join tra database, continua a preparare l'origine dati multi-connessione per l'analisi. Puoi rinominare e reimpostare i campi, creare calcoli, pulire i dati con lo Interprete dei dati, modificare i tipi di dati dei campi e così via.

Per risolvere i problemi del join, consulta Risolvere i problemi relativi ai join.

Migliorare le prestazioni per i join tra database

Importante: questa funzionalità sposta temporaneamente i dati all'esterno di Tableau. Assicurati che il database a cui sei connesso provenga da una fonte attendibile.

A partire da Tableau Desktop e Tableau Server versione 2019.3, puoi migliorare le prestazioni durante il join di dati da una singola connessione di file e da una singola connessione al database, consentendo a Tableau di eseguire il join utilizzando il database a cui si è connessi al posto di Hyper. Quando questa opzione è abilitata, Tableau sceglie l'opzione più veloce (Hyper o il database collegato). Se Tableau utilizza il database collegato, i dati dalla connessione del file vengono spostati in tabelle temporanee nel database e il join viene eseguito lì.

Condizioni per la funzionalità

Questa opzione è disponibile solo se vengono soddisfatte le seguenti condizioni:

  • L'origine dati è costituita da una singola connessione basata su file e da una singola connessione basata su SQL.
  • La dimensione del file è inferiore a 1 MB.
  • Il file è di tipo Microsoft Excel, PDF o di testo (.csv, .txt, .tsv o .tab).
  • Il database collegato è uno dei seguenti:
    • Microsoft SQL Server
    • Oracle
    • PostgreSQL
    • Vertica
    • Teradata
  • Il tipo di join è un join interno.
  • Nella progettazione sul Web: l'opzione Consenti agli utenti di utilizzare la progettazione sul Web è attivata.

    Gli amministratori del sito possono anche configurare le opzioni disponibili per gli utenti impostando le opzioni di Join tra database nella scheda Impostazioni > Generali in Tableau Server. Per ulteriori informazioni su queste impostazioni, vedi Impostare l'accesso alla progettazione Web di un sito(Link opens in a new window) nella guida di Tableau Server.

Sostituzione delle condizioni per la funzionalità

A partire dalla versione 2020.3, in qualità di amministratore, puoi ignorare le limitazioni relative alle dimensioni dei file, al tipo di join e alla connessione a un singolo file e forzare Tableau a utilizzare la connessione al database live per eseguire il join. In questo modo, è possibile sperimentare e determinare le configurazioni ottimali per le prestazioni. Il requisito di connessione a un singolo database è comunque valido.

Per attivare questa opzione, immetti le seguenti informazioni dalla riga di comando:

  • Tableau Desktop: immetti il comando tableau.exe -DForceAlternativeFederationEngine=true.
  • Tableau Server: immetti il comando di configurazione tsm tsm configuration set -k native_api.force_alternative_federation_engine -v true

    Per maggiori informazioni sull'impostazione dei valori di configurazione in Tableau Server, consulta Opzioni di tsm configuration set(Link opens in a new window) nella Guida di Tableau Server.

Abilita l'opzione delle prestazioni per i join tra database

  1. In Tableau Desktop: nella pagina iniziale, sotto Connetti, connettiti a un tipo di file supportato o a un tipo di database supportato. Questo passaggio crea il primo collegamento nell'origine dati di Tableau.

    Nella progettazione sul Web: dalla pagina Home o Esplora, fai clic su Crea > Cartella di lavoro per avviare una nuova cartella di lavoro e quindi connetterti ai tuoi dati. Questo passaggio crea il primo collegamento nell'origine dati di Tableau.

  2. Seleziona il file o il database a cui connetterti, quindi fai doppio clic o trascina una tabella nel canvas.

  3. Nel riquadro di sinistra, in Connessioni, fai clic sul pulsante Aggiungi ( nella progettazione sul Web) per aggiungere una seconda connessione all'origine dati Tableau.

    Verrà visualizzata l'opzione Join tra database.

    Nota: se non viene visualizzata questa opzione, verifica che si stiano utilizzando solo origini dati supportate e che ne siano presenti solo due (un file e un tipo di database). In caso contrario, l'amministratore del sito potrebbe aver impostato l'opzione di configurazione Join tra database su Solo Tableau.

  4. Per modificare il modo in cui Tableau esegue l'accesso, accanto all'opzione Join tra database, fai clic su Modifica.
  5. Nella finestra di dialogo Join tra database, seleziona una delle seguenti opzioni, quindi fai clic su OK:

    • Utilizza Tableau o database esistenti. Questa opzione permette a Tableau di scegliere l'opzione più veloce per eseguire il join, sia Hyper o il database a cui sei connesso.

    • Utilizza solo Tableau Questa opzione è quella predefinita e utilizza sempre Hyper per eseguire il join.

      L'opzione Join tra database cambia dall'opzione predefinita, Utilizzo di Tableau (utilizzo di Hyper), alla nuova opzione Utilizzo del database, a seconda di ciò che si sceglie.

      Importante: se selezioni Usa Tableau o database esistenti, verrà scelta l'opzione più veloce durante l'esecuzione del join. Questo comportamento è predeterminato da un insieme di criteri, inclusi i tipi di join. Ad esempio, Tableau sceglierà sempre Hyper per i join non interni.

      Se Tableau utilizza Hyper per eseguire il join, questo processo avviene in background e non viene mostrato alcun indicatore per identificare dove è stato eseguito il join.

  6. Aggiungi una o più clausole del join selezionando un campo da una delle tabelle disponibili utilizzate nell'origine dati, un operatore di join e un campo dalla tabella aggiunta. Analizza la clausola del join per assicurarti che rifletta il modo in cui desideri collegare le tabelle.

Informazioni sull'utilizzo di origini dati multi-connessione

L'utilizzo di origini dati multi-connessione è uguale all'utilizzo di qualsiasi altra origine dati, con alcune precisazioni, illustrate in questa sezione.

Unione di dati all'interno di una connessione

Per unire i dati, devi utilizzare tabelle di testo o tabelle di Excel dalla stessa connessione. Ovvero, non puoi unificare tabelle provenienti da database diversi. In Tableau Desktop puoi unire le tabelle in cartelle di lavoro e file Excel diversi in cartelle diverse. Per maggiori informazioni, consulta Unire le tabelle usando la ricerca con carattere jolly (Tableau Desktop).

Se devi unire dati da database diversi, utilizza Tableau Prep(Link opens in a new window).

Regole di confronto

Le regole di confronto fanno riferimento alle regole di un database che determinano la modalità di confronto e ordinamento dei valori stringa. Nella maggior parte dei casi, le regole di confronto vengono gestite dal database. Tuttavia, quando lavori con join tra database, puoi creare un join di colonne con regole di confronto diverse.

Ad esempio, supponi che il join tra database utilizzi una chiave di join formata da una colonna con distinzione maiuscole/minuscole di SQL Server e da una colonna senza distinzione maiuscole/minuscole di Oracle. In casi come questo, Tableau mappa alcune regole di confronto ad altre per ridurre al minimo i valori di interpretazione.

Le regole seguenti vengono utilizzate in join tra database:

  • Se una colonna utilizza standard di confronto International Components for Unicode (ICU), Tableau utilizza le regole di confronto dell'altra colonna.

  • Se tutte le colonne utilizzano standard di confronto ICU, Tableau utilizza le regole di confronto della colonna della tabella di sinistra.

  • Se nessuna colonna utilizza standard di confronto ICU, Tableau utilizza una regola di confronto binaria. La regola di confronto binaria comporta che le impostazioni locali del database e del tipo di dati delle colonne determinino il modo in cui i valori stringa devono essere confrontati e ordinati.

Quando lavori con dati di Microsoft Excel se devi mantenere la distinzione tra maiuscole e minuscole per i dati durante la creazione di un join, ad esempio per i dati in giapponese per cui occorre distinguere i kana, puoi abilitare l'opzione Mantieni carattere (Excel) dal menu Dati.

Quando questa opzione è selezionata, Tableau mantiene il carattere maiuscolo/minuscolo dei valori dell'origine dati Excel e identifica in modo univoco i valori con diversi caratteri maiuscoli/minuscoli anziché combinarli, generando un numero diverso di righe.

Ad esempio, se disponi di un foglio di lavoro con il valore "House" e un altro foglio di lavoro con i valori "House", "house" e "houSe". Per impostazione predefinita, quando esegui il join di due tabelle, Tableau ignora le differenze relative ai caratteri maiuscoli/minuscoli nel secondo foglio di lavoro e crea il join di "House", "house" e "houSe" del secondo foglio di lavoro con "House" del primo foglio di lavoro.

Se l'opzione Mantieni carattere (Excel) è attiva, quando esegui il join delle tabelle, Tableau riconosce le differenze dei caratteri maiuscoli/minuscoli. I risultati del join mostrano meno risultati perché il join corrisponderà solo a "House" dal primo foglio di lavoro con il valore "House" del secondo foglio di lavoro e leggerà "house" e "houSe" come valori separati univoci.

Nota: questa opzione è disponibile per tutte le lingue supportate da Tableau e non dipende dalle impostazioni locali del sistema operativo. Questa opzione è disponibile solo per le origini dati di Microsoft Excel.

Calcoli e origini dati multi-connessione

In un'origine dati multi-connessione puoi utilizzare solo un sottoinsieme di calcoli.

In Tableau Desktop: puoi utilizzare un calcolo specifico se è:

  • Supportato da tutte le connessioni nell'origine dati multi-connessione

  • Supportato da Estrazione di Tableau.

In Web authoring (Tableau Online e Tableau Server): puoi utilizzare un calcolo specifico se supportato da tutte le connessioni nell'origine dati multi-connessione.

Stored procedure

Stored procedure non disponibili per le origini dati multi-connessione.

Eseguire il pivot dei dati provenienti da una connessione

Per eseguire il pivot dei dati, devi utilizzare colonne di testo o colonne di Excel della stessa connessione. Ovvero, non puoi includere colonne provenienti da database diversi in un pivot.

Eseguire l'estrazione dei file alla prima connessione (solo Tableau Desktop)

Quando esegui la connessione per estrarre file in un'origine dati multi-connessione, verifica che la connessione al file di estrazione (con estensione .tde o .hyper) sia la prima connessione. In questo modo vengono mantenute tutte le personalizzazioni che fanno parte dell'estrazione, incluse le modifiche alle proprietà predefinite, i campi calcolati, i gruppi, gli alias e così via.

Nota: se devi eseguire la connessione a più file di estrazione nell'origine dati multi-connessione, verranno mantenute solo le personalizzazioni incluse nell'estrazione nella prima connessione.

Estrazioni di origini dati multi-connessione che contengono connessioni ai dati basati su file (solo Tableau Desktop)

Se stai pubblicando un'estrazione di un'origine dati multi-connessione che contiene una connessione ai dati basati su file, ad esempio Excel, selezionando l'opzione Includi file esterni viene eseguita una copia dei dati basati su file nel server come parte dell'origine dati. In questo caso, una copia dei dati basati su file può essere scaricata e il relativo contenuto è accessibile da altri utenti. Se nei dati basati su file sono presenti informazioni sensibili che hai escluso intenzionalmente dall'estrazione, non selezionare includi file esterni quando pubblichi l'origine dati.

Per maggiori informazioni sulla pubblicazione delle origini dati, consulta Pubblicare un'origine dati.

Informazioni sulle query e sui join tra database

Per ogni connessione, Tableau invia query indipendenti ai database nel join. I risultati vengono archiviati in una tabella temporanea, nel formato di un file di estrazione.

Ad esempio, supponi di creare connessioni a due tabelle, dbo.listings e reviews$. Queste tabelle sono archiviate in due database diversi, SQL Server e Excel. Tableau esegue query sul database in ogni connessione in modo indipendente. Il database esegue la query e applica personalizzazioni, ad esempio filtri e calcoli, e Tableau archivia i risultati per ogni connessione in una tabella temporanea. In questo esempio FQ_Temp_1 è la tabella temporanea per la connessione a SQL Server e FQ_Temp_2 è la tabella temporanea per la connessione a Excel.

Tabella SQL Server

Tabella Excel

Quando esegui un join tra database, le tabelle temporanee vengono unite da Tableau Desktop. Queste tabelle temporanee sono necessarie per Tableau per l'esecuzione di join tra database.

Una volta eseguito il join delle tabelle, viene applicato il filtro "topn" per limitare il numero di valori visualizzati nella griglia di dati alle prime 1.000 righe. Questo filtro viene applicato per mantenere la velocità di risposta della griglia di dati e le prestazioni globali della pagina Origine Dati.

Tabelle unite

Esaminare i risultati del join nella griglia dati

Dopo aver creato un join nell'area di disegno, esaminare la griglia di dati per verificare che il join produca i risultati previsti. Se la griglia di dati visualizza dati che non previsti, potresti dover modificare il join.

Risultati nella griglia di dati

  • Nessun dato: se nella griglia di dati non sono visualizzati dati, potresti dover modificare il tipo di join o un campo join utilizzato nella condizione di join. Se sospetti una mancata corrispondenza tra i campi del join, utilizza un calcolo. Per maggiori informazioni, consulta Utilizzare i calcoli per risolvere le mancate corrispondenze di formato tra campi di un join.

  • Dati duplicati: se vengono visualizzati dati duplicati, puoi eseguire alcune operazioni. Considera la possibilità di modificare l'aggregazione della misura utilizzata nell'analisi, utilizza un calcolo o utilizza la combinazione dei dati. Per maggiori informazioni sulla combinazione, consulta Combinare i dati.

  • Dati mancanti: se mancano alcuni dati dalla griglia di dati, potresti dover modificare il tipo di join o un campo join utilizzato nella condizione di join. Anche in questo caso, se sospetti una mancata corrispondenza tra i campi del join, utilizza un calcolo. Per maggiori informazioni, consulta Utilizzare i calcoli per risolvere le mancate corrispondenze di formato tra campi di un join.

  • Molti valori NULL: se vengono visualizzati molti valori NULL non previsti, potresti dover modificare il tipo di join dal tipo esterno completo al tipo interno.

  • Tutti valori NULL per una tabella: se tutti i valori di una tabella sono NULL, non esistono corrispondenze tra le tabelle da unire. Se questo non è previsto, si consiglia di modificare il tipo di join.

Utilizzare i calcoli per risolvere le mancate corrispondenze di formato tra campi di un join

Quando i campi in una condizione di join non corrispondono, ovvero c'è una mancata corrispondenza tra i valori nei campi usati in una condizione di join, la griglia di dati potrebbe mostrare pochi dati o nessun dato. La mancata corrispondenza tra i campi può avvenire per diversi motivi, ma spesso è causata dalle differenze del formato dei valori stringa o dei valori della data nei campi. In molti casi è possibile risolvere le mancate corrispondenze tra i campi del join utilizzando un calcolo.

La maggior parte delle funzioni è disponibile per l'utilizzo in un calcolo per creare e sostituire un campo nella condizione di join, ad eccezione delle funzioni aggregate e delle funzioni di calcolo delle tabelle.

Nota: i calcoli di join non sono supportati per QuickBooks Online, Marketo, Oracle Eloqua, Anaplan, ServiceNow ITSM e i connettori dati Web.

Mancata corrispondenza di stringa

Uno scenario di mancata corrispondenza comune quando si utilizzano dati stringa si verifica se uno dei campi di un lato della condizione di join è equivalente a due o più campi dell'altro lato della condizione di join. In questo caso, puoi utilizzare un calcolo per combinare i due campi in modo che il relativo formato corrisponda all'altro campo della condizione di join.

Ad esempio, supponi di voler eseguire il join di due tabelle che contengono i dati seguenti:

Patrocinatore Contatto
Nome Cognome Ramo Membro dal Unità in prestito Commissioni Limite suggerito
Alan

Wang

Nord 2000 1 0 15
John Smith Nord 2000 36 3,50 15
Ashley Garcia Sud 2000 243 11,30 15
Fred Suzuki Nord 2000 52 0,90 15
Nome Numero membro Contatto di emergenza Relazione Numero di emergenza
Adam Davis 555-0324 Ellen Davis Partner 555-0884
Alan Wang 555-0356 Jean Wilson Madre 555-0327
Fred Suzuki 555-0188 Jim Suzuki Fratello 555-3188

Mario Rossi

555-0100 Laura Rodriquez Partner 555-0103
Michelle Kim 555-0199 Steven Kim Partner 555-0125

I campi comuni tra le due tabelle sono i nomi. Tuttavia, nella tabella Patrocinatore i nomi e i cognomi sono in colonne separate e nella tabella Contatto i nomi e i cognomi sono nella stessa colonna. Per eseguire il join delle tabelle in base ai nomi, è possibile utilizzare un calcolo nella parte sinistra della condizione di join per unire le colonne nome e cognome.

Il risultato è un campo calcolato sul lato sinistro della condizione di join accessibile solo dalla finestra di dialogo di join. Questo calcolo converte il campo nella tabella Patrocinatore in un formato che ora corrisponde al formato del campo nella tabella Contatto nella parte destra della condizione di join.

L'utilizzo del calcolo nel join produce la seguente tabella combinata: 

Nome Cognome Ramo Membro dal Unità in prestito Commissioni Limite suggerito Nome Numero di telefono
Alan Wang Nord 2000 1 0 15 Alan Wang 555-0356
Fred Suzuki Nord 2000 52 0,90 15 Fred Suzuki 555-0188

Mancata corrispondenza di data

Uno scenario di mancata corrispondenza comune, quando si utilizzano dati della data, si verifica quando i valori della data di un campo della condizione di join vengono acquisiti a un livello diverso di dettaglio rispetto all'altro campo della condizione di join. In questo caso, puoi utilizzare un calcolo nella condizione di join per modificare il formato del campo su un lato della condizione di join, in modo che il relativo formato corrisponda all'altro campo della condizione di join.

Ad esempio, supponi di avere le due seguenti tabelle:

Noleggio del proiettore Patrocinatore
Data Tipo di prenotazione ID del richiedente

01/01/2000

Individuale 233445589
28/01/2002 K-12 365948999
29/01/2002 Senza scopo di lucro 233448888
05/12/2002 K-12 365948999
05/05/2003 Senza scopo di lucro 334015476
12/03/2004

Senza scopo di lucro

334015476
15/03/2006 Città 211896980
08/07/2007 K-12 334015476
04/01/2008 Individuale 560495523
08/03/2009 Senza scopo di lucro 233445566
14/02/2014

Senza scopo di lucro

233445566
21/12/2015 Senza scopo di lucro 233445566
10/02/2016 Senza scopo di lucro 233445566
ID Nome Cognome Ramo Membro dal Unità in prestito Commissioni Limite suggerito
454613981 Adam Davis Ovest 2012 25 0 10
232502870 Alan

Wang

Nord 2000 1 0 15
298000916 Amanda Smith Nord 2001 54 6,4 15
233445566 Ashley Garcia Sud 2000 243 11,30 15
900005122 Brian Frank Est 2011 12 0,10 10
921491769 Elizabeth Johnson Ovest 2010 19 .5 10
233445589 Fred Suzuki Nord 2000 52 0,90 15
344556677 Mario Rossi Sud 2005 3 0,2 15
939502870 Jane Johnson Ovest 2017 0 0 10
233448978 John Smith Nord 2000 36 3,50 15

Per trovare maggiori informazioni sul nuovo comportamento del patrocinatore, la creazione di un join della tabella Patrocinatore e della tabella Noleggio del proiettore può fornire alcune informazioni su quale servizio della libreria può attirare nuovi membri. I campi comuni tra le due tabelle sono "Data" e "Membro dal". Tuttavia, i valori della data in ogni campo vengono acquisiti a livelli di dettaglio diversi. Per eseguire il join di queste tabelle in base ai rispettivi campi della data, utilizzare una combinazione di funzioni DATA in un calcolo su ogni lato della condizione di join per far corrispondere il livello di dettaglio in ogni campo.

L'utilizzo del calcolo nel join produce la seguente tabella combinata:

Data Tipo di prenotazione ID del richiedente ID Nome Cognome Ramo Membro dal Unità in prestito Commissioni Limite suggerito

01/01/2000

Individuale 233445589 232502870 Alan Wang

Nord

2000 1 0,00 15
01/01/2000 Individuale 233445589 233445589 Fred Suzuki Nord 2000 52 0,90 15
01/01/2000 Individuale 233445589 233445566 Ashley Garcia Sud 2000 243 11,30 15
01/01/2000 Individuale 233445589 233448978 John Smith Nord 2000 36 3,50 15

Per determinare se un patrocinatore ha noleggiato il proiettore nello stesso anno in cui si è iscritto, aggiungi una o più clausole al join in base all'ID.

Il risultato della condizione di join aggiuntiva mostra che solo un patrocinatore potrebbe essersi iscritto per noleggiare un proiettore.

Data Tipo di prenotazione ID del richiedente ID Nome Cognome Ramo Iscritto nel Unità in prestito Commissioni Limite suggerito
01/01/2000 Individuale 233445589 233445589 Fred Suzuki Nord 2000 52 0,90 15

Risolvere i problemi relativi ai join

Over-counting dei valori o dati duplicati

Quando esegui la connessione a più a tabelle, imposti una versione denormalizzata dei dati. In alcuni casi, Tableau gestisce le tabelle multiple come una tabella. Quando più tabelle vengono gestite come una tabella, dopo la creazione del join delle tabelle, tutte le tabelle vengono sottoposte a query. Questo può causare un over-counting dei valori.

Ad esempio, supponi di avere due tabelle. La prima tabella contiene le informazioni sui dipendenti, ad esempio l'ID dipendente e lo stipendio. La seconda tabella contiene informazioni aziendali, ad esempio i nomi dei reparti.

Tabella 1

ID dipendente Nome Stipendio
20106 Kim, Michelle 63.000
20107 Rossi, Mario 61.000
20108 Smith, John 65.000

Tabella 2

Reparto Data di noleggio ID dipendente Organizzazione
Sviluppo 16/06/2016 20289 Strategia
Supporto 28/07/2015 20107 Operazioni
Supporto 05/08/2016 20299 Operazioni
Vendite 25/08/2016 20107 Operazioni

Se crei il join di queste tabelle in base all'ID dipendente, lo stipendio di un dipendente viene contato più di una volta perché il dipendente è associato a più reparti.

ID dipendente Nome Stipendio Reparto Data di noleggio Organizzazione
20107 Rossi, Mario 61.000 Supporto 28/07/2015 Operazioni
20107 Rossi, Mario 61.000 Vendite 25/08/2016 Operazioni

Per risolvere il problema, puoi eseguire una delle operazioni seguenti:

  • Modificare l'aggregazione: a seconda dell'analisi, puoi utilizzare l'aggregazione MIN o AVG per rimuovere l'over-counting.

    Ad esempio, modifichi l'aggregazione di Stipendio da SUM a MIN o da SUM a AVG.

  • Creare un campo calcolato che rimuove i valori duplicati: puoi creare un calcolo che divida la somma del campo duplicato per il numero di istanze del campo che causa la duplicazione.

    Ad esempio, i valori Stipendio sono duplicati dal numero di istanze dell'ID dipendente di Mario Rossi. In questo caso, nella vista sostituire Stipendio con un campo calcolato che utilizza la formula seguente: SUM ([Salary])/ COUNT ([Employee ID]).

    Inoltre, puoi utilizzare un'espressione di Livello di dettaglio per eliminare i dati duplicati. Per maggiori informazioni, consulta Rimozione dei dati duplicati con calcoli LOD(Link opens in a new window) nel Knowledge Base Tableau.

  • Combinare i dati: invece di creare un join, che potrebbe duplicare i dati, puoi combinare i dati in un campo comune. Per maggiori informazioni, consulta Combinare i dati.

  • Utilizzare SQL personalizzato: Tableau supporta l'utilizzo di SQL personalizzato per la connessione a più tabelle in un'origine dati. Puoi pre-aggregare le tabelle prima di eseguire il join con una clausola GROUP BY. Questa opzione richiede alcune conoscenze della scrittura di query SQL e l'assistenza di un esperto di database, se possibile. Per maggiori informazioni su come connettersi a una query SQL personalizzata da Tableau, consulta Connettersi a una query SQL personalizzata.

Join delle tabelle interrotti e join tra database

Prima di creare un join tra le tabelle (dalla stessa origine dati o utilizzando un join tra database), verifica che i tipi di dati delle chiavi di join corrispondano. Se i tipi di dati delle chiavi di join non corrispondono, il join viene interrotto. Tale interruzione viene indicata da un punto esclamativo rosso e dal testo di errore "type mismatch between join fields" (mancata corrispondenza dei tipi di campi join). Per correggere un join interrotto, utilizza uno dei suggerimenti seguenti:

  • Puoi modificare il formato di un campo (incluso il relativo tipo di dati) nella finestra di dialogo del join per far corrispondere le chiavi di join creando un calcolo di join. Un calcolo di join supporta un sottoinsieme di calcoli che consente di modificare il formato della chiave di join in una o più tabelle da combinare. Per creare un calcolo di join, fai clic sull'icona di join tra le tabelle con un join interrotto, fai clic sul campo con il formato da modificare e quindi seleziona Crea calcolo di join. Per maggiori informazioni, consulta Utilizzare i calcoli per risolvere le mancate corrispondenze di formato tra campi di un join.

  • Per i dati di testo o basati su Excel, modifica il tipo di dati di uno dei campi di testo o di Excel nella chiave di join utilizzando il menu di tipo di dati nella griglia di dati.

  • Solo per Tableau Desktop: per la maggior parte delle connessioni, puoi utilizzare l'opzione Converti in SQL personalizzato per modificare il tipo di dati di uno dei campi della chiave di join, utilizzando una funzione come CAST (). L'opzione Converti in SQL personalizzato è disponibile solo quando l'origine dati contiene una sola connessione. In questo caso, rimuovere la seconda connessione e quindi selezionare Dati > Converti in SQL personalizzato.

Altri articoli in questa sezione

Grazie per il tuo feedback. Si è verificato un errore durante l'invio del feedback. Riprova o scrivici.