Le esplorazioni in Looker sono progettate dagli sviluppatori di Looker per combinare i dati delle tabelle del database nel modo più efficace utilizzando relazioni definite tra campi di dati e tabelle. Per questo motivo, in genere è consigliabile utilizzare un'unica esplorazione per esaminare i dati.
Tuttavia, potrebbe capitare che gli sviluppatori di Looker non abbiano creato le relazioni di cui hai bisogno o che abbiano riscontrato limitazioni tecniche. In questi casi, la pagina Unisci dati ti consente di unire (o combinare) i risultati di due o più query di diverse esplorazioni (anche di modelli o progetti diversi) e di visualizzare i risultati delle query come se fossero un'unica query. Puoi utilizzare le query con join per creare tabelle di dati su cui esplorare e creare visualizzazioni e come proof of concept per sviluppare e definire ulteriormente i tuoi progetti e modelli LookML.
Informazioni sui risultati uniti
Quando unisci o combini le query, inizi creando una singola query da una singola esplorazione, quindi combini altre query con la prima.
Per impostazione predefinita, la prima query è considerata la query principale. La query primaria è importante perché, quando Looker abbina i dati per creare i risultati uniti, abbina ogni query aggiunta alla query primaria (non a un'altra query aggiunta). Ogni volta che aggiungi una query, devi includere una dimensione che possa essere abbinata a una dimensione nella query primaria.
Ad esempio, considera le seguenti query.
La query primaria restituisce i seguenti risultati:
| Categoria di prodotti | Numero di prodotti |
|---|---|
| Attivo | 5 |
| Jeans | 9 |
| Abbigliamento formale | 3 |
La query secondaria restituisce i seguenti risultati:
| Categoria di prodotti | Numero di articoli nell'inventario |
|---|---|
| Attivo | 11 |
| Jeans | 16 |
| Abbigliamento formale | 6 |
Se unisci queste query nel campo Categoria di prodotto, Looker produce i seguenti risultati uniti:
| Categoria di prodotti | Numero di prodotti | Numero di articoli nell'inventario |
|---|---|---|
| Attivo | 5 | 11 |
| Jeans | 9 | 16 |
| Abbigliamento formale | 3 | 6 |
I risultati uniti non eseguono un join SQL effettivo (a meno che non utilizzi query di unione nel database). Tuttavia, per chi ha familiarità con i join SQL, l'unione delle query combina i risultati di più esplorazioni in modo simile a un left join. I risultati della query aggiunta vengono combinati con i risultati della query primaria come se fossero uniti a sinistra nella query primaria.
Non è necessario avere familiarità con il concetto di left join per capire come funzionano i risultati uniti. In termini pratici, la designazione della query primaria è importante per i seguenti motivi:
- Come vengono visualizzati i nomi dei campi: per i campi corrispondenti, nei risultati uniti vengono utilizzati i nomi dei campi della query primaria, come mostrato nell'esempio precedente.
Come vengono gestiti i risultati uniti di una query senza un valore corrispondente: la sezione successiva, Cosa succede se una query non ha un valore di dati corrispondente?, spiega come Looker gestisce l'unione dei dati quando solo alcune query hanno valori specifici nelle dimensioni corrispondenti.
Per ulteriori suggerimenti sulla risoluzione dei problemi relativi ai valori dei risultati uniti mancanti o nulli, consulta Perché ci sono valori nulli nella query dei risultati di join secondario? Best practice.
In che modo i risultati uniti gestiscono una query con più valori corrispondenti: la sezione Cosa succede se una query ha più righe per lo stesso valore? più avanti in questa pagina spiega come Looker gestisce l'unione dei dati quando alcune query hanno più righe con un valore specifico (o una combinazione di valori) nelle dimensioni corrispondenti.
Cosa succede se una query non ha un valore dei dati corrispondente?
Un altro motivo per cui la query primaria è importante è il modo in cui i valori null vengono gestiti nelle dimensioni corrispondenti:
- Se una riga esiste nella query principale, ma non nella query aggiuntiva, i campi della query aggiunta mostrano NULL (
∅) per quella riga. - Se una riga esiste nella query aggiunta, ma non nella query primaria, non viene visualizzata nei risultati.
Per illustrare questo comportamento, considera le seguenti query di esempio.
La query primaria restituisce i seguenti risultati:
| Categoria di prodotti | Reparto prodotti | Numero di prodotti |
|---|---|---|
| Attivo | Kids | 522 |
| Attivo | Adulti | 545 |
| Vestiti | Adulti | 878 |
| Abbigliamento formale | Adulti | 349 |
La query secondaria restituisce i seguenti risultati:
| Categoria di prodotti | Nome del brand dei prodotti | Numero di articoli nell'inventario |
|---|---|---|
| Attivo | Brand 1 | 223 |
| Vestiti | Brand 2 | 80 |
| Vestiti | Brand 3 | 3 |
| Jeans | Brand 3 | 8 |
| Jeans | Brand 2 | 19 |
Se unisci queste query nel campo Categoria di prodotto, Looker produce i seguenti risultati uniti:
| Categoria di prodotti | Reparto prodotti | Nome del brand dei prodotti | Numero di prodotti | Numero di articoli nell'inventario |
|---|---|---|---|---|
| Attivo | Adulti | Brand 1 | 545 | 223 |
| Attivo | Kids | Brand 1 | 522 | 223 |
| Vestiti | Adulti | Brand 2 | 878 | 80 |
| Vestiti | Adulti | Brand 3 | 878 | 3 |
| Abbigliamento formale | Adulti | ∅ | 349 | ∅ |
La query principale contiene una riga per Abbigliamento formale, quindi i risultati uniti mostrano questa riga. La query aggiunta non ha una riga Formalwear, quindi tutti i campi della query aggiunta mostrano NULL (∅) per Formalwear.
La query aggiunta ha due righe per Jeans, ma la query primaria non ha righe per Jeans. Di conseguenza, queste righe non vengono mostrate affatto nei risultati uniti.
In questo esempio, se cambi la query primaria per rendere la query aggiunta la nuova query primaria, Looker produce invece i seguenti risultati uniti:
| Categoria di prodotti | Nome del brand dei prodotti | Reparto prodotti | Numero di articoli nell'inventario | Numero di prodotti |
|---|---|---|---|---|
| Attivo | Brand 1 | Adulti | 223 | 545 |
| Attivo | Brand 1 | Kids | 223 | 522 |
| Vestiti | Brand 2 | Adulti | 80 | 878 |
| Vestiti | Brand 3 | Adulti | 3 | 878 |
| Jeans | Brand 2 | ∅ | 19 | ∅ |
| Jeans | Brand 3 | ∅ | 8 | ∅ |
Looker non visualizza più le righe Formalwear perché non esistono nella nuova query primaria. Tuttavia, Looker ora visualizza le righe Jeans, che mostrano NULL (∅) per le dimensioni e le misure che si trovano solo nella query aggiunta alla query primaria.
Per ulteriori suggerimenti sulla risoluzione dei problemi relativi ai valori dei risultati uniti mancanti o nulli, consulta Perché ci sono valori nulli nella query dei risultati del join secondario? Best practice.
Cosa succede se una query ha più righe per lo stesso valore?
La designazione della query primaria è importante anche per il modo in cui vengono gestite più righe con valori corrispondenti. Se la query aggiunta ha due o più righe con valori che corrispondono a una riga della query primaria, la riga della query primaria viene duplicata quel numero di volte.
Nell'esempio seguente, la query added ha due righe per Dresses. Nei risultati uniti, i valori Abiti della query primaria vengono visualizzati due volte, una per ogni riga Abiti della query aggiunta.
La query primaria restituisce i seguenti risultati:
| Categoria di prodotti | Reparto prodotti | Numero di prodotti |
|---|---|---|
| Attivo | Kids | 522 |
| Attivo | Adulti | 545 |
| Vestiti | Adulti | 878 |
| Abbigliamento formale | Adulti | 349 |
La query secondaria restituisce i seguenti risultati:
| Categoria di prodotti | Nome del brand dei prodotti | Numero di articoli nell'inventario |
|---|---|---|
| Attivo | Brand 1 | 223 |
| Vestiti | Brand 2 | 80 |
| Vestiti | Brand 3 | 3 |
| Jeans | Brand 3 | 8 |
| Jeans | Brand 2 | 19 |
La query dei risultati uniti, che esegue l'unione in base al campo Categoria di prodotto, restituisce i seguenti risultati:
| Categoria di prodotti | Reparto prodotti | Nome del brand dei prodotti | Numero di prodotti | Numero di articoli nell'inventario |
|---|---|---|---|---|
| Attivo | Adulti | Brand 1 | 545 | 223 |
| Attivo | Kids | Brand 1 | 522 | 223 |
| Vestiti | Adulti | Brand 2 | 878 | 80 |
| Vestiti | Adulti | Brand 3 | 878 | 3 |
| Abbigliamento formale | Adulti | ∅ | 349 | ∅ |
Se in questo caso cambi la query primaria, avrai comunque due righe Abiti, perché la query primaria appena designata ha due righe per Abiti. Quando unisci le query, i risultati potrebbero avere più righe rispetto alla query primaria, ma non ne avranno mai meno.
Query di unione nel database
Per impostazione predefinita, le query unite vengono elaborate nella memoria di Looker, pertanto ogni query è limitata a 5000 righe che possono essere unite. Se l'amministratore di Looker ha attivato la funzionalità di Looker Labs In-database merge queries, il join tra due query che si trovano sulla stessa connessione BigQuery viene eseguito nel database BigQuery stesso. L'esecuzione del join nel database migliora le prestazioni e consente di unire un numero illimitato di righe.
Inoltre, quando crei ciascuna delle query di esplorazione per un risultato unito, l'interfaccia utente di Looker contiene un campo Limite di righe. Looker utilizza il campo Limite di righe in modi diversi, a seconda di come viene elaborata la query dei risultati uniti:
- Per una query unita calcolata nella memoria di Looker, Looker recupera il numero di righe specificate nel campo Limite di righe per ogni query e unisce i dati per creare il risultato unito.
- Per una query unita nel database, Looker ignora i valori Limite di righe per ciascuna delle query di origine e unisce i set di dati completi per ogni query di origine.
Se Looker è in grado di eseguire un join nel database per la query unita, viene visualizzato un banner che indica che le query vengono eseguite nel database e che Looker omette i limiti di riga da ciascuna delle query di origine.
Poi, nella tabella dei risultati di una query unita nel database, Looker visualizza un campo Risultati uniti anziché un campo Limite di righe. Il campo Risultati uniti limita le righe visualizzate nella tabella dei risultati, non quelle elaborate, perché le query dei risultati uniti nel database non hanno limiti per il numero di righe che possono essere elaborate.
Query di unione
Per unire i risultati di più query, segui questi passaggi:
- Crea la prima query di origine, chiamata query primaria.
- Aggiungi la query di origine successiva.
- Facoltativamente, configura le regole di join per la query unita.
- (Facoltativo) Visualizza la query unita.
- Dopo aver creato la query unita, salvala o condividila.
- Facoltativamente, modifica la query unita.
Creazione della query principale
Per unire i risultati di più query, inizia preparando la query principale selezionando un'esplorazione dal menu Esplora e poi selezionando le dimensioni e le misure di interesse dal selettore campi. Non eseguire il pivot di nessuna dimensione durante questo passaggio. In alternativa, seleziona un Look o una dashboard e fai clic su Esplora da qui nel Look o in un riquadro della dashboard.
Ora puoi iniziare a unire i risultati. Tuttavia, puoi anche perfezionare ulteriormente la query nei seguenti modi facoltativi:
- Aggiungi filtri per i dati.
- Includi calcoli tabulari per creare metriche ad hoc. I calcoli tabulari delle query di origine vengono visualizzati come dimensioni standard nei risultati uniti.
- Fai clic su Esegui per visualizzare i risultati della query principale e per testare i filtri e i calcoli tabulari.
Aggiunta della query di origine successiva
Una volta creata la query di esplorazione principale, aggiungi un'altra query di origine seguendo questi passaggi:
- Nel riquadro Configura di Esplora, fai clic su Unisci query (unisci dati) per aprire la pagina Unisci dati.
Nella finestra Aggiungi join, scegli il metodo che utilizzerai per aggiungere un'altra query di origine:
- Crea una nuova query da un'esplorazione: Looker visualizza un elenco di esplorazioni. Scegli l'esplorazione che vuoi utilizzare come query di origine e fai clic su Aggiungi query. Looker visualizza la pagina Configura campi uniti. Seleziona le dimensioni e le misure per la nuova query e aggiungi eventuali filtri o campi personalizzati. Non eseguire il pivot di nessuna dimensione nella query di origine, ma esegui il pivot delle dimensioni nei risultati uniti. Assicurati di includere almeno una dimensione i cui valori corrispondano esattamente a una dimensione nella query principale. Al termine della configurazione della nuova query di origine, fai clic su Salva e continua.
- Incolla l'URL della query predefinita: nel campo Aggiungi URL query predefinita, inserisci l'URL della query, del Look o del riquadro della dashboard che vuoi utilizzare come query di origine e fai clic su Aggiungi query.
- Seleziona Look: Looker visualizza un elenco di Look. Scegli il Look che vuoi utilizzare come query di origine e fai clic su Aggiungi query.
- Seleziona riquadro della dashboard: Looker visualizza un elenco di dashboard. Scegli una dashboard e Looker mostrerà un elenco di riquadri al suo interno. Seleziona un riquadro e fai clic su Aggiungi query.
Configurazione delle regole di join
Per unire due o più query, Looker trova nelle query le dimensioni i cui valori possono essere abbinati. Ogni query aggiunta deve avere almeno una dimensione comune i cui valori possono essere abbinati esattamente a una dimensione nella query primaria. Ad esempio, se vuoi aggiungere i dati dei clienti a un'esplorazione degli ordini ed entrambi hanno un campo ID cliente con valori corrispondenti, puoi utilizzare il campo ID cliente per unire le query. Tuttavia, se entrambe le query hanno una dimensione Data,
ma una query utilizza "2017-10-01" come valore e l'altra utilizza "October 2017"
come valore, Looker non può utilizzare questa dimensione per unire le query.
Dopo aver selezionato e configurato le query di origine principale e aggiuntiva, Looker seleziona automaticamente i campi di join con la corrispondenza migliore e crea regole di join nella finestra Configura i join della pagina Unisci i dati. La query principale e ogni regola di join vengono visualizzate come voci separate in Query di origine e regole di join.
Nella sezione Query di origine e regole di join, puoi modificare le regole di join nei seguenti modi:
- Modifica il campo di unione della query primaria o di una query di origine.
- Aggiungi nuovi campi di unione.
- Elimina i campi di unione.
- Impostare una query di origine come query principale. Quando cambi la query primaria, è probabile che i risultati uniti cambino. Consulta la sezione Informazioni sui risultati uniti per comprendere il ruolo della query primaria.
- Aggiungi una nuova query di origine facendo clic su Aggiungi join.
Configurazione dello stile del grafico
Per visualizzare le query unite, fai clic su Seleziona grafico per scegliere un tipo di visualizzazione. In alternativa, utilizza l'opzione Visualizzazione automatica per consentire a Gemini di selezionare una visualizzazione appropriata. Poi seleziona Stile grafico per configurare le opzioni del grafico per quel tipo di grafico.
Per una guida completa a tutte le impostazioni di visualizzazione disponibili e ai tipi di grafici supportati, consulta Configurazione e modifica delle visualizzazioni.
Salvataggio o condivisione della query unita
Dopo aver creato la query unita, puoi fare clic su Salva o condividi per eseguire le seguenti azioni:
- Salva in una nuova dashboard: Looker visualizza la finestra Salva come nuova dashboard. Assegna un titolo alla nuova dashboard e seleziona una cartella in cui salvarla.
- Salva nella dashboard esistente: Looker visualizza la finestra Aggiungi a una dashboard in questa cartella. Inserisci un titolo per il nuovo riquadro della dashboard e seleziona la dashboard in cui vuoi salvare la query.
- Copia URL: Looker mostra la finestra Condividi URL, che mostra l'URL breve e l'URL espanso della query. Puoi condividere l'URL o aggiungerlo ai preferiti nel browser per eseguire nuovamente la stessa query unita in futuro. Non puoi salvare i risultati uniti come Look.
Dopo aver aggiunto la query unita a una dashboard, puoi aggiungere o applicare filtri della dashboard al riquadro della query unita, riorganizzare il riquadro, modificare il riquadro o aggiungere nuovi riquadri alla dashboard. Non puoi scaricare i dati direttamente da un riquadro basato su risultati uniti, ma puoi scaricare la dashboard in formato PDF o come raccolta di file CSV.
Modifica della query unita
Dopo aver creato la query unita, puoi interagire con i risultati e modificare la query nei seguenti modi nella pagina Unisci dati:
- Esamina e ordina i dati, anche visualizzandoli in dettaglio. Tuttavia, se esegui il drill-down della dimensione utilizzata per unire le due esplorazioni, Looker visualizza solo i campi di drill-down dell'esplorazione principale.
- Nella finestra Configura join, seleziona Modifica query accanto alla query primaria per aprire la tabella dei dati della query e apportare modifiche utilizzando il selettore campi, ad esempio aggiungendo o rimuovendo campi, aggiungendo calcoli tabulari o modificando i filtri della query di origine (tieni presente che non puoi aggiungere un filtro direttamente ai risultati uniti). Puoi anche selezionare Opzioni accanto alla query primaria per rinominarla o eliminarla.
- Nella finestra Configura join, seleziona Modifica query accanto alla query che vuoi modificare nella regola di join. Per ogni query di origine aggiuntiva, puoi anche selezionare Opzioni e rinominare o eliminare la query (se vuoi aggiungere nuovamente la query ai risultati uniti dopo averla eliminata, puoi utilizzare il pulsante Indietro del browser) o impostare la query di origine come query principale per le query unite.
- Nella scheda Campi uniti della finestra Campi uniti e stile del grafico, esegui il pivot di uno o più campi della query unita e aggiungi i calcoli tabulari. Tieni presente che i calcoli tabulari delle query di origine vengono visualizzati come dimensioni standard nei risultati uniti.
- Nella scheda Stile grafico della finestra Campi uniti e stile del grafico, modifica le impostazioni della visualizzazione della query unita.
- Utilizza l'opzione di attivazione/disattivazione Totali per aggiungere o rimuovere i totali dalla query unita. Looker calcola i totali per ciascuna delle query dei componenti e li utilizza nei risultati uniti. Pertanto, i totali potrebbero sembrare troppo elevati, perché ciò che vedi sono i totali calcolati prima che i risultati venissero uniti. Un modo per visualizzare sempre i dati più recenti è allineare i filtri di ogni query.
- Fai clic su Cambia grafico per selezionare una visualizzazione diversa per la query unita.
Dopo aver apportato le modifiche, puoi visualizzare i risultati della query unita aggiornata facendo clic su Esegui per aggiornare.
Modifica di un riquadro della query di join in una dashboard
Per modificare un riquadro di query di join in una dashboard:
- Attiva la modalità di modifica della dashboard.
- Seleziona Modifica query unita nel riquadro.
- Looker apre la pagina Unisci dati direttamente nel canvas di modifica della dashboard.
- Apporta le modifiche alla query principale, alle query delle origini aggiuntive, alle regole di join o alla visualizzazione.
- Seleziona Salva per aggiornare le impostazioni delle query unite, quindi seleziona Salva per aggiornare il riquadro nella dashboard.
Unione di query in Look, dashboard ed esplorazioni incorporati
Puoi unire le query all'interno di Look, dashboard ed esplorazioni incorporati se disponi delle autorizzazioni appropriate:
- Per unire la query di un Look o di un riquadro della dashboard incorporati con un'altra query, apri l'esplorazione dal Look o dal riquadro della dashboard facendo clic su Esplora da qui, quindi segui i passaggi per unire le query.
- Da un'esplorazione incorporata, fai clic su Unisci query (unisci dati) nel riquadro Configura e segui i passaggi per unire le query.
Note
- Tutti i campi della query primaria vengono visualizzati nei risultati uniti, che utilizzano i nomi della query primaria per i campi. Se la query primaria e una query aggiunta utilizzano nomi diversi per una dimensione corrispondente, nei risultati viene visualizzato solo il nome della dimensione della query primaria.
La query unita potrebbe avere limiti di righe:
- Per impostazione predefinita, il join per una query con join viene elaborato nella memoria di Looker, pertanto ciascuna delle query con join è limitata a 5000 righe che possono essere unite (o fino a 50.000 righe se l'amministratore specifica un limite superiore). Se unisci una query che restituisce più righe di quelle consentite dai limiti di riga, i risultati uniti non mostreranno nessuna delle righe che superano i limiti di riga.
- Se l'amministratore di Looker ha attivato la funzionalità di Looker Labs Query di unione nel database e stai unendo i risultati di due query che si trovano sulla stessa connessione BigQuery, il join tra le due query viene eseguito nel database BigQuery stesso. Le query di unione nel database migliorano le prestazioni e possono unire un numero illimitato di righe. Per saperne di più, consulta la sezione Query di unione nel database di questa pagina.
Per le query unite che vengono elaborate nella memoria di Looker, l'unione delle query è una funzionalità di elaborazione post-query che, se non utilizzata con attenzione, può sovraccaricare le risorse dell'istanza di Looker e rallentare la risposta dell'istanza di Looker per tutti gli utenti. Se non puoi sfruttare le query di unione nel database, la best practice consiste nel definire funzioni e logica in LookML, che genera l'SQL elaborato dal tuo database. Per saperne di più sull'ottimizzazione delle prestazioni di Looker, consulta la pagina delle best practice Ottimizza le prestazioni di Looker.
Conclusione
Se possibile, utilizza i dati di un'unica esplorazione, perché gli sviluppatori di Looker hanno valutato attentamente come combinare i dati di diverse tabelle del database. Tuttavia, quando necessario, l'unione delle query è una tecnica efficace che consente di combinare i dati di più esplorazioni e database.