Come creare una dimensione da una misura in Looker

Come regola generale in SQL e, per estensione, in Looker, non puoi raggruppare una query in base ai risultati di una funzione di aggregazione (rappresentata in Looker come misure). Puoi raggruppare solo per campi non aggregati (rappresentati in Looker come dimensioni). Se provi ad aggregare una misura in Looker, viene visualizzato il seguente errore:

Measures with Looker aggregations (sum, average, min, max, list types) may not reference other measures.

Cosa succede se hai bisogno di un modo per trasformare una misura (CONTA, SOMMA, MEDIA, MASSIMO e così via) in una dimensione, in modo da poter raggruppare in base a questa dimensione per aggregarla (ad esempio una SOMMA di un CONTA o una MEDIA di una SOMMA), filtrare in base a questa dimensione (nella clausola WHERE anziché in una clausola HAVING) o eseguire un pivot in base a questa dimensione in un'esplorazione?

Utilizzare le tabelle derivate per creare una dimensione di una misura

In Looker, la soluzione è chiamata definizione delle dimensioni di una misura. Questo accade perché ridefinisci una misura come dimensione. Per farlo, crea una tabella derivata che includa la misura da dimensionalizzare nella relativa definizione SQL.

La procedura

L'esempio seguente si basa su un set di dati di e-commerce di esempio. Lo scopo di questo esempio è creare una metrica type: average basata su una metrica Entrate totali type: sum esistente.

I passaggi riportati di seguito descrivono come generare una tabella derivata basata su SQL. In alternativa a SQL, puoi scegliere di creare una tabella derivata basata su LookML, nota anche come tabella derivata nativa (NDT).
  1. Per iniziare, configura una query di esplorazione. Scegli i campi appropriati, inclusa la misura da dimensionalizzare.

    Nel caso d'uso di esempio, la tabella Dati dell'esplorazione mostra le Entrate totali raggruppate per Stato utente e ID utente:

  2. Scegli Apri in SQL Runner dalla scheda SQL della tabella Dati per aprire la query in SQL Runner:

  3. Dopo aver eseguito la query in SQL Runner (facendo clic sul pulsante Esegui) e aver confermato i risultati, scegli l'opzione Aggiungi al progetto dal menu a forma di ingranaggio di SQL Runner per aprire il popup Aggiungi al progetto. A questo punto devi rimuovere eventuali clausole di limite di righe nella tabella SQL derivata per assicurarti che tutti i risultati desiderati siano inclusi nella query.

    Puoi anche scegliere Ottieni LookML della tabella derivata dal menu per copiare e incollare manualmente il LookML generato nel progetto.
  4. Nel popup Aggiungi al progetto, seleziona un nome di progetto dall'elenco a discesa Progetto, inserisci un nome per il file della visualizzazione tabella derivata e seleziona Aggiungi.
  5. Ora che la tabella derivata si trova in un file di visualizzazione, puoi creare una misura che aggrega la misura dimensionalizzata. Ad esempio, ora puoi creare una misura type: average per la nuova dimensione Entrate totali, order_items_total_revenue:
          dimension: order_items_total_revenue {
            type:  number
            sql: ${TABLE}.order_items.total_revenue ;;
            value_format_name: usd
          }
    
          measure: average_revenue {
            type:  average
            sql:  ${order_items_total_revenue} ;;
            value_format_name: usd
          }
        
  6. Verifica che nella tabella derivata sia stata definita una chiave primaria.
  7. Unisci la nuova visualizzazione all'esplorazione originale (o crea una nuova esplorazione) per poter creare query e contenuti con i nuovi campi.

Conclusione

La dimensionalizzazione delle misure con le tabelle derivate di Looker sblocca nuove funzionalità e ti consente di ottenere ulteriori approfondimenti sui tuoi dati. Grazie alla possibilità di raggruppare per una misura dimensionalizzata, filtrarla in una clausola WHERE (anziché HAVING), eseguire un pivot in base a questa e creare altre dimensioni in base a questa, puoi passare le query ed esplorare i contenuti alla dimensione successiva.

Per ulteriori informazioni sulla creazione e sull'utilizzo delle tabelle derivate, nonché su considerazioni e suggerimenti per l'ottimizzazione del rendimento, consulta la pagina della documentazione Tabelle derivate.