DRY LookML로 코드 재사용성 극대화: 필드를 한 번 정의하고 어디에서나 대체 연산자를 사용합니다.

LookML 필드 정의는 시간이 지남에 따라 변경될 수 있습니다. 예를 들어 데이터베이스 열 이름이 변경되거나 다른 이유로 LookML 필드의 정의를 변경해야 할 수 있습니다.

{TABLE}.field_name 구문을 사용하여 여러 위치에서 데이터베이스 열을 직접 참조하는 경우 각 참조를 수동으로 업데이트해야 합니다. 업데이트를 잊어버리면 이 측정기준을 참조하는 모든 필드가 손상될 수 있으며 Looker에 오류가 표시됩니다.

Looker에서 필드 목록에 알 수 없는 열 order_items.sale_price 오류를 표시합니다.

LookML 프로젝트를 보다 효율적으로 만들고 관리하기 쉽게 한 곳에서 필드를 한 곳에 정의하고 대체 연산자($)를 사용하여 다른 모든 필드를 참조할 수 있습니다.

이 페이지에서는 여러 LookML 필드 정의에서 단일 측정기준을 참조하기 위해 대체 연산자 사용 예(구문 ${field_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 측정기준을 참조하는 다른 모든 필드에 자동으로 적용됩니다.