tabla_agregada

Uso

8:8 - 8 Física.
Jerarquía
aggregate_table
Valor predeterminado
Ninguna

Acepta
Un nombre para la tabla agregada, el subparámetro query para definir la tabla y el subparámetro materialization para definir la estrategia de persistencia de la tabla

Reglas especiales

Definición

El parámetro aggregate_table se usa a fin de crear tablas agregadas que minimizarán la cantidad de consultas requeridas para las tablas grandes en tu base de datos.

Looker usa la lógica de reconocimiento agregado para encontrar la tabla agregada más pequeña y eficiente disponible en su base de datos a fin de ejecutar una consulta sin perder la precisión. (Consulte la página de documentación Conocimiento total si desea obtener una descripción general y estrategias para crear tablas conjuntas).

Para tablas muy grandes en tu base de datos, puedes crear tablas de agregación más pequeñas, agrupadas por varias combinaciones de atributos. Las tablas conjuntas actúan como tablas completas o de resumen que Looker puede usar para realizar consultas, siempre que sea posible, en lugar de la tabla grande original.

Para que se pueda acceder a ellas, las tablas agregadas deben persistir en tu base de datos. La estrategia de persistencia se especifica en el parámetro materialization de la tabla agregada. Además, debido a que las tablas conjuntas son un tipo de tabla derivada persistente (PDT), las tablas agregadas tienen los mismos requisitos de conexión a la base de datos y dialectos que los PDT. Consulta la página de documentación Tablas derivadas en Looker para obtener más información.

Una vez que creó sus tablas agregadas, puede ejecutar consultas en Explorar para ver qué tablas agregadas usa Looker. A fin de obtener más información, consulta la sección Cómo determinar qué tabla agregada se usa para una consulta en la página de documentación Reconocimiento agregado.

Consulta la sección Solución de problemas en la página de documentación de Agregación de conocimiento para conocer las razones comunes por las que no se usan las tablas de agregación.

Define una tabla agregada en LookML

En lugar de crear el LookML desde cero, puede usar la herramienta Explorar o un panel para crear una tabla agregada. Para obtener más información, consulta las secciones Cómo obtener LookML de tabla agregada desde Explorar y Cómo obtener LookML de tabla agregada desde un panel en esta página.

Cada parámetro aggregate_table debe tener un nombre que sea único dentro de una explore determinada.

El parámetro aggregate_table tiene los subparámetros query y materialization.

query

El parámetro query define la consulta para la tabla agregada, incluidas las dimensiones y medidas que se usarán. El parámetro query incluye los siguientes subparámetros:

En esta sección, se hace referencia al parámetro query que forma parte de un aggregate_table.

query también se puede usar como parte de un explore, como se describe en la página de documentación del parámetro query.

Nombre del parámetro Descripción Ejemplo
dimensions Una lista separada por comas de las dimensiones de Explorar que se incluirán en su tabla conjunta. El campo dimensions usa este formato:
dimensions: [dimension1, dimension2, ...]

Cada dimensión de esta lista debe definirse como dimension en el archivo de vista para Explorar de la consulta. Si deseas incluir un campo definido como un campo filter en la consulta Explorar, puedes agregarlo a la lista filters en la consulta de la tabla agregada.
dimensions:
  [orders.created_month, orders.country]
measures Una lista separada por comas de las medidas de Explorar que se incluirán en la tabla conjunta. El campo measures usa este formato:
measures: [measure1, measure2, ...]

Para obtener información sobre los tipos de medición admitidos para aumentar el reconocimiento, consulta la sección Factores de tipo de medición en la página de documentación Reconocimiento agregado.
measures:
  [orders.count]
filters De forma opcional, agrega un filtro a una query. Los filtros se agregan a la cláusula WHERE del SQL que genera la tabla agregada.
El campo filters usa este formato:
filters: [field1: "value1", field2: "value2", ...]

Para obtener información sobre cómo los filtros pueden evitar que se use tu tabla de agregación, consulta la sección Filtrar factores en la página de documentación Conocimiento de la marca.
filters: [orders.country: "United States", orders.state: "California"]
sorts De manera opcional, especifica los campos de orden y la dirección de clasificación (ascendente o descendente) para el query.
El campo sorts usa este formato:
sorts: [field1: asc|desc, field2: asc|desc, ...]
[orders.country: asc, orders.state: desc]
timezone Configura la zona horaria del query. Si no se especifica una zona horaria, la tabla agregada no realizará ninguna conversión de zona horaria. En su lugar, se utilizará la zona horaria de la base de datos.

