사용
view: view_name {
dimension: field_name {
fanout_on: repeated_record_name
}
}
|
계층 구조
fanout_on |
가능한 필드 유형
측정기준, 측정기준 그룹, 측정값
수락
Google BigQuery Legacy SQL REPEATED 하위 레코드
|
정의
fanout_on 매개변수는 측정기준 또는 측정값이 팬아웃되어야 하는 Google BigQuery Legacy SQL REPEATED 하위 레코드를 지정합니다.
Google BigQuery Legacy SQL은 단일 레코드가 여러 하위 레코드를 보유할 수 있는 중첩 레코드를 지원합니다. Looker에서 이러한 하위 레코드를 표현하면 결과 집합이 '팬아웃'됩니다. 즉, 상위 레코드가 여러 번 반복됩니다. Looker가 일반 데이터를 반복 데이터와 올바르게 연결하려면 fanout_on 매개변수를 사용하여 하위 레코드의 팬아웃 관계를 지정하면 됩니다.
다음 예시 데이터 테이블을 살펴보세요.
| 열 이름 | 유형 |
|---|---|
| name | 문자열, 필수 |
| 나이 | 정수, 필수 |
| citiesLived | 반복된 기록 |
| citiesLived.place | 문자열, null 가능 |
| citiesLived.numberOfYears | 정수, null 허용 |
citiesLived 레코드가 없는 데이터는 다음과 같이 표시될 수 있습니다.
| name | 나이 |
|---|---|
| 윌버 라이트 | 45 |
하지만 반복되는 citiesLived 레코드를 추가하면 name 및 age 데이터가 여러 번 반복되는 팬아웃이 발생합니다.
| name | 나이 | 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를 사용해야 합니다.