fanout_on

Utilizzo

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

Accetta
Un sottorecord REPEATED di Google BigQuery Legacy SQL

Definizione

Il parametro fanout_on specifica il sottorecord REPEATED di SQL precedente di Google BigQuery su cui deve essere distribuita una dimensione o una metrica.

Google BigQuery Legacy SQL supporta i record nidificati in cui un singolo record può contenere più sottorecord. L'espressione di questi record secondari in Looker fa sì che il set di risultati venga "espanso", il che significa che il record principale viene ripetuto più volte. Affinché Looker associ correttamente i dati normali a quelli ripetuti, puoi specificare la relazione di fanout di un sottorecord utilizzando il parametro fanout_on.

Considera questa tabella di dati di esempio:

Nome colonna Tipo
nome Stringa, obbligatoria
età Numero intero, obbligatorio
citiesLived Record, ripetuto
citiesLived.place Stringa, annullabile
citiesLived.numberOfYears Numero intero, annullabile

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

nome 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:

nome età citiesLived.place citiesLived.numberOfYears
Wilbur Wright 45 Dayton 40
Wilbur Wright 45 Parigi 2
Wilbur Wright 45 Kitty Hawk 1

Quando viene modellato questo tipo di dati, il record citiesLived causa la distribuzione, pertanto 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.