Para obtener información sobre cómo configurar la zona horaria a fin de que se use tu tabla agregada como fuente de consultas, consulta la sección Factores de zona horaria en la página de documentación Reconocimiento agregado.

El IDE sugiere de forma automática el valor de zona horaria cuando escribes el parámetro timezone en el IDE. El IDE también muestra la lista de valores de zona horaria admitidos en el panel de ayuda rápida.
timezone: America/Los_Angeles

materialization

El parámetro materialization especifica la estrategia de persistencia para tu tabla agregada, así como otras opciones de distribución, partición, índices y agrupamiento en clústeres que puede ser compatible con tu dialecto de SQL.

Para que se pueda acceder a ella, la tabla agregada debe persistir en tu base de datos. Una tabla agregada debe tener una de las siguientes estrategias de persistencia:

Según tu dialecto de SQL, es posible que tu tabla agregada sea compatible con otras opciones de materialization:

Por último, para crear una tabla agregada incremental, usa los siguientes subparámetros materialization:

datagroup_trigger

Usa el parámetro datagroup_trigger para activar la regeneración de la tabla agregada en función de un grupo de datos existente definido en el archivo de modelo:


explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      datagroup_trigger: order_datagroup
    }
    query: {
      ...
    }
  }
  ...
}

sql_trigger_value

Usa el parámetro sql_trigger_value para activar la regeneración de la tabla agregada en función de una instrucción de SQL que proporciones. Si el resultado de la instrucción de SQL es diferente del valor anterior, la tabla se vuelve a generar. Esta declaración sql_trigger_value activará la regeneración cuando cambie la fecha:

explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      sql_trigger_value: SELECT CURDATE() ;;
    }
    query: {
      ...
    }
  }
  ...
}

persist_for

El parámetro persist_for también es compatible con las tablas agregadas. Sin embargo, es posible que la estrategia persist_for no le ofrezca el mejor rendimiento para el reconocimiento agregado. Esto se debe a que, cuando un usuario ejecuta una consulta que se basa en una tabla persist_for, Looker compara la antigüedad de la tabla con la configuración de persist_for. Si la tabla es más antigua que la configuración persist_for, la tabla se vuelve a generar antes de que se ejecute la consulta. Si la edad es menor que la configuración de persist_for, se usa la tabla existente. Por lo tanto, a menos que un usuario ejecute una consulta en el tiempo persist_for, la tabla agregada debe volver a compilarse antes de que pueda usarse para el reconocimiento agregado.

explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      persist_for: "90 minutes"
    }
    query: {
      ...
    }
  }
  ...
}

A menos que comprendas las limitaciones y tengas un caso de uso específico para la implementación de persist_for, es mejor usar datagroup_trigger o sql_trigger_value como estrategia de persistencia para tablas agregadas.

cluster_keys

El parámetro cluster_keys te permite agregar una columna agrupada en clústeres a las tablas particionadas en BigQuery o Snowflake. El agrupamiento en clústeres ordena los datos de una partición según los valores de las columnas agrupadas y organiza las columnas agrupadas en bloques de almacenamiento de tamaño óptimo.

Para BigQuery, el agrupamiento en clústeres es compatible con tablas agregadas que también están particionadas con el parámetro partition_keys.

Consulta la página de documentación del parámetro cluster_keys para obtener más información.

distribution

El parámetro distribution te permite especificar la columna de una tabla agregada en la que se aplica una clave de distribución. distribution solo funciona con las bases de datos de Redshift y Aster. Para otros dialectos de SQL (como MySQL y Postgres), usa indexes en su lugar.

Consulta la página de documentación del parámetro distribution para obtener más información.

distribution_style

El parámetro distribution_style te permite especificar cómo se distribuye la consulta para una tabla agregada en los nodos de una base de datos de Redshift:

  • distribution_style: all indica que todas las filas se copiaron por completo en cada nodo.
  • distribution_style: even especifica la distribución uniforme, de modo que las filas se distribuyan a diferentes nodos de manera rotativa.

Para distribuir la consulta en función de valores únicos en una columna en particular (claves de distribución), puedes usar el parámetro distribution.

Consulta la página de documentación del parámetro distribution_style para obtener más información.

indexes

El parámetro indexes te permite aplicar índices a las columnas de una tabla agregada.

