LookML 필드 정의는 시간이 지남에 따라 변경될 수 있습니다. 예를 들어 데이터베이스 열 이름이 변경되거나 다른 이유로 LookML 필드의 정의를 변경해야 할 수 있습니다.
{TABLE}.field_name
구문을 사용하여 여러 위치에서 데이터베이스 열을 직접 참조하는 경우 각 참조를 수동으로 업데이트해야 합니다. 업데이트를 잊어버리면 이 측정기준을 참조하는 모든 필드가 손상될 수 있으며 Looker에 오류가 표시됩니다.
LookML 프로젝트를 보다 효율적으로 만들고 관리하기 쉽게 한 곳에서 필드를 한 곳에 정의하고 대체 연산자($
)를 사용하여 다른 모든 필드를 참조할 수 있습니다.
이 페이지에서는 여러 LookML 필드 정의에서 단일 측정기준을 참조하기 위해 대체 연산자 사용 예(구문 ${field_name}
포함)를 제공합니다.
재료
- 대체 연산자
- LookML
dimension
매개변수 - LookML
sql
매개변수 - LookML
sql_table_name
매개변수
기본 요건
예: 측정기준에 대해 기본 데이터베이스 열을 한 번만 참조
측정기준의 sql
매개변수에서 ${TABLE}.field_name
구문을 사용하여 LookML 프로젝트의 데이터베이스 테이블 열을 한 번 정의합니다. 그런 다음 프로젝트의 다른 곳에서 ${field_name}
또는 ${view_name.field_name}
구문을 사용하여 측정기준을 참조합니다. 이렇게 하면 데이터베이스 열의 LookML 정의를 한 곳에서 유지할 수 있습니다(원래 ${TABLE}.field_name
측정기준). 이는 프로젝트의 여러 위치에서 참조해야 하는 경우에 유용합니다.
예를 들어 ${TABLE}.sale_price
구문을 사용하여 order_items
라는 뷰에서 sale_price
라는 기본 측정기준을 정의할 수 있습니다.
dimension: sale_price {
type: number
value_format_name: usd
sql: ${TABLE}.sale_price ;;
description: "The price at which an item is set to sell."
}
sale_price
측정기준을 참조하는 다른 필드를 정의할 때 order_items
뷰 내에서 ${sale_price}
구문을 사용하거나 ${order_items.sale_price}
구문을 사용하여 다른 뷰에서 sale_price
측정기준을 참조할 수 있습니다.
dimension: profit {
type: number
value_format_name: usd
sql: ${sale_price} - ${inventory_items.cost} ;;
description: "The difference between an item's sale price and an item's cost."
}
dimension: item_gross_margin {
type: number
value_format_name: percent_2
sql: 1.0 * ${profit}/NULLIF(${sale_price},0) ;;
}
measure: total_sale_price {
type: sum
value_format_name: usd
sql: ${sale_price} ;;
}
이 예에서 sale_price
측정기준의 열 이름이 변경되면 기본 sale_price
측정기준 정의에서 ${TABLE}.sale_price
참조를 한 번만 업데이트하면 됩니다. 이 변경사항은 profit
, item_gross_margin
, total_sale_price
필드는 물론 sale_price
측정기준을 참조하는 다른 모든 필드에 자동으로 적용됩니다.