Nutzung
view: view_name {
dimension: field_name {
fanout_on: repeated_record_name
}
}
|
Hierarchie
fanout_on |
Mögliche Feldtypen
Dimension, Dimensionsgruppe, Messwert
Akzeptiert
Ein REPEATED-Unterdatensatz in Google BigQuery Legacy SQL
|
Definition
Mit dem Parameter fanout_on wird der REPEATED-Unterdatensatz in Google BigQuery Legacy-SQL angegeben, für den eine Dimension oder ein Messwert aufgefächert werden soll.
Google BigQuery Legacy SQL unterstützt verschachtelte Datensätze, in denen ein einzelner Datensatz mehrere untergeordnete Datensätze enthalten kann. Wenn diese untergeordneten Datensätze in Looker ausgedrückt werden, wird das Ergebnisset „aufgefächert“, d. h., der übergeordnete Datensatz wird mehrmals wiederholt. Damit Looker die normalen Daten richtig mit den wiederholten Daten verknüpfen kann, können Sie das Fanout-Verhältnis eines untergeordneten Datensatzes mit dem Parameter fanout_on angeben.
Sehen Sie sich diese Beispieldatentabelle an:
| Spaltenname | Typ |
|---|---|
| Name | String, erforderlich |
| Alter | Ganzzahl, erforderlich |
| citiesLived | Wiederholte Aufzeichnung |
| citiesLived.place | String, Nullwerte zulässig |
| citiesLived.numberOfYears | Ganzzahl, kann null sein |
Daten ohne den citiesLived-Datensatz könnten so aussehen:
| Name | Alter |
|---|---|
| Wilbur Wright | 45 |
Wenn Sie jedoch den wiederholten citiesLived-Datensatz hinzufügen, kommt es zu einem Fanout, bei dem die name- und age-Daten mehrmals wiederholt werden:
| Name | Alter | citiesLived.place | citiesLived.numberOfYears |
|---|---|---|---|
| Wilbur Wright | 45 | Dayton | 40 |
| Wilbur Wright | 45 | Paris | 2 |
| Wilbur Wright | 45 | Kitty Hawk | 1 |
Bei der Modellierung dieser Art von Daten wird der Fanout durch den citiesLived-Datensatz verursacht. Er wird daher im Parameter fanout_on verwendet:
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"
}
-
Sowohl Dimensionen als auch Messwerte müssen fanout_on verwenden, wenn sie einen wiederholten Datensatz in ihre Berechnung einbeziehen.