用途
view: view_name {
dimension: field_name {
fanout_on: repeated_record_name
}
}
|
階層
fanout_on |
使用可能なフィールドタイプ
ディメンション、ディメンション グループ、メジャー
許可
Google BigQuery Legacy SQL の REPEATED サブレコード
|
定義
fanout_on パラメータは、ディメンションまたは指標をファンアウトする Google BigQuery レガシー SQL REPEATED サブレコードを指定します。
Google BigQuery Legacy SQL は、1 つのレコードに複数のサブレコードを含めることができるネストされたレコードをサポートしています。これらのサブレコードを Looker で表現すると、結果セットが「ファンアウト」します。つまり、親レコードが複数回繰り返されます。Looker が通常のデータと繰り返しデータを適切に関連付けるには、fanout_on パラメータを使用してサブレコードのファンアウト関係を指定します。
次のデータテーブルを考えてみましょう。
| 列名 | タイプ |
|---|---|
| name | 文字列、必須 |
| 年齢 | 整数、必須 |
| citiesLived | Record, repeated |
| citiesLived.place | 文字列、nullable |
| citiesLived.numberOfYears | 整数、null 可能 |
citiesLived レコードのないデータは次のようになります。
| name | 年齢 |
|---|---|
| Wilbur Wright | 45 |
ただし、繰り返し citiesLived レコードを追加すると、name データと age データが複数回繰り返されるファンアウトが発生します。
| name | 年齢 | citiesLived.place | citiesLived.numberOfYears |
|---|---|---|---|
| Wilbur Wright | 45 | デイトン | 40 |
| Wilbur Wright | 45 | パリ | 2 |
| Wilbur Wright | 45 | キティホーク | 1 |
このタイプのデータをモデリングする場合、citiesLived レコードによってファンアウトが発生するため、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"
}
-
ディメンションと指標の両方で、計算に繰り返しレコードが含まれる場合は fanout_on を使用する必要があります。