용도
필터: filter_name { ... }
}
계층 구조
filter |
기본값
없음결제 가능
필터의 이름을 지정하는 Looker 식별자특수 규칙
필터 이름은 동일한 view 내에서 다른 필터, dimension 또는 measure 와 공유할 수 없습니다.
|
정의
filter
매개변수는 필터 전용 필드와 해당 필터의 이름을 선언합니다. 사용자는 탐색 중에 필터 전용 필드를 필터로 추가할 수 있지만 결과 세트에 추가할 수는 없습니다. 이러한 필터 전용 필드는 고급 LookML 주제인 템플릿 필터를 통해 유용합니다. filter
를 사용하여 숨겨진 필드로 필터링 예를 참조할 수도 있습니다.
필터 이름은 다음 요건을 충족해야 합니다.
- 특정 뷰 내에서 고유해야 합니다.
a
부터z
까지의 문자(대문자 없음),0
~9
또는_
로 구성- 영문자로 시작해야 합니다.
필터 입력란에는 측정기준, 필터, 매개변수 유형 도움말 페이지에 자세히 설명되어 있습니다.
Examples
다음은 filter
매개변수 사용에 관한 예입니다.
사용자 지정 필터 만들기
사용자가 order_region
를 지정할 수 있는 필터를 만듭니다.
filter: order_region {
type: string
}
템플릿 필터로 동적 파생 테이블 정의
템플릿 필터 및 유동 매개변수 문서 페이지에 표시된 대로 파생된 표를 정의하여 사용자가 지정한 지역의 고객 전체 기간 지출을 계산합니다. 이 예에서는 이전 예에서 만든 filter
를 템플릿 필터의 일부로 사용합니다. filter
입력은 WHERE
절에서 Liquid 변수와 함께 사용됩니다.
view: customer_facts {
derived_table: {
sql:
SELECT
customer_id,
SUM(sale_price) AS lifetime_spend
FROM
order
WHERE
{% condition order_region %} order.region {% endcondition %}
GROUP BY 1
;;
}
filter: order_region {
type: string
}
}
filter
와 함께 sql
매개변수 사용
filter
와 함께 sql
매개변수를 사용할 수도 있습니다. 이 값은 필터에 값이 있을 때마다 SQL WHERE
절에 적용됩니다. 이렇게 하면 사용자 필터 입력을 기반으로 동적 WHERE
절이 허용됩니다.
다음 예에서는 데이터 세트에 존재하는 사용자 이름만 허용하는 필터를 만듭니다.
filter: user_enabled {
type: string
suggest_dimension: user_name
sql: EXISTS (SELECT user_id FROM users WHERE {% condition %} user_name {% endcondition %} and state = 'enabled') ;;
}
위의 예에서 데이터 세트에 있는 사용자 이름의 전체 목록이 'Zach', 'Erin', 'Brett'이면 다음과 같은 WHERE
절이 필터에 적용됩니다.
WHERE EXISTS (SELECT user_id FROM users WHERE user_name in ('Zach', 'Erin', 'Brett') and state = 'enabled')
이 페이지에서 filter
를 사용하여 숨겨진 필드로 필터링 섹션을 참고하여 filter
에서 sql
매개변수를 사용하는 방법의 예시를 확인하세요.
filter
를 사용하여 동적 파생 테이블 및 사용자 정의 필터 정의
동적 리전 값으로 파생된 테이블을 정의하는 위의 예를 사용하여 템플릿 필터와 함께 sql
매개변수를 사용하면 파생된 테이블과 기본 Looker에서 생성된 쿼리 모두에 적용되는 WHERE
절을 동적으로 빌드할 수 있습니다.
view: customer_facts {
derived_table: {
sql:
SELECT
customer_id,
SUM(sale_price) AS lifetime_spend
FROM
order
WHERE
{% condition order_region %} order.region {% endcondition %}
GROUP BY 1
;;
}
filter: order_region {
type: string
sql: {% condition order_region %} ${region} {% endcondition %} ;;
}
dimension: region {
type: string
sql: ${TABLE}.region ;;
}
위 예에서는 사용자가 필터 order_region
에 입력을 제공하여 region
측정기준에 값을 제공합니다. 그러면 region
측정기준이 파생된 테이블 SQL에서 WHERE
절의 값을 제공하고, filter
정의의 sql
매개변수로 인해 Looker에서 생성된 쿼리의 WHERE
절 값을 제공합니다.
filter
를 사용하여 숨겨진 필드로 필터링
filter
를 사용하여 사용자가 필터링할 수 있는 측정기준을 만드는 동시에 사용자가 쿼리에서 측정기준을 선택하지 못하게 할 수 있습니다.
- 먼저
hidden: yes
를 사용하여 문제가 되는 측정기준을 숨깁니다. 즉, 사용자가 탐색 필드 선택 도구에서 선택할 수 없는 측정기준입니다.
dimension: field_to_hide {
type: string
hidden: yes
sql: ${TABLE}.field_to_hide ;;
}
- 이제
filter
필드를 만들어field_to_hide
측정기준에 연결합니다.
filter: filter_on_field_to_hide {
type: string
sql: {% condition filter_on_field_to_hide %} ${field_to_hide} {% endcondition %} ;;
}
filter
과 함께 sql
매개변수 사용 예시에서 설명한 것처럼 filter
필드의 sql
매개변수는 SQL을 쿼리의 WHERE
절에 직접 적용합니다. 이 경우 sql
는 filter_on_field_to_hide
필터에 지정된 필터 조건을 받아 ${field_to_hide}
측정기준에 적용합니다.
이렇게 하면 field_to_hide
필터를 숨기면서 filter_on_field_to_hide
필터를 사용하여 field_to_hide
로 쿼리를 필터링할 수 있습니다.