상수

용도

상수: 상수_이름 {
: "문자열"
내보내기: 없음 | 재정의_필요 | 재정의_선택사항
}
계층 구조
constant
기본값
없음

결제 가능
  • 상수 값을 지정하는 문자열을 허용하는 value 하위 매개변수
  • export 하위 매개변수: 프로젝트를 가져올 때 상수를 재정의해야 하는지 여부를 지정합니다.

정의

constant 매개변수는 LookML 상수를 정의하며, 프로젝트 전체에서 재사용할 수 있는 값을 지정할 수 있습니다. 상수는 문자열이 허용되는 모델의 모든 위치에서 참조할 수 있으며 LookML 대시보드 요소의 modelexplore 매개변수를 사용하여 LookML 코드의 반복을 줄일 수 있습니다.

상수는 프로젝트 매니페스트 파일에 정의해야 합니다. 그러면 프로젝트 전체에서 @{constant_name} 문법을 사용하여 상수를 사용할 수 있습니다.

constantexport 하위 매개변수를 사용하여 상수를 참조하는 파일을 다른 프로젝트로 가져올 때 개발자가 상수 값을 재정의해야 하는지 지정할 수 있습니다.

export

constantexport 하위 매개변수를 사용하여 해당 상수를 참조하는 파일을 다른 프로젝트로 가져올 때 상수를 어떻게 사용할지 결정할 수 있습니다.

기본적으로 상수를 참조하는 가져온 파일은 가져오기 프로젝트의 가져온 프로젝트 매니페스트 파일에 지정된 값을 사용합니다. export 매개변수는 개발자가 프로젝트 가져오기에 사용할 상수의 새 값을 제공하여 상수 값을 재정의해야 하는지 여부를 지정합니다. export 매개변수의 값은 다음과 같습니다.

  • none: export의 기본값입니다. 가져오기 프로젝트에서 상수 값을 재정의할 수 없습니다. 가져오기 프로젝트는 가져온 프로젝트의 매니페스트 파일에 지정된 상수 값을 사용합니다.
  • override_optional: 상수의 값은 가져오기 프로젝트에서 재정의할 수 있습니다. 가져오는 프로젝트의 매니페스트 파일에 값이 제공되지 않으면 가져온 프로젝트의 원래 값이 사용됩니다.
  • override_required: 가져오는 프로젝트가 가져온 프로젝트의 매니페스트 파일에 원래 지정된 상수 값을 재정의해야 합니다. 가져오기 프로젝트에 새 상수 값이 제공되지 않으면 Looker에서 오류가 표시됩니다.

상수는 원래 정의된 프로젝트의 파일에만 사용할 수 있습니다. 따라서 가져온 파일의 프로젝트에 정의된 상수는 가져오기한 파일에만 사용할 수 있으며, 가져온 프로젝트에서는 정의한 파일에서만 사용할 수 없습니다.

가져오기 프로젝트의 파일에 상수를 사용하려면 프로젝트의 매니페스트 파일에 상수를 새로 정의해야 합니다. 이러한 방식으로 정의된 상수는 가져오기 프로젝트에 정의된 파일에만 사용할 수 있습니다.

상수를 참조하는 파일을 다른 프로젝트로 가져올 때 가져오기 프로젝트의 매니페스트 파일에서 local_dependency 또는 remote_dependencyoverride_constant 하위 매개변수를 사용하여 exportoverride_optional 또는 override_required로 설정한 상수에 새 값을 제공할 수 있습니다.

자세한 내용은 프로젝트 가져오기에서 상수를 재정의하는 예와 다른 프로젝트에서 파일 가져오기 문서를 참조하세요.

Examples

다음은 constant 매개변수를 사용하여 프로젝트 전체에서 사용할 수 있는 값을 정의하는 방법의 몇 가지 예입니다.

constant 매개변수로 탐색 라벨 지정

UI에서 샌프란시스코 사용자샌프란시스코 주문으로 라벨이 지정된 두 개의 탐색을 만든다고 가정해 보겠습니다. 이렇게 하려면 프로젝트의 manifest.lkml 파일"San Francisco" 값으로 상수 city을 정의하면 됩니다.

constant: city {
  value: "San Francisco"
}

그런 다음 @{city} 구문을 사용하여 문자열이 허용되는 프로젝트의 모든 부분에서 이 상수를 참조할 수 있습니다. 이 예에서는 다음 예와 같이 "@{city} Users""@{city} Orders"label 매개변수의 값으로 지정하여 usersorders 탐색을 정의할 수 있습니다.


explore: users {
  label: "@{city} Users"
}

explore: orders {
  label: "@{city} Orders"
}

이 예에서는 Looker에서 기본 사용자주문 라벨이 아닌 탐색 메뉴와 탐색 제목에 샌프란시스코 사용자샌프란시스코 주문을 표시합니다.

상수와 함께 sql_table_name 매개변수 사용

02349_sfo 스키마의 테이블을 기반으로 여러 뷰를 만든다고 가정해 보겠습니다. 02349_sfo 값을 여러 번 지정할 필요가 없도록 다음과 같이 프로젝트의 manifest.lkml 파일에 schema라는 상수를 만듭니다.


constant: schema {
  value: "02349_sfo"
}

그런 다음 @{schema}.view_namesql_table_name 매개변수 값으로 지정하여 02349_sfo 스키마를 기반으로 뷰를 만들 수 있습니다.


view: users {
  sql_table_name: @{schema}.users ;;
}

그러면 스키마 02349_sfousers 테이블을 기반으로 하는 Users라는 뷰가 생성됩니다.

Liquid 변수 및 HTML에 상수 사용

음수 데이터 값을 괄호 안에 빨간색 글꼴로 표시하려고 한다고 가정해 보겠습니다. 이 형식을 LookML 상수 값으로 설정하면 Liquid 변수HTML을 사용하여 형식을 한 번 지정할 수 있습니다. 그런 다음 이 형식을 필드에 적용하려고 할 때마다 상수를 참조할 수 있습니다.

예를 들어 상수 negative_format를 만들어 이 형식을 필드에 적용할 수 있습니다.


constant: negative_format {
  value: "{% dynamic if value < 0 %}&#60;p style=&#92;"color:red; &#92;">({{rendered_value}})</p>{% dynamic else %} {{rendered_value}} {% dynamic endif %}"
}

이렇게 하면 음수 데이터 값에 빨간색 글꼴이 있어야 하고 괄호로 묶여야 함을 지정하는 상수 negative_format가 만들어집니다. 그런 다음 html 매개변수를 사용하여 이 형식을 데이터 세트의 측정기준 및 측정값에 적용할 수 있습니다.

예를 들어 type: sum총 금액 측정값을 만들고 @{negative_format}html 매개변수의 값으로 지정할 수 있습니다.


measure: total_amount {
  type: sum
  value_format_name: usd
  sql: ${amount} ;;
  html: @{negative_format} ;;
}

표에서 Total Amount 측정의 음수 값은 빨간색 상수와 괄호로 묶인 negative_format 상수 정의에 지정된 대로 서식이 지정됩니다.

LookML 대시보드에서 상수 사용

LookML 대시보드의 대시보드 요소를 정의할 때 LookML 상수를 사용하여 모델의 기반이 되는 모델과 탐색을 정의할 수 있습니다.

예를 들어 프로젝트의 manifest.lkml 파일에 model_nameexplore_name 상수를 정의했다고 가정해 보겠습니다.


constant: model_name {
  value: "thelook"
}

constant: explore_name {
  value: "orders"
}

대시보드 파일에서 모델 thelook 및 탐색 orders를 기반으로 할 대시보드 요소에 model 값을 "@{model_name}"로 설정하고 explore 값을 "@{explore_name}"로 설정할 수 있습니다.

예를 들어 열 차트 요소의 LookML을 수정한다고 가정해 보겠습니다. 대시보드 파일에서 다음과 같이 modelexplore 매개변수의 값을 지정할 수 있습니다.


- dashboard: dashboard_name
  title: "dashboard title"
  layout: newspaper
  elements:
  - title: Element Title
    name: element_name
    model: "@{model_name}"
    explore: "@{explore_name}"
    type: looker_column

알아두어야 할 사항

상수 정의 내의 상수 참조

상수를 정의할 때 프로젝트의 매니페스트 파일 내에 정의된 다른 상수를 참조할 수 있습니다. 상수 city를 이미 선언했다고 가정해 보겠습니다.


constant: city {
  value: "San Francisco"
}

그런 다음 위의 예에서 city 상수를 참조하는 상수 state를 선언할 수 있습니다.


constant: city_state {
  value: "@{city}, California"
}

위에 선언된 상수 state은 'San Francisco, California' 문자열로 확인됩니다.

상수 구문 이스케이프

상수 구문과 유사한 문자열을 작성하되 이 문자열이 상수로 계산되지 않도록 하려면 백슬래시 이스케이프 문자 \` after the@` 문자를 사용하여 상수 구문을 이스케이프 처리할 수 있습니다. 예를 들면 다음과 같습니다.


dimension: id {
  type: string
  label: "@&#92;{id}"
  sql: ${TABLE}.id
}

위의 예에서 label 매개변수id 상수를 평가하고 값을 출력하는 대신 @{id} 문자열을 id 측정기준의 라벨로 표시합니다.

괄호를 닫지 않으면 상수 참조가 평가되지 않습니다. 이 경우에는 상수 구문을 이스케이프 처리할 필요가 없습니다. 따라서 아래 예에서 @{id는 상수로 평가되지 않습니다.


dimension: id {
  type: string
  label: "@{id"
  sql: ${TABLE}.id
}