tabla_derivada

Uso

vista: my_view {
derived_table: { ... }
}
Jerarquía
derived_table
Valor predeterminado
Ninguna

Definición

Una tabla derivada se puede tratar como si fuera una tabla normal en la base de datos. Puedes crear cualquiera de los siguientes tipos de tablas derivadas:

Algunos casos extremos no permiten el uso del parámetro sql. En esos casos, Looker admite los siguientes parámetros para definir una consulta de SQL de PDT:

  • create_process
  • sql_create
  • Con los parámetros sql, create_process o sql_create, en todos estos casos se define la tabla derivada con una consulta de SQL, por lo que todas se consideran tablas derivadas basadas en SQL.

    El parámetro derived_table comienza una sección de LookML en la que se define cómo se debe calcular una tabla derivada, qué índices o claves debe usar y cuándo se debe volver a generar.

    Las tablas derivadas pueden ser tablas temporales derivadas que se calculan ad hoc a medida que los usuarios solicitan datos de ellas, o pueden ser tablas persistentes derivadas (PDT) que persisten en la base de datos mediante una estrategia de persistencia.

    Si su administrador habilitó la función Labs de PDT incremental y si su dialecto los admite, puede utilizar PDT incrementales en su proyecto. Un PDT incremental es un PDT que se compila de manera incremental mediante la adición de datos nuevos a la tabla, en lugar de volver a compilarla por completo. Consulte la página de documentación de PDT incrementales para obtener más información sobre los PDT incrementales.

    Consulta la página de documentación Tablas derivadas en Looker para obtener más información sobre las tablas derivadas.

    Ejemplos

    Crea una tabla derivada nativa customer_order_facts con el parámetro 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 tabla derivada customer_order_facts con el parámetro 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 ;;
      }
    }
    

    Aspectos para tener en cuenta

    Evitar el uso excesivo de tablas derivadas para crear soluciones puras de SQL

    Los usuarios que son expertos en SQL a menudo utilizan tablas derivadas para resolver problemas con consultas complejas de SQL, cuyos resultados pueden exponerse a los usuarios. Si bien a veces puede ser necesario hacerlo, también puede perderse la naturaleza modular y reutilizable de LookML y puede bloquear a los usuarios de formas rígidas para explorar sus datos.

    Nuestra sugerencia general es que piense en el propósito subyacente de su consulta en SQL y luego convierta esa lógica en LookML, en vez de copiar y pegar consultas existentes en una tabla derivada. Si necesitas ayuda para crear análisis que no se basen en tablas derivadas, los analistas de asistencia de Looker están aquí para ayudarte con las prácticas recomendadas.

    Dialectos de bases de datos compatibles para tablas derivadas

    Dialectos de bases de datos admitidos para tablas temporales derivadas

    Para que Looker admita tablas derivadas en tu proyecto de Looker, tu dialecto de base de datos también debe admitirlas. En la siguiente tabla, se muestra qué dialectos admiten tablas derivadas en la versión más reciente de Looker:

    Dialectos de bases de datos admitidos para tablas derivadas persistentes

    Para que Looker admita los PDT en tu proyecto de Looker, el dialecto de tu base de datos también debe admitirlos.

    Para admitir cualquier tipo de tablas derivadas persistentes (basadas en LookML o SQL), el dialecto debe admitir escrituras en la base de datos, entre otros requisitos. Existen algunas configuraciones de bases de datos de solo lectura que no permiten la persistencia de la persistencia (por lo general, las bases de datos de réplica de intercambio en caliente de Postgres). En estos casos, puedes usar tablas derivadas temporales.

    En la siguiente tabla, se muestran los dialectos que admiten tablas derivadas basadas en SQL persistentes en la versión más reciente de Looker:

    Para admitir tablas nativas derivadas persistentes (que tienen consultas basadas en LookML), el dialecto también debe admitir una función DDL CREATE TABLE. En esta lista de los dialectos que admiten tablas nativas derivadas (basadas en LookML) en la versión más reciente de Looker:

    Los PDT no son compatibles con conexiones de Snowflake que usan OAuth.

    Dialectos de bases de datos admitidos para PDT incremental

    Para que Looker admita PDT incrementales en su proyecto de Looker, el dialecto de su base de datos debe admitir comandos del lenguaje de definición de datos (DDL) que habiliten la inserción y eliminación de filas.

    En la siguiente tabla, se muestra qué dialectos admiten PDT incrementales en la versión más reciente de Looker: