permitir_optimización_aproximada

Uso

view: view_name {
measure: field_name {
allow_aproximate_optimization:
}
}
Jerarquía
allow_approximate_optimization
Tipos de campos posibles
Medir

Valor predeterminado
no

Acepta
Un valor booleano (sí o no)

Definición

Para los dialectos que admiten bocetos de HyperLogLog, Looker puede aprovechar el algoritmo HyperLogLog a fin de aproximar distintas cantidades para tablas agregadas.

La declaración allow_approximate_optimization: yes permite que Looker almacene bocetos de HyperLogLog en tablas conjuntas, lo que significa que Looker puede usar aproximaciones para recuentos diferentes a fin de conocer en conjunto.

Consulta la sección Compatibilidad de dialectos para diferentes recuentos con reconocimiento agregado en esta página a fin de obtener la lista de dialectos que admiten recuentos distintos para tablas de agregación con bocetos de HyperLogLog.

En general, los recuentos distintos no pueden admitirse mediante el reconocimiento agregado, ya que no puedes obtener datos precisos si intentas agregar recuentos distintos. Por ejemplo, si cuenta los distintos usuarios de un sitio web, puede haber un usuario que llegó al sitio dos veces, con tres semanas de diferencia. Si intentó aplicar una tabla agregada semanal para obtener un recuento mensual de los distintos usuarios de su sitio web, ese usuario se registrará dos veces en su consulta de recuento distinto mensual y los datos serán incorrectos.

Una solución alternativa para esto es crear una tabla agregada que coincida exactamente con una búsqueda de Explorar, como se describe en la página de documentación Conocimiento total. Cuando la consulta de exploración y una consulta de tabla agregada son iguales, las distintas medidas de recuento proporcionan datos precisos, por lo que se pueden usar para el reconocimiento agregado.

La otra opción es utilizar aproximaciones para recuentos distintos. Se sabe que el algoritmo HyperLogLog tiene alrededor de un 2% de errores potenciales. El parámetro allow_approximate_optimization requiere que los desarrolladores de Looker reconozcan que está bien usar los datos aproximados para que la medida se pueda calcular a partir de tablas agregadas.

Con el conocimiento agregado, existen dos casos en los que entran en juego diferentes recuentos:

  • El primer caso es con medidas de type: count_distinct.
  • El segundo caso corresponde a las mediciones de type: count que Looker procesa como tipos de medición count_distinct. Como se analizó en la página de documentación Conocimiento total, Looker renderiza medidas count como count_distinct para evitar errores de distribución en las exploraciones que se unen a varias tablas de base de datos.

En ambos casos, si tu dialecto admite esbozos de HyperLogLog, puedes agregar la sentencia allow_approximate_optimization: yes a las medidas para habilitar valores aproximados. Luego, puedes incluir estas medidas en las tablas conjuntas.

Incluso para las medidas definidas con allow_approximate_optimization: yes, Looker mostrará datos exactos cuando sea posible. Por ejemplo, si las dimensiones de una consulta de exploración son la coincidencia perfecta de las dimensiones de una tabla agregada, Looker puede proporcionar datos exactos para recuentos distintos, sin tener que aproximarse. En este caso, verá en la pestaña SQL de Explorar que se están usando distintas medidas de conteo para el reconocimiento total sin utilizar el algoritmo HyperLogLog.

Ejemplo

La medida apx_unique_count que se muestra en este ejemplo se establece para allow_approximate_optimization: yes, lo que significa que la medida se puede usar en un aggregate_table.

measure: apx_unique_count {
  type: count_distinct
    allow_approximate_optimization: yes   # default value is no
  sql: ${id} ;;
}

Compatibilidad telefónica para distintos recuentos con reconocimiento agregado

Looker puede usar recuentos distintos para usar el reconocimiento total con dialectos de base de datos que admitan esbozos de HyperLogLog. En la versión más reciente de Looker, se admiten los siguientes dialectos de SQL para recuentos distintos con reconocimiento agregado:

Consulta la documentación de tu dialecto SQL para comprender las ventajas y desventajas de este método.