tabella_derivata

Utilizzo

visualizzazione: my_view {
derived_table: { ... }
}
Gerarchia
derived_table
Valore predefinito
Nessuna

Definizione

Una tabella derivata può essere trattata come se fosse una tabella normale nel tuo database. Puoi creare uno dei seguenti tipi di tabelle derivate:

Alcuni casi limite non consentono l'uso del parametro sql. In questi casi, Looker supporta i seguenti parametri per definire una query SQL per le PDT:

  • create_process
  • sql_create
  • Con il parametro sql, create_process o sql_create, in tutti questi casi stai definendo la tabella derivata con una query SQL, quindi tutte sono considerate tabelle derivate basate su SQL.

    Il parametro derived_table inizia una sezione di LookML in cui puoi definire la modalità di calcolo di una tabella derivata, quali indici o chiavi deve utilizzare e quando deve essere rigenerata.

    Le tabelle derivate possono essere tabelle derivate temporanee, calcolate ad hoc man mano che gli utenti richiedono dati, oppure possono essere tabelle derivate persistenti (PDT) persistenti sul tuo database utilizzando una strategia di persistenza.

    Se l'amministratore ha abilitato la funzionalità PDT incrementale Labs e se il tuo linguaggio li supporta, puoi utilizzare le PDT incrementali nel tuo progetto. Una PDT incrementale è una PDT creata in modo incrementale aggiungendo dati aggiornati alla tabella, anziché ricrearla nella sua interezza. Per ulteriori informazioni sulle PDT incrementali, consulta la relativa pagina documentazione incrementale.

    Per ulteriori informazioni sulle tabelle derivate, consulta la pagina della documentazione Tabelle derivate in Looker.

    Esempi

    Crea una tabella derivata nativa customer_order_facts con il parametro explore_source:

    view: customer_order_facts {
      derived_table: {
        explore_source: order {
          column: customer_id { field: order.customer_id }
          column: lifetime_orders { field: order.count }
          column: lifetime_spend { field: order.total_spend }
        }
      }
    }
    

    Crea una tabella derivata customer_order_facts con il parametro sql:

    view: customer_order_facts {
      derived_table: {
        sql:
          SELECT
            customer_id,
            COUNT(*) AS lifetime_orders,
            SUM(total) AS lifetime_spend
          FROM
            order
          GROUP BY
            customer_id ;;
      }
    }
    

    Aspetti da considerare

    Evita di fare un uso eccessivo di tabelle derivate per creare soluzioni SQL pure

    Gli utenti esperti di SQL spesso utilizzano le tabelle derivate per risolvere i problemi con query SQL complesse, i cui risultati possono quindi essere esposti agli utenti. Talvolta può essere necessario, ma potrebbe anche lasciarsi sfuggire la natura modulare e riutilizzabile di LookML e bloccare gli utenti in modi rigidi per esplorare i propri dati.

    Il nostro suggerimento generale è pensare allo scopo sottostante della query SQL e poi convertire quella logica in LookML, piuttosto che copiare e incollare query esistenti in una tabella derivata. Se hai bisogno di assistenza per la creazione di analisi che non si basano su tabelle derivate, gli analisti del supporto di Looker sono qui per aiutarti con le best practice.

    Dialetti di database supportati per le tabelle derivate

    Dialetti di database supportati per le tabelle derivate temporanee

    Affinché Looker supporti le tabelle derivate nel tuo progetto Looker, anche il dialetto del tuo database deve supportarle. La tabella seguente mostra quali dialetti supportano le tabelle derivate nell'ultima release di Looker:

    Dialetti di database supportati per le tabelle derivate permanenti

    Affinché Looker supporti le PDT nel tuo progetto Looker, anche il dialetto del tuo database deve supportarle.

    Per supportare qualsiasi tipo di tabella derivata permanente (basata su LookML o SQL), il dialetto deve supportare le scritture nel database, oltre ad altri requisiti. Alcune configurazioni di database di sola lettura non consentono il funzionamento permanente (più comunemente database di replica hot-swap di Postgres). In questi casi, puoi utilizzare le tabelle derivate temporanee.

    La tabella seguente mostra i dialetti che supportano le tabelle derivate basate su SQL persistenti nell'ultima release di Looker:

    Per supportare le tabelle derivate native permanenti (che hanno query basate su LookML), il dialetto deve supportare anche una funzione DDL CREATE TABLE. Ecco un elenco dei dialetti che supportano le tabelle derivate native (basate su Look) nell'ultima release di Looker:

    Le PDT non sono supportate per le connessioni Snowflake che utilizzano OAuth.

    Dialetti di database supportati per le PDT incrementali

    Affinché Looker possa supportare le PDT incrementali nel progetto Looker, il dialetto del database deve supportare i comandi DDL (Data Definition Language) che consentono l'eliminazione e l'inserimento di righe.

    La tabella seguente mostra quali dialetti supportano le PDT incrementali nell'ultima release di Looker: