Perché le mie misure non vengono visualizzate tramite un join?

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 parametro relationship 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.