fanout_on

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.