Uso
view: view_name {
dimension: field_name {
fanout_on: repeated_record_name
}
}
|
Jerarquía
fanout_on |
Tipos de campos posibles
Dimensión, grupo de dimensiones y medida
Acepta
Un subregistro REPEATED de SQL heredado de Google BigQuery
|
Definición
El parámetro fanout_on especifica el subregistro REPEATED de SQL heredado de Google BigQuery en el que se debe realizar la expansión de una dimensión o una métrica.
El SQL heredado de Google BigQuery admite registros anidados en los que un solo registro puede contener varios subregistros. Expresar estos subregistros en Looker hace que el conjunto de resultados se "expanda", lo que significa que el registro principal se repite varias veces. Para que Looker asocie correctamente los datos normales con los datos repetidos, puedes especificar la relación de expansión de un subregistro con el parámetro fanout_on.
Considera esta tabla de datos de ejemplo:
| Nombre de la columna | Tipo |
|---|---|
| nombre | Cadena, obligatoria |
| edad | Número entero, obligatorio |
| citiesLived | Grabación, repetida |
| citiesLived.place | Cadena, admite valores nulos |
| citiesLived.numberOfYears | Número entero, admite valores nulos |
Los datos sin el registro citiesLived podrían verse de la siguiente manera:
| nombre | edad |
|---|---|
| Wilbur Wright | 45 |
Sin embargo, agregar el registro citiesLived repetido provoca una expansión, en la que los datos de name y age se repiten varias veces:
| nombre | edad | citiesLived.place | citiesLived.numberOfYears |
|---|---|---|---|
| Wilbur Wright | 45 | Dayton | 40 |
| Wilbur Wright | 45 | París | 2 |
| Wilbur Wright | 45 | Kitty Hawk | 1 |
Cuando se modela este tipo de datos, el registro citiesLived provoca la expansión, por lo que se usa en el parámetro fanout_on:
dimension: city_lived {
sql: ${TABLE}.citiesLived.place ;;
fanout_on: "citiesLived"
}
dimension: years_lived {
sql: ${TABLE}.citiesLived.numberOfYears ;;
fanout_on: "citiesLived"
}
measure: cities_count {
type: count_distinct
sql: ${city_lived} ;;
fanout_on: "citiesLived"
}
measure: city_list {
type: list
list_field: city_lived
fanout_on: "citiesLived"
}
-
Ten en cuenta que tanto las dimensiones como las métricas deben usar fanout_on si incluyen un registro repetido en su cálculo.