Uso
autogenerate_primary_keys: yes
|
Jerarquía
autogenerate_primary_keys-o- autogenerate_primary_keys |
Valor predeterminado
No
Reglas especiales
|
Definición
Cuando el parámetro autogenerate_primary_keys está habilitado, Looker genera una clave temporal y distinta para una vista cuando no se define explícitamente una en tu LookML. La clave primaria generada automáticamente permite que los agregados simétricos y los recuentos de uno a varios se calculen correctamente sin que se realicen cambios en la tabla de la base de datos subyacente. La clave primaria se genera en el tiempo de ejecución de la consulta y no persiste entre las consultas.
El parámetro autogenerate_primary_keys se admite tanto para las vistas como para las Exploraciones:
- En el caso de las vistas, si las defines con
autogenerate_primary_keys: yes, Looker genera una clave primaria para las consultas en la vista en la que se necesita una clave primaria para evitar duplicar filas. Si agregasautogenerate_primary_keys: yesa una vista que ya tiene un campo definido como clave primaria, el IDE de Looker mostrará una advertencia de validación de LookML. En el caso de las Exploraciones, si defines la Exploración con
autogenerate_primary_keys: yes, Looker genera una clave primaria para cada una de las vistas de la Exploración que se requieren para una consulta de Exploración en la que se necesita una clave primaria para evitar duplicar filas:- Looker genera claves primarias solo para las vistas de la función Explorar que no tienen un campo definido con
primary_key: yes. Si una vista tiene un campo definido conprimary_key: yes, Looker usa la clave primaria de la vista. - Looker genera una clave primaria para la vista de una exploración solo cuando se consulta la vista a través de esa exploración. Si se consulta la misma vista a través de un Explore diferente que no se define con
autogenerate_primary_keys: yes, y la vista en sí no se define conautogenerate_primary_keys: yes, Looker no generará una clave primaria para la vista.
- Looker genera claves primarias solo para las vistas de la función Explorar que no tienen un campo definido con
Ejemplo
Aquí tienes una exploración orders que une una vista order_items. El Explore se define con autogenerate_primary_keys: yes:
explore: orders {
autogenerate_primary_keys: yes
join: order_items {
sql_on: ${orders.id} = ${order_items.order_id} ;;
relationship: one_to_many
}
}
Para las consultas en el Explorar orders que requieren agregaciones simétricas o cálculos en los que se pueden duplicar las filas de una vista, Looker genera automáticamente una clave distinta para las vistas orders o order_items.
Información importante
Ten en cuenta lo siguiente sobre el uso de autogenerate_primary_keys: yes:
- Habilitar
autogenerate_primary_keyspuede cambiar el comportamiento de tus búsquedas existentes. Las medidas que Looker anteriormente tenía que descartar de las consultas debido a la falta de una clave primaria ahora se incluirán en los resultados, lo que podría ser un cambio que genere errores en algunos informes. - La generación automática de claves primarias puede aumentar el tiempo de consulta debido al procesamiento adicional que se requiere.
- Cuando Looker genera una clave primaria para una consulta, esa clave primaria es una clave primaria temporal de tiempo de ejecución que no se puede seleccionar ni visualizar en un Explorar.
Compatibilidad con dialectos para autogenerate_primary_keys
La capacidad de usar autogenerate_primary_keys 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 autogenerate_primary_keys:
- SQL estándar de Google BigQuery
- Amazon Redshift
- Amazon Redshift 2.1 y versiones posteriores
- Amazon Redshift Serverless 2.1 y versiones posteriores
- Google Cloud PostgreSQL
- Greenplum
- Microsoft Azure PostgreSQL
- MySQL 8.0.12 y versiones posteriores
- PostgreSQL anterior a la versión 9.5