용도
매개변수: parameter_name { ... }
}
계층 구조
parameter |
결제 가능
매개변수의 이름을 지정하는 Looker 식별자 |
정의
실제로 'parameter
'(이)라는 LookML 매개변수가 있습니다. parameter
매개변수는 탐색, 보기, 대시보드를 필터링하는 데 사용할 수 있지만 결과 세트에 추가할 수 없는 필터 전용 필드를 생성합니다. 사용자가 이 필터 전용 필드에 선택하는 값은 {% parameter parameter_name %}
및 parameter_name._parameter_value
Liquid 변수와 함께 사용할 때 대화형 쿼리 결과, 라벨, URL 등을 만들 수 있습니다. parameter
매개변수는 다양한 필드를 단일 필드에 표시할 수 있으므로 LookML 모델을 간소화할 수도 있습니다.
매개변수 필터 필드를 사용하면 사용자가 필드에 필터 값을 1개만 선택할 수 있으며 필터 조건은
is equal to
로 설정됩니다. 사용자가 여러 필터 값을 한 번에 입력할 수 있도록 하고 Looker의 더욱 세부적인 SQL 필터 로직(contains
,does not contain
등)을 활용하려면 템플릿 필터 문서 페이지를 참고하세요.
parameter
이름은 다음 요건을 충족해야 합니다.
- 특정 뷰 내에서 고유해야 합니다.
a
부터z
까지의 문자(대문자 없음),0
~9
또는_
로 구성- 영문자로 시작해야 합니다.
default_value
및 allowed_value
등 parameter
와 함께 사용할 수 있는 많은 필드 매개변수도 있습니다. allowed_value
필드 매개변수를 사용하는 예는 다음 하위 섹션인 허용되는 값 지정을 참조하세요.
데이터에 밑줄이 있는 값이 있으면
parameter
와 함께default_value
를 사용하지 않습니다.
허용되는 값 지정
기본적으로 사용자는 parameter
매개변수로 생성된 필터에 단일 값을 입력할 수 있습니다. 사용자가 선택할 수 있는 특정 값을 제한하려면 allowed_value
를 사용합니다. 허용되는 값은 사용자가 선택할 수 있는 라벨과 값의 쌍을 지정합니다.
allowed_value
매개변수는 사용자가 선택할 수 있는 필터 옵션을 설정할 수 있다는 점에서 suggestions
매개변수와 유사합니다. 그러나 allowed_value
매개변수는 기본 SQL 쿼리에 삽입하려는 값으로 사용자 친화적인 라벨을 매핑하는 추가 기능을 추가합니다.
예를 들어 다음 코드는 사용자에게 세 가지 필터 옵션을 제공하는 parameter
를 생성합니다.
parameter: number_of_results {
type: string
allowed_value: {
label: "Less than 500"
value: "< 500"
}
allowed_value: {
label: "Less than 10,000"
value: "< 10000"
}
allowed_value: {
label: "All Results"
value: "> 0"
}
}
label
는 필터 추천에서 사용자에게 표시되며, value
에는 Liquid 변수와 함께 SQL 쿼리에 삽입되어 대화형 콘텐츠를 만들 값이 포함됩니다.
결과 필터는 다음과 같습니다.
Liquid에서 parameter
사용
Liquid 사용에는 Liquid 변수 참조 문서 페이지에서 두 가지 유형이 있습니다.
parameter
를 Liquid와 함께 사용할 때는 논리적 조건문을 만드는 데 사용되는 {% %}
태그 구문을 사용하는 것이 가장 일반적입니다.
parameter
와 함께 사용할 수 있는 Liquid 변수는 {% parameter parameter_name %}
와 parameter_name._parameter_value
입니다. 다음 섹션에서 각 예시를 살펴보겠습니다.
{% parameter parameter_name %}
로 사용자가 선택한 값 삽입
{% parameter parameter_name %}
Liquid 변수는 매개변수 이름과 함께 Liquid {% parameter %}
태그를 사용하여 사용자가 선택한 값을 기본 SQL 쿼리에 직접 삽입합니다.
- 매개변수라는 단어는 절대 변경되지 않습니다.
- parameter_name을 직접 만든 매개변수 이름으로 바꿉니다.
매개변수가 참조되는 파일과 다른 뷰 파일에 정의된 경우, 매개변수 이름으로 뷰 이름(예: view_name.parameter_name
)을 지정합니다.
예
이 예시에서는 사용자가 합산하려는 데이터베이스 열(sale_price
, cost
, profit
)을 선택할 수 있는 item_to_add_up
이라는 parameter
를 만듭니다.
parameter: item_to_add_up {
type: unquoted
allowed_value: {
label: "Total Sale Price"
value: "sale_price"
}
allowed_value: {
label: "Total Cost"
value: "cost"
}
allowed_value: {
label: "Total Profit"
value: "profit"
}
}
그런 다음 dynamic_sum
라는 측정값을 만듭니다.
이 측정은 item_to_add_up
에서 선택된 값을 삽입하고 참조되는 열 이름을 변경하는 sql
매개변수의 {% parameter parameter_name %}
Liquid 변수를 참조합니다. 그런 다음 측정값은 참조된 열에서 계산을 수행합니다.
measure: dynamic_sum {
type: sum
sql: ${TABLE}.{% parameter item_to_add_up %} ;;
value_format_name: "usd"
}
그 결과, 다음과 같이 하나의 측정값으로 표현되는 여러 집계를 표시하는 대화형 탐색이 생성됩니다.
parameter
를 {% parameter parameter_name %}
변수와 함께 사용하는 더 많은 예는 매개변수 필드의 좋은 사용 사례 고객센터 도움말을 참고하세요.
parameter_name._parameter_value
를 사용하여 논리적 문 만들기
parameter_name._parameter_value
{% %}
문을 사용하여 parameter
의 값을 기본 SQL 쿼리에 삽입할 수도 있습니다.
- parameter_name을 직접 만든 매개변수 이름으로 바꿉니다.
- ._parameter_value는 변경되지 않습니다.
매개변수가 참조되는 파일과 다른 뷰 파일에 정의된 경우, 매개변수 이름으로 뷰 이름(예: view_name.parameter_name._parameter_value
)을 지정합니다.
parameter_name._parameter_value
는 가능한 매개변수 값을 사용하는 복잡한 논리문을 허용합니다. SQL의 CASE WHEN
문과 유사합니다.
Liquid 조건문은 다음 구문을 사용합니다.
{% dynamic if %}
: 조건 만들기{% elsif %}
: 초기 조건 후 추가 조건 만들기{% dynamic else %}
: 다른 조건이 충족되지 않을 때 반환되는 값을 설정합니다.{% dynamic endif %}
를 사용하여 문을 종료합니다.
이 Liquid 로직은 다양한 방식으로 Liquid 변수 및 LookML과 함께 사용할 수 있습니다. LookML에서 Liquid와 함께 parameter_name._parameter_value
변수를 사용할 수 있는 전체 위치 목록은 Liquid 변수 참조 문서 페이지를 참고하세요. 다음은 sql
및 html
매개변수를 사용하는 예입니다.
SQL 예
다음 LookML 블록은 date_granularity
이라는 parameter
를 만듭니다. 그런 다음 측정기준의 sql
매개변수는 {% dynamic if %}
{% elsif %}
{% dynamic endif %}
parameter_name._parameter_value
parameter
의 값에 따라 측정기준의 값을 결정합니다.
parameter: date_granularity {
type: unquoted
allowed_value: {
label: "Break down by Day"
value: "day"
}
allowed_value: {
label: "Break down by Month"
value: "month"
}
}
dimension: date {
sql:
{% dynamic if date_granularity._parameter_value == 'day' %}
${created_date}
{% elsif date_granularity._parameter_value == 'month' %}
${created_month}
{% dynamic else %}
${created_date}
{% dynamic endif %};;
}
최종 결과는 사용자가 다른 기간으로 결과를 표시하기 위해 변경할 수 있는 대화형 날짜 필드입니다.
HTML 예
parameter_name._parameter_value
를 html
매개변수와 함께 사용하여 대화형 결과 형식을 만들 수도 있습니다.
위의 예를 사용하여 유사한 {% dynamic if %}
논리 구문과 함께 html
매개변수를 추가하여 사용자가 선택한 날짜 세분화에 따라 텍스트 색상을 변경할 수 있습니다.
parameter: date_granularity {
type: unquoted
allowed_value: {
label: "Break down by Day"
value: "day"
}
allowed_value: {
label: "Break down by Month"
value: "month"
}
}
dimension: date {
sql:
{% dynamic if date_granularity._parameter_value == 'day' %}
${created_date}
{% elsif date_granularity._parameter_value == 'month' %}
${created_month}
{% dynamic else %}
${created_date}
{% dynamic endif %};;
html:
{% dynamic if date_granularity._parameter_value == 'day' %}
<font color="darkgreen">{{ rendered_value }}</font>
{% elsif date_granularity._parameter_value == 'month' %}
<font color="darkred">{{ rendered_value }}</font>
{% dynamic else %}
<font color="black">{{ rendered_value }}</font>
{% dynamic endif %};;
}
rendered_value
Liquid 변수는 html
문에서 Liquid 객체 태그 {{ }}
와 함께 결과에 Looker의 기본 형식이 지정된 필드 값을 출력합니다.
최종 결과는 사용자가 선택하는 값에 따라 달라지는 양방향 조건부 형식입니다.
HTML용 Liquid 상호작용의 예를 더 보려면 html
문서 페이지 및 HTML을 사용하여 색상과 글꼴을 변경하는 방법 고객센터 도움말을 참고하세요.
parameter
유형
여러 필드 유형을 parameter
매개변수에 할당할 수 있습니다. 몇 가지 특수한 사례가 이 페이지에 자세히 설명되어 있습니다.
parameters
/type: string
parameter
를 type: string
와 함께 사용하는 경우 parameter_name._parameter_value
parameter
값을 작은따옴표와 큰따옴표로 묶어야 합니다. 그러면 작은 따옴표가 SQL로 전송되어 값이 문자열 값으로 식별됩니다. 아래 예시를 참조하세요.
parameter: date_granularity {
type: string
allowed_value: { value: "Day" }
allowed_value: { value: "Month" }
}
dimension: date {
label_from_parameter: date_granularity
sql:
{% dynamic if date_granularity._parameter_value == "'Day'" %}
${created_date}::VARCHAR
{% elsif date_granularity._parameter_value == "'Month'" %}
${created_month}::VARCHAR
{% dynamic else %}
NULL
{% dynamic endif %} ;;
}
또한 label
에 type: string
이 있는 parameter
값을 포함하려면 큰따옴표를 `` 문자로 시작해야 합니다.
label: "{% dynamic if test._parameter_value == \\\\"'foo'\\\\" %} 'SUCCESS' {% dynamic else %} 'FAIL' {% dynamic endif %}"
parameters
/type: yesno
type: yesno
와 함께 parameter
를 사용하면 parameter_name._parameter_value
true
로 평가되는 SQL 문을 생성합니다. 따라서 논리적 Liquid 문에 type: yesno
의 parameters
를 사용하지 않는 것이 좋습니다. {% dynamic if yesno_parameter._parameter_value == 'Yes' %}
{% dynamic if yesno_parameter._parameter_value %}
parameters
/type: unquoted
unquoted
유형은 parameter
의 값을 {% parameter %}
Liquid 변수에 삽입할 때 따옴표로 묶지 않는다는 점을 제외하면 type: string
와 유사합니다. 위의 예와 같이 올바르게 작동하기 위해 따옴표로 묶을 수 없는 열 또는 테이블 이름과 같은 값을 SQL에 삽입할 때 유용합니다.
따옴표가 없는 값을 SQL에 직접 삽입하면 원치 않는 SQL 작업이 발생할 가능성이 있습니다. 이 문제를 해결하기 위해 type: unquoted
의 parameter
값이 공백 또는 기타 특수문자가 아닌 A부터 Z까지, 0~9로 제한됩니다.
예를 들어 다음 LookML은 따옴표로 묶이지 않은 값을 생성하는 table_name
라는 parameter
를 만듭니다.
parameter: table_name {
type: unquoted
}
parameters
/type: date_time
date_time
유형 parameter
를 사용하면 사용자가 필터에서 특정 날짜를 선택할 수 있습니다. 사용 가능한 가장 상세한 방법은 YYYY/MM/DD
입니다. 사용자는 날짜 필터 값 1개만 선택할 수 있으며, 필터 조건을 is on the day
로 설정하여 날짜를 선택하거나 matches a user attribute
로 설정하여 날짜/시간 사용자 속성을 선택할 수 있습니다.
예를 들어 다음은 date_selector
라는 date_time
매개변수입니다.
parameter: date_selector {
type: date_time
description: "Use this field to select a date to filter results by."
}
탐색에서 선택한 경우, 날짜 선택기에서 사용자가 하나의 특정 날짜를 선택할 수 있습니다.
사용자가 Looker의 더욱 세부적인 SQL 날짜 필터 로직(is in the past
, is in range
등)을 활용할 수 있도록 하려면 자세한 내용은 템플릿 필터 문서 페이지를 참고하세요.
추가 리소스
템플릿 필터 문서 페이지에는
parameter
의 논리 표현식 및 사용 사례에 대한 추가 예시가 표시됩니다.고객센터는 Liquid 사용 사례 예시를 위한 유용한 리소스입니다. 고객센터 도움말 HTML 및 링크를 사용한 맞춤 드릴링에서는
link
및html
매개변수와 함께 Liquid를 사용하여 맞춤 드릴을 만드는 방법을 보여줍니다. 더 강력한 데이터 드릴링 고객센터 도움말에서html
및link
를 사용한 고급 커스텀 드릴링 솔루션을 보여줍니다.