Risultati uniti è una funzionalità pratica per combinare i dati di esplorazioni diverse rapidamente e senza doverli sviluppare in LookML. I risultati uniti eseguono in modo efficace un join a sinistra tra la query principale e le query secondarie, il che significa che i nomi dei campi, i valori corrispondenti e la tabella dei risultati finali dipendono da come i dati delle query secondarie corrispondono a quelli della query principale.
Ciò può potenzialmente causare risultati inaspettati quando esegui le unioni tra le esplorazioni. La documentazione dei risultati uniti tratta alcune di queste condizioni,ad esempio:
- Quando una query non ha un valore di dati corrispondente
- Quando una query ha più righe per lo stesso valore
Tuttavia, cosa fai quando prevedi che un valore di una query secondaria corrisponda a un valore nella query principale, ma il risultato finale mostra valori null?
Questa pagina spiega come risolvere i problemi relativi a questo risultato imprevisto.
Caso d'uso di esempio
Il seguente caso d'uso di esempio si basa su un set di dati di e-commerce di esempio contenente informazioni su utenti e ordini. Per questo esempio, vuoi unire una query, un conteggio degli utenti per città (Conteggio utenti raggruppato per Città utente), con una query secondaria, un conteggio degli ordini (Conteggio ordini) raggruppato per Città utente e Stato utente:
Query principale
La query principale è Conteggio utenti raggruppata per Città utente:
Query secondaria
La query secondaria è Conteggio ordini raggruppata per Città utente e Stato utente:
La regola di unione è impostata per unire entrambe le query in base a Città utente, il campo in comune di entrambe le query. Se hai dimestichezza con il set di dati e con il comportamento previsto dei risultati uniti spiegato nella documentazione collegata in precedenza, sai che in ogni riga ogni città deve essere associata a uno stato e a un conteggio di utenti. Ti aspetti che i risultati uniti corrispondano a tutti i valori e non mostrino valori null.
Tuttavia, sono presenti valori null nei risultati. Più della metà delle città non è associata a uno stato o a un conteggio degli ordini:
Soluzioni
Non farti prendere dal panico. Se hai la certezza che nei dati siano presenti valori corrispondenti (prova a eseguire una query separata per confermare che è così), esistono diverse soluzioni possibili per risolvere il problema, tra cui:
- Ordina ogni query sorgente nello stesso modo.
- Aumenta il limite di righe della query di origine.
Ordina ogni query di origine nello stesso modo
Poiché i risultati uniti si basano sulle esplorazioni, che sono limitate a 500 righe per impostazione predefinita, a volte i risultati della query che stai unendo non sono inclusi nel risultato finale.
Per risolvere il problema, puoi modificare e ordinare le singole query di origine in modo che corrispondano meglio tra loro.
Nel caso d'uso di esempio, la query principale è ordinata in ordine crescente per Città utente. La query secondaria non lo è. Per una migliore corrispondenza dei risultati delle due query, puoi ordinare la query secondaria nello stesso modo della query principale, in questo caso in ordine crescente per Città utente.
Ordinando la query secondaria in modo simile alla query principale, i risultati corrispondono in modo più preciso nell'unione finale:
Aumentare il limite di righe della query di origine
Analogamente alla prima soluzione descritta in precedenza, valori null imprevisti possono essere causati dai limiti di righe impostati nelle query di origine. Nello specifico, in questo caso la query secondaria (limitata dal valore predefinito di 500 righe) non contiene righe sufficienti per corrispondere a tutte le righe generate dalla query principale, causando la visualizzazione di risultati null nell'unione finale.
Per aumentare il numero di righe nella query secondaria in modo che corrisponda a quello della query principale, puoi aumentare il limite di righe della query secondaria. Ciò comporta un maggior numero di righe possibili da associare alla query principale e un minor numero di valori null nelle colonne della query secondaria:
Riepilogo
In caso di risultati uniti imprevisti, puoi procedere nel seguente modo per risolvere il problema:
- Seleziona l'opzione Svuota cache e aggiorna dal menu a forma di ingranaggio di Esplora per assicurarti che la query restituisca i risultati più aggiornati.
- Verifica che esistano valori corrispondenti tra le query di origine in cui vengono visualizzati valori null, come indicato nella sezione Che cosa succede se una query non ha un valore di dati corrispondente? della documentazione dei risultati combinati.
- Ordina le query di origine in modo che corrispondano meglio tra loro.
- Aumenta il limite di righe delle query di origine rispetto al valore predefinito per visualizzare più righe che possono essere associate e unite.
- Se nessuna delle soluzioni discusse qui risolve il problema, codifica la logica di join in LookML per un risultato più preciso, se possibile.