Mais sobre fanout_on

Uso

view: view_name {
dimension: field_name {
fanout_on: Repeated_record_name
}
}
Hierarquia
fanout_on
Tipos de campo possíveis
Dimensão, grupo de dimensões, medida

Aceita
Um subregistro de SQL legado REPEATED do Google BigQuery

Definição

O parâmetro fanout_on especifica o subregistro REPEATED do SQL legado do Google BigQuery em que uma dimensão ou medida deve ser distribuída.

O SQL legado do Google BigQuery é compatível com registros aninhados em que um único registro pode conter vários subregistros. A expressão desses subregistros no Looker faz com que o resultado seja definido como "fanout", ou seja, o registro pai é repetido várias vezes. Para que o Looker associe corretamente os dados normais aos dados repetidos, é possível especificar a relação de fanout de um subregistro usando o parâmetro fanout_on.

Veja este exemplo de tabela de dados:

Nome da coluna Tipo
nome String, obrigatória
idade Número inteiro, obrigatório
cidades Gravar, repetido
cityLived.place String, anulável
cityLived.numberOfYears Número inteiro, anulável

Dados sem o registro citiesLived podem ter esta aparência:

nome idade
Wilbur wright 45

No entanto, adicionar o registro citiesLived repetido causa um fanout, em que os dados name e age são repetidos várias vezes:

nome idade cidadesLived.place cidadesLived.numberOfYears
Wilbur wright 45 Dayton 40
Wilbur wright 45 Paris 2
Wilbur wright 45 Gatinho hawk 1

Ao modelar esse tipo de dados, o registro citiesLived causa o fanout, então ele é usado no 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"
}

-

Tanto as dimensões quanto as medidas precisarão usar fanout_on se incluírem um registro repetido no cálculo.