Altro su fanout_on

Utilizzo

view: view_name {
dimension: field_name {
fanout_on: ripetuto_nome_record
}
}
Gerarchia
fanout_on
Tipi di campi possibili
Dimensione, gruppo di dimensioni, misurazione

Accetta
Un sottodominio SQL REPEATED di Google BigQuery legacy

Definizione

Il parametro fanout_on specifica il sottorecord REPEATED SQL precedente di Google BigQuery su cui una dimensione o una misura devono essere esaurite.

Il codice SQL precedente di Google BigQuery supporta record nidificati in cui un singolo record può contenere più record secondari. Se specifichi questi record secondari in Looker, il risultato viene impostato su "fanout", il che significa che il record principale viene ripetuto più volte. Per consentire a Looker di associare correttamente i dati normali ai dati ripetuti, puoi specificare la relazione fanout di un sottorecord utilizzando il parametro fanout_on.

Considera la seguente tabella di dati:

Nome colonna Tipo
name Stringa, obbligatoria
età Numero intero, obbligatorio
città in cui hai vissuto Registra, ripetuto
citiesLived.luogo Stringa, null
citiesLived.numberOfYears Numero intero, nullo

I dati senza il record citiesLived potrebbero avere il seguente aspetto:

name età
Wilbur Wright 45

Tuttavia, l'aggiunta del record citiesLived ripetuto causa un fanout, in cui i dati name e age vengono ripetuti più volte:

name età cityLived.place cityLived.numberOfYears
Wilbur Wright 45 Dayton 40
Wilbur Wright 45 Parigi 2
Wilbur Wright 45 Kitty hawk 1

Quando si modella questo tipo di dati, il record citiesLived causa il fanout, quindi viene utilizzato nel parametro 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"
}

-

Tieni presente che sia le dimensioni che le misure devono utilizzare fanout_on se includono un record ripetuto nel calcolo.