Consulta la página de documentación del parámetro indexes para obtener más información.

partition_keys

El parámetro partition_keys define un arreglo de columnas por el que se particionará la tabla agregada. partition_keys admite dialectos de base de datos que tienen la capacidad de particionar columnas. Cuando se ejecuta una consulta que se filtra en una columna particionada, la base de datos analizará solo las particiones que incluyan los datos filtrados, en lugar de analizar toda la tabla. partition_keys solo es compatible con los dialectos de Presto y BigQuery.

Consulta la página de documentación del parámetro partition_keys para obtener más información.

sortkeys

El parámetro sortkeys te permite especificar una o más columnas de una tabla agregada en la que se aplica una clave de orden normal.

Consulta la página de documentación del parámetro sortkeys para obtener más información.

increment_key

Puedes crear PDT incrementales en el proyecto si el dialecto los admite. Un PDT incremental es una tabla derivada persistente (PDT) que Looker compila agregando datos actualizados a la tabla, en lugar de volver a compilarla por completo. Consulta la página de documentación PDT incrementales para obtener más información.

Las tablas conjuntas son un tipo de PDT que se pueden compilar de forma incremental agregando el parámetro increment_key. El parámetro increment_key especifica el incremento de tiempo para el que se deben consultar los datos actualizados y agregarlos a la tabla agregada.

Consulta la página de documentación del parámetro increment_key para obtener más información.

increment_offset

El parámetro increment_offset define la cantidad de períodos anteriores (en el nivel de detalle de la clave de incremento) que se volverá a compilar cuando se agreguen datos a la tabla agregada. El parámetro increment_offset es opcional para los PDT incrementales y las tablas agregadas.

Consulta la página de documentación del parámetro increment_offset para obtener más información.

Cómo obtener LookML de tabla agregada a partir de Explorar

Como atajo, los desarrolladores de Looker pueden usar una consulta de exploración para crear una tabla agregada y, luego, copiar el LookML en el proyecto de LookML:

  1. En Explorar, seleccione todos los campos y filtros que desea incluir en la tabla agregada.
  2. Haga clic en Ejecutar para obtener los resultados.
  3. Selecciona Obtener LookML en el menú de ajustes de Explorar. Esta opción solo está disponible para desarrolladores de Looker.
  4. Haz clic en la pestaña Agregar tabla.
  5. Looker proporciona el LookML para una perfeccionamiento de Explorar que agregará la tabla agregada a Explorar. Copia el LookML y pégalo en el archivo del modelo asociado, que se indica en el comentario sobre la mejora de Explorar. Si la función Explorar se define en un archivo de Explorar aparte y no en un archivo de modelo, puedes agregar el perfeccionamiento al archivo de Explorar en lugar del archivo de modelo. Cualquiera de las dos opciones funcionará.

Looker le asigna un nombre a la tabla global según las dimensiones de Explorar. Looker usará el mismo nombre para la tabla agregada cada vez que proporcione la tabla agregada LookML para Explorar. Ten en cuenta otros ajustes a la misma exploración que se pueden haber agregado antes. Si usted u otro desarrollador ya obtuvieron la tabla agregada LookML de Explore, Looker le dará el mismo nombre a la tabla agregada. Si una pestaña Explorar tiene varios perfeccionamientos, cada uno con tablas agregadas del mismo nombre, un perfeccionamiento anulará los demás, como se describe en la sección Cómo definir mejor el orden de la página de documentación Mejoras de LookML.

Si necesitas modificar la tabla de agregación de LookML, puedes hacerlo con los parámetros descritos en la sección Cómo definir una tabla agregada en LookML de esta página. Puedes cambiar el nombre de la tabla conjunta sin cambiar su aplicabilidad a la consulta de exploración original. Sin embargo, cualquier otro cambio en la tabla agregada puede afectar la capacidad de Looker para usar la tabla agregada en la consulta Explorar. Consulta la sección Cómo diseñar tablas conjuntas de la página de documentación de Conocimiento agregado a fin de obtener sugerencias para optimizar tus tablas y garantizar que se usen para aumentar el reconocimiento.

Obtén una tabla agregada de LookML desde un panel

Otra opción para los desarrolladores de Looker es obtener la tabla agregada de LookML para todos los mosaicos en un panel y, luego, copiar la herramienta en el proyecto de LookML.

