fanout_on

用量

view: view_name {
  dimension: field_name {
    fanout_on: repeated_record_name
  }
}
階層
fanout_on
可能的欄位類型
維度、維度群組、指標

接受
Google BigQuery 舊版 SQL REPEATED 子記錄

定義

fanout_on 參數會指定維度或指標應擴展的 Google BigQuery 舊版 SQL REPEATED 子記錄。

Google BigQuery 舊版 SQL 支援巢狀記錄,單一記錄可包含多個子記錄。在 Looker 中表示這些子記錄會導致結果集「扇出」,也就是父項記錄會重複多次。如要讓 Looker 正確將一般資料與重複資料建立關聯,您可以使用 fanout_on 參數指定子記錄的扇出關係。

請參考以下範例資料表:

資料欄名稱 類型
名稱 字串 (必要)
age 整數 (必填)
citiesLived 錄製 (重複)
citiesLived.place 字串,可為空值
citiesLived.numberOfYears 整數,可為空值

沒有 citiesLived 記錄的資料可能如下所示:

名稱 age
威爾伯·萊特 45

不過,如果加入重複的 citiesLived 記錄,就會導致扇出,name 和 age 資料會重複多次:

名稱 age citiesLived.place citiesLived.numberOfYears
威爾伯·萊特 45 Dayton 40
威爾伯·萊特 45 巴黎 2
威爾伯·萊特 45 Kitty Hawk 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。