Hai definito alcune misure in una visualizzazione, ma quando la unisci a un'altra visualizzazione non le vedi più in un'esplorazione. Dove sono finite le misure?
Possibili cause e soluzioni
Le possibili cause sottostanti possono dipendere dal fatto che tu abbia attivato gli aggregati simmetrici. Gli aggregati simmetrici vengono attivati automaticamente, a meno che lo sviluppatore non li abbia disattivati con l'impostazione LookML symmetric_aggregates: no
o se il dialetto del database non supporta gli aggregati simmetrici.
Quando sono abilitati gli aggregati simmetrici
Gli aggregati simmetrici consentono di applicare le misure di tutti i tipi ai join. Tuttavia, questo è possibile solo se esistono chiavi primarie definite nelle visualizzazioni su entrambi i lati di un join. Per consentire il trasferimento delle misure nelle unioni, devi definire una chiave primaria in tutte le visualizzazioni interessate.
Puoi definire una chiave primaria in ogni visualizzazione aggiungendo primary_key: yes
alla definizione del
campo della chiave primaria, come segue:
dimension: id { type: number primary_key: yes }
Per eseguire le unioni, le chiavi principali devono avere valori completamente univoci diversi da NULL
per i tipi di misura sum
e average
. Se la chiave principale non è univoca,
potresti ricevere un messaggio di errore simile al seguente:
Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum.
Inoltre, se nella vista non è presente un singolo campo univoco,
puoi creare una chiave primaria composta concatenando
due o più campi in SQL per creare una combinazione univoca di valori. Scopri di più su come risolvere questo errore nella sezione relativa alle chiavi principali non univoche della pagina Error: Non-Unique value/primary key (or sql_distinct_key), value overflow or collision when computing sum
Best practice.
Quando gli aggregati simmetrici non sono abilitati
Alcuni dialetti non supportano gli aggregati simmetrici o lo sviluppatore di Looker ha disattivato gli aggregati simmetrici con l'impostazione LookML symmetric_aggregates: no
. Quando non è possibile utilizzare gli aggregati simmetrici, per impostazione predefinita Looker trasmette solo le misure di tipo count
(che diventano misure di conteggio distinte) tramite un join. Questo approccio richiede anche una chiave primaria, perché la funzione count distinct utilizzerà la chiave primaria. In questo modo si evitano risultati imprecisi e fanout. Dai un'occhiata al post della scheda Community sulle funzioni aggregate non valide.
Nella release più recente di Looker è presente un elenco che mostra quali dialetti supportano gli aggregati simmetrici.
Soluzioni aggiuntive da prendere in considerazione
-
L'utilizzo di
fields
(per le unioni) a livello di unione.fields
consente di specificare quali campi (misure, dimensioni) di una visualizzazione unita devono essere visualizzati in un'esplorazione. -
Scegli il
parametro
relationship
corretto. Il parametrorelationship
indica a Looker se applicare le aggregazioni simmetriche quando la congiunzione viene utilizzata in una query SQL. È importante definire correttamente il tipo di relazione per consentire a Looker di calcolare valori di misura accurati.