fanout_on

用途

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 を使用する必要があります。