La creación de tablas conjuntas puede mejorar drásticamente el rendimiento de un panel, en especial para las tarjetas que consultan conjuntos de datos enormes.

Si tienes permiso develop, puedes obtener LookML para crear tablas agregadas para un panel. Para ello, abre el panel, selecciona Obtener LookML en el menú de tres puntos del panel y elige la pestaña Agregar tablas:

En el caso de las tarjetas que aún no se optimizaron con el reconocimiento agregado, Looker proporciona el aspecto mejorado de Explorar que agregará la tabla agregada a Explorar. Si el panel incluye varios mosaicos de la misma pestaña Explorar, Looker coloca todas las tablas en un solo refinamiento de Explorar. A fin de reducir la cantidad de tablas agregadas generadas, Looker determina si una tabla agregada generada podría usarse para más de un mosaico y, de ser así, descarta las tablas agregadas redundantes que se puedan usar para menos mosaicos.

Copia y pega cada perfeccionamiento de Explorar en el archivo de modelo asociado, lo que se indica en el comentario sobre la mejora de Explorar. Si la función Explorar se define en un archivo de Explorar aparte y no en un archivo de modelo, puedes agregar el perfeccionamiento al archivo Explorar en lugar del archivo de modelo. Cualquiera de las dos opciones funcionará.

Ten en cuenta que Looker asigna un nombre a cada tabla agregada según las dimensiones de la consulta de la tarjeta. Looker usará el mismo nombre para la tabla agregada cada vez que proporcione la tabla agregada LookML para una consulta de mosaicos. Por lo tanto, debes tener en cuenta otros refinamientos a la exploración de la tarjeta que se pueden haber agregado antes. Si usted u otro desarrollador ya obtuvieron la tabla agregada LookML de la consulta del mosaico del panel, Looker le dará el mismo nombre a la tabla agregada. Si una pestaña Explorar tiene varios perfeccionamientos, cada uno con tablas agregadas del mismo nombre, un perfeccionamiento anulará los demás, como se describe en la sección Cómo definir mejor el orden de la página de documentación Mejoras de LookML.

Si hay un filtro de panel aplicado a una tarjeta, Looker agregará la dimensión del filtro a la tabla agregada de la tarjeta a fin de que la tabla agregada pueda usarse para la tarjeta. Esto se debe a que las tablas agregadas solo se pueden usar para una consulta si los filtros de la consulta hacen referencia a los campos que están disponibles como dimensiones en la tabla agregada. Consulta la página de documentación sobre el conocimiento total para obtener más información.

Si necesitas modificar la tabla de agregación de LookML, puedes hacerlo con los parámetros descritos en la sección Cómo definir una tabla agregada en LookML de esta página. Puedes cambiar el nombre de la tabla agregada sin cambiar su aplicabilidad al mosaico del panel original. Sin embargo, cualquier otro cambio que se realice en la tabla agregada puede afectar la capacidad de Looker para usar la tabla agregada en el panel. Consulta la sección Cómo diseñar tablas conjuntas de la página de documentación de Conocimiento agregado a fin de obtener sugerencias para optimizar tus tablas y garantizar que se usen para aumentar el reconocimiento.

Ejemplo

En el siguiente ejemplo, se crea una tabla agregada monthly_orders para la exploración de event. La tabla conjunta crea un recuento mensual de pedidos. Looker usará la tabla conjunta para las consultas de recuento de pedidos que pueden aprovechar el nivel de detalle mensual, como las consultas de recuentos de pedidos anuales, trimestrales y mensuales.

La tabla agregada se configura con persistencia mediante el grupo de datos orders_datagroup.

La definición de la tabla agregada se ve de la siguiente manera:

explore: event {
  aggregate_table: monthly_orders {
    materialization: {
      datagroup_trigger: orders_datagroup
    }
    query: {
      dimensions: [orders.created_month]
      measures: [orders.count]
      filters: [orders.created_date: "1 year", orders.status: "fulfilled"]
      timezone: America/Los_Angeles
    }
  }
}

Aspectos para tener en cuenta

Consulta la sección Diseña tablas agregadas de la página de documentación Conocimiento agregado para obtener sugerencias sobre cómo crear tus tablas agregadas de forma estratégica:

Compatibilidad de marcación para el reconocimiento agregado

La capacidad de usar el reconocimiento agregado depende del dialecto de la base de datos que usa tu conexión de Looker. En la versión más reciente de Looker, los siguientes dialectos admiten el reconocimiento agregado: