용도
값: "문자열"
내보내기: 없음 | 재정의_필요 | 재정의_선택사항
}
계층 구조
constant |
기본값
없음결제 가능
|
정의
constant
매개변수는 LookML 상수를 정의하며, 프로젝트 전체에서 재사용할 수 있는 값을 지정할 수 있습니다. 상수는 문자열이 허용되는 모델의 모든 위치에서 참조할 수 있으며 LookML 대시보드 요소의 model
및 explore
매개변수를 사용하여 LookML 코드의 반복을 줄일 수 있습니다.
상수는 프로젝트 매니페스트 파일에 정의해야 합니다. 그러면 프로젝트 전체에서 @{constant_name}
문법을 사용하여 상수를 사용할 수 있습니다.
constant
의 export
하위 매개변수를 사용하여 상수를 참조하는 파일을 다른 프로젝트로 가져올 때 개발자가 상수 값을 재정의해야 하는지 지정할 수 있습니다.
export
constant
의 export
하위 매개변수를 사용하여 해당 상수를 참조하는 파일을 다른 프로젝트로 가져올 때 상수를 어떻게 사용할지 결정할 수 있습니다.
기본적으로 상수를 참조하는 가져온 파일은 가져오기 프로젝트의 가져온 프로젝트 매니페스트 파일에 지정된 값을 사용합니다. export
매개변수는 개발자가 프로젝트 가져오기에 사용할 상수의 새 값을 제공하여 상수 값을 재정의해야 하는지 여부를 지정합니다. export
매개변수의 값은 다음과 같습니다.
none
:export
의 기본값입니다. 가져오기 프로젝트에서 상수 값을 재정의할 수 없습니다. 가져오기 프로젝트는 가져온 프로젝트의 매니페스트 파일에 지정된 상수 값을 사용합니다.override_optional
: 상수의 값은 가져오기 프로젝트에서 재정의할 수 있습니다. 가져오는 프로젝트의 매니페스트 파일에 값이 제공되지 않으면 가져온 프로젝트의 원래 값이 사용됩니다.override_required
: 가져오는 프로젝트가 가져온 프로젝트의 매니페스트 파일에 원래 지정된 상수 값을 재정의해야 합니다. 가져오기 프로젝트에 새 상수 값이 제공되지 않으면 Looker에서 오류가 표시됩니다.
상수는 원래 정의된 프로젝트의 파일에만 사용할 수 있습니다. 따라서 가져온 파일의 프로젝트에 정의된 상수는 가져오기한 파일에만 사용할 수 있으며, 가져온 프로젝트에서는 정의한 파일에서만 사용할 수 없습니다.
가져오기 프로젝트의 파일에 상수를 사용하려면 프로젝트의 매니페스트 파일에 상수를 새로 정의해야 합니다. 이러한 방식으로 정의된 상수는 가져오기 프로젝트에 정의된 파일에만 사용할 수 있습니다.
상수를 참조하는 파일을 다른 프로젝트로 가져올 때 가져오기 프로젝트의 매니페스트 파일에서 local_dependency
또는 remote_dependency
의 override_constant
하위 매개변수를 사용하여 export
를 override_optional
또는 override_required
로 설정한 상수에 새 값을 제공할 수 있습니다.
자세한 내용은 프로젝트 가져오기에서 상수를 재정의하는 예와 다른 프로젝트에서 파일 가져오기 문서를 참조하세요.
Examples
다음은 constant
매개변수를 사용하여 프로젝트 전체에서 사용할 수 있는 값을 정의하는 방법의 몇 가지 예입니다.
constant
매개변수로 탐색 라벨 지정
UI에서 샌프란시스코 사용자와 샌프란시스코 주문으로 라벨이 지정된 두 개의 탐색을 만든다고 가정해 보겠습니다. 이렇게 하려면 프로젝트의 manifest.lkml
파일에 "San Francisco"
값으로 상수 city
을 정의하면 됩니다.
constant: city {
value: "San Francisco"
}
그런 다음 @{city}
구문을 사용하여 문자열이 허용되는 프로젝트의 모든 부분에서 이 상수를 참조할 수 있습니다. 이 예에서는 다음 예와 같이 "@{city} Users"
및 "@{city} Orders"
를 label
매개변수의 값으로 지정하여 users
및 orders
탐색을 정의할 수 있습니다.
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_name
를 sql_table_name
매개변수 값으로 지정하여 02349_sfo
스키마를 기반으로 뷰를 만들 수 있습니다.
view: users {
sql_table_name: @{schema}.users ;;
}
그러면 스키마 02349_sfo
의 users
테이블을 기반으로 하는 Users라는 뷰가 생성됩니다.
Liquid 변수 및 HTML에 상수 사용
음수 데이터 값을 괄호 안에 빨간색 글꼴로 표시하려고 한다고 가정해 보겠습니다. 이 형식을 LookML 상수 값으로 설정하면 Liquid 변수 및 HTML을 사용하여 형식을 한 번 지정할 수 있습니다. 그런 다음 이 형식을 필드에 적용하려고 할 때마다 상수를 참조할 수 있습니다.
예를 들어 상수 negative_format
를 만들어 이 형식을 필드에 적용할 수 있습니다.
constant: negative_format {
value: "{% dynamic if value < 0 %}<p style=\"color:red; \">({{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_name
및 explore_name
상수를 정의했다고 가정해 보겠습니다.
constant: model_name {
value: "thelook"
}
constant: explore_name {
value: "orders"
}
대시보드 파일에서 모델 thelook
및 탐색 orders
를 기반으로 할 대시보드 요소에 model
값을 "@{model_name}"
로 설정하고 explore
값을 "@{explore_name}"
로 설정할 수 있습니다.
예를 들어 열 차트 요소의 LookML을 수정한다고 가정해 보겠습니다. 대시보드 파일에서 다음과 같이 model
및 explore
매개변수의 값을 지정할 수 있습니다.
- 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: "@\{id}"
sql: ${TABLE}.id
}
위의 예에서 label
매개변수는 id
상수를 평가하고 값을 출력하는 대신 @{id} 문자열을 id
측정기준의 라벨로 표시합니다.
괄호를 닫지 않으면 상수 참조가 평가되지 않습니다. 이 경우에는 상수 구문을 이스케이프 처리할 필요가 없습니다. 따라서 아래 예에서 @{id
는 상수로 평가되지 않습니다.
dimension: id {
type: string
label: "@{id"
sql: ${TABLE}.id
}