Looker 필터 표현식

필터 표현식은 Looker 쿼리를 필터링하기 위한 고급 방식이며 이 페이지에서 이를 작성하는 방법을 설명합니다. Looker의 Explore 섹션에서 필터를 추가하고 일치(고급) 옵션을 선택하여 이를 사용할 수 있습니다. 필터 표현식은 또한 LookML에서 filter 매개변수를 사용하는 요소에도 사용됩니다.

문자열

설명
FOO 정확히 'FOO'와 같음
FOO,BAR 정확히 'FOO' 또는 'BAR'와 같음
%FOO% 'FOO' 포함, 'buffoon' 및 'fast food'와 일치
FOO% 'FOO'로 시작하고 'foolish' 및 'food'와 일치하지만 'buffoon' 또는 'fast food'와 일치하지 않음
%FOO 'FOO'로 끝나고 'buffoo' 및 'fast foo'와 일치하지만 'buffoon' 또는 'fast food'와 일치하지 않음
F%OD 'F'로 시작하고 'OD'로 끝나고 'fast food'와 일치
EMPTY 문자열이 비어 있거나(문자 수 0) null임(값 없음)
NULL 값이 null임(LookML 필터 표현식의 일부로 사용되는 경우 filters 문서 페이지에 표시된 대로 NULL을 따옴표로 묶음)
-FOO 'FOO'가 아님('FOO'를 제외한 모든 값), 'pizza', 'trash', 'fun'과 일치하지만 'foo'와 일치하지 않음
-FOO,-BAR 'FOO' 또는 'BAR'가 아님, 'FOO' 및 'BAR'를 제외한 모든 값과 일치
-%FOO% 'FOO' 포함 안함, 'buffoon' 또는 'fast food'와 일치하지 않음
-FOO% 'FOO'로 시작하지 않고 'foolish' 또는 'food'와 일치하지 않음
-%FOO 'FOO'로 끝나지 않고 'buffoo' 또는 'fast foo'와 일치하지 않음
-EMPTY 문자열이 비어 있지 않음(문자 수 최소 1개 이상)
-NULL 열의 값이 null이 아님(LookML 필터 표현식의 일부로 사용되는 경우 filters 문서 페이지에 표시된 대로 -NULL을 따옴표로 묶음)
FOO%,BAR 'FOO'로 시작하거나 정확히 'BAR'이고, 'food'와 일치하고 'bar'와 일치하지만 'barfood'와는 일치하지 않음
FOO%,-FOOD 'FOO'로 시작하지만 'FOOD'가 아님
_UF 단일 문자 뒤에 'UF'가 오고 'buffoon'과 일치

문자열 필터에 특수 문자 포함

문자열 필터에 특수문자를 포함하기 위한 규칙은 다음과 같습니다.

  • ", %, _을 포함하려면 이스케이프 문자 ^를 앞에 둡니다. 예를 들면 ^", ^%, ^_입니다.
  • 선행 -를 포함하려면 ^-로 이스케이프합니다. -가 선행 문자인 경우에만 필요합니다. 문자열 내에 있을 때는 -를 이스케이프할 필요가 없습니다.
  • ^를 포함하려면 ^^로 이스케이프합니다.
  • 일반 UI 문자열 필터에 쉼표를 포함하려면 백슬래시 문자(\)를 쉼표 앞에 둡니다. 예를 들면 Santa Cruz\, CA입니다.
  • 필터에 일치(고급) 옵션을 사용하여 쉼표를 포함하려면 쉼표 앞에 이스케이프 문자 ^를 둡니다. 예를 들면 Santa Cruz^, CA입니다.
  • LookML에서 필터 표현식에 쉼표를 포함하려면 이스케이프 문자 ^를 앞에 둡니다. 예를 들면 다음과 같습니다.
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

날짜 및 시간

Looker 날짜 필터링을 사용하면 SQL 날짜 함수 대신 영어 구문을 사용할 수 있습니다.

날짜 및 시간 필터의 기본 구조

예를 들면 다음과 같습니다.

  • {n}은 정수입니다.
  • {interval}은 시간, 일, 주, 개월과 같은 시간 증분값입니다.

    사용하는 문구에 따라 {interval}에 부분 기간 또는 전체 기간을 포함할지 여부가 결정됩니다. 예를 들어 3 days 표현식은 앞의 2일과 현재 부분 일자를 포함합니다. 3 days ago for 3 days 표현식은 이전 3일 전체를 포함하고 현재 부분 일자를 제외합니다. 자세한 내용은 상대적 날짜 섹션을 참조하세요.

  • {time}은 YYYY-MM-DD HH:MM:SS 또는 YYYY/MM/DD HH:MM:SS와 같은 시간 형식 또는 YYYY-MM-DD 또는 YYYY/MM/DD와 같은 날짜 형식을 지정할 수 있습니다. YYYY-MM-DD 형식을 사용할 때는 2016-01과 같이 월 및 일에 해당하는 두 자리 숫자를 모두 포함해야 합니다. 월 또는 일을 한 자리 숫자로 자르면 날짜가 아닌 오프셋으로 해석됩니다. 예를 들어 2016-1은 2016년에서 1을 뺀 연도 즉 2015년으로 해석됩니다.

다음은 사용 가능한 모든 날짜 필터 조합을 보여줍니다.

조합 참고
this {interval} this month this week, this month, this quarter, this year를 사용할 수 있습니다. this day는 지원되지 않습니다. 현재 일자의 데이터를 가져오려면 today를 사용하면 됩니다.
{n} {interval} 3 days
{n} {interval} ago 3 days ago
{n} {interval} ago for {n} {interval} 3 months ago for 2 days
before {n} {interval} ago before 3 days ago
before {time} before 2018-01-01 12:00:00 before는 지정한 시간을 포함하지 않습니다. before 2018-01-01 표현식은 2018년 1월 1일 이전의 모든 일자로부터 데이터를 반환하지만 2018년 1월 1일의 데이터를 반환하지 않습니다.
after {time} after 2018-10-05 after는 지정한 시간을 포함합니다. 따라서 after 2018-10-05 표현식은 2018년 10월 5일과 2018년 10월 5일 이후 모든 날짜의 데이터를 반환합니다.
{time} to {time} 2018-05-18 12:00:00 to

2018-05-18 14:00:00
처음 시간 값은 포함되고 이후 시간 값은 포함되지 않습니다. 따라서 2018-05-18 12:00:00 to 2018-05-18 14:00:00 표현식은 '2018-05-18 12:00:00'부터 '2018-05-18 13:59:59'까지 시간의 데이터를 반환합니다.
this {interval} to {interval} this year to second 각 간격의 시작 시점이 사용됩니다. 예를 들어 this year to second 표현식은 쿼리가 실행된 연도의 시작 시점부터 쿼리가 실행된 초의 시작 시점까지의 데이터를 반환합니다. this week to day는 쿼리가 실행된 주의 시작 시점부터 쿼리가 실행된 일의 시작 시점까지의 데이터를 반환합니다.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday 측정기준 그룹 날짜 필드로 주중 요일을 지정하면 지정된 주중 요일과 일치하는 최신 일자가 반환됩니다. 예를 들어 Dimension Group Date matches (advanced) Monday 표현식은 가장 최근의 월요일을 반환합니다.

또한 이 컨텍스트에서 {day of week}beforeafter 키워드와 함께 사용할 수 있습니다. 예를 들어 Dimension Group Date matches (advanced) after Monday 표현식은 가장 최근의 월요일과 가장 최근의 월요일 이후의 모든 항목을 반환합니다. Dimension Group Date matches (advanced) before Monday 표현식은 가장 최근의 월요일 이전의 모든 일자를 반환하지만 가장 최근의 월요일을 반환하지 않습니다.

측정기준 그룹 주중 요일 필드로 주중 요일을 지정하면 지정된 주중 요일과 일치하는 모든 일자가 반환됩니다. 따라서 Dimension Group Day of Week matches (advanced) Monday 표현식은 모든 월요일을 반환합니다.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week next 키워드는 앞에서 나열된 간격 중 하나가 필요하고 다른 간격에서는 작동하지 않는다는 점에서 고유합니다.
{n} {interval} from now 3 days from now
{n} {interval} from now for {n} {interval} 3 days from now for 2 weeks

날짜 필터는 조합해서 사용할 수도 있습니다.

  • OR 논리 사용: 동일한 필터에 쉼표로 구분해서 여러 조건을 입력합니다. 예를 들어 today, 7 days ago는 '오늘 또는 7일 전'을 의미합니다.
  • AND 논리 사용: 여러 날짜 또는 시간 필터에 조건을 하나씩 입력합니다. 예를 들어 after 2014-01-01생성 날짜 필터에 넣고 before 2 days ago생성 시간 필터에 넣을 수 있습니다. 즉, '2014년 1월 1일과 이후 그리고 2일 전'을 의미합니다.

절대적 날짜

절대적 날짜 필터는 특정 날짜 값을 사용하여 쿼리 결과를 생성합니다. 이러한 필터는 특정 날짜 범위에 해당하는 쿼리를 만들 때 유용합니다.

설명
2018/05/29 2018년 5월 29일 중 언젠가
2018/05/10 for 3 days 2018년 5월 10일 0시 0분 0초부터 2018년 5월 12일 23시 59분 59초까지
after 2018/05/10 2018년 5월 10일 0시 0분 0초 및 이후
before 2018/05/10 2018년 5월 10일 0시 0분 0초 이전
2018/05 2018년 5월 한 달 내
2018/05 for 2 months 2018년 5월부터 2018년 6월까지 두 달 내
2018/05/10 05:00 for 5 hours 2018년 5월 10일 5시 0분 0초부터 2018년 5월 10일 9시 59분 59초까지
2018/05/10 for 5 months 2018년 5월 10일 0시 0분 0초부터 2018년 10월 9일 23시 59분 59초까지
2018 2018년 한 해(2018년 1월 1일 0시 0분 0초부터 2018년 12월 31일 23시 59분 59초까지)
FY2018 2018년에 시작하는 회계 연도 한 해(Looker 개발자가 회계 연도 시작을 4월에 시작하도록 지정한 경우 2018년 4월 1일 0시 0분부터 2019년 3월 31일 23시 59분까지)
FY2018-Q1 2018년에 시작하는 회계 연도의 첫 번째 분기(Looker 개발자가 회계 연도 시작을 4월 시작하도록 지정한 경우 2018년 4월 1일 0시 0분 0초부터 2018년 6월 30일 23시 59분 59초까지)

상대적 날짜

상대적 날짜 필터를 사용하면 현재 날짜 기준의 연속 날짜 값으로 쿼리를 만들 수 있습니다. 상대적 날짜는 쿼리를 실행할 때마다 업데이트되는 쿼리를 만들 때 유용합니다.

다음 모든 예시에서는 오늘 현재 시간이 2018년 5월 18일 금요일 18시 30분 2초라고 가정합니다. Looker에서는 week_start_day로 설정을 변경하지 않는 한 월요일에 한 주가 시작됩니다.

설명
1 second 현재 초(2018년 5월 18일 18시 30분 2초)
60 seconds 60초 전부터 60초 동안(2018년 5월 18일 18시 29분 2초부터 2018년 5월 18일 18시 30분 1초까지)
60 seconds ago for 1 second 60초 전 1초 동안(2018년 5월 18일 18시 29분 2초)

설명
1 minute 현재 분(2018년 5월 18일 18시 30분 0초부터 18시 30분 59초까지)
60 minutes 60분 전 60분 동안(2018년 5월 18일 17시 31분 0초부터 2018년 5월 18일 18시 30분 59초까지)
60 minutes ago for 1 minute 60분 전 1분 동안(2018년 5월 18일 17시 30분 0초부터 2018년 5월 18일 17시 30분 59초까지)

시간

설명
1 hour 현재 시간(2018년 5월 18일 18시 0분부터 2018년 5월 18일 18시 59분까지)
24 hours 24시간 이전 일자의 동일 시간부터 24시간 동안(2018년 5월 17일 19시 0분부터 2018년 5월 18일 18시 59분까지)
24 hours ago for 1 hour 24시간 이전 일자의 동일 시간부터 1시간 동안(2018년 5월 17일 18시 0분부터 2018년 5월 17일 18시 59분까지)

설명
today 현재 일자(2018년 5월 18일 0시 0분부터 2018년 5월 18일 23시 59분까지)
2 days 어제와 오늘 모두(2018년 5월 17일 0시 0분부터 2018년 5월 18일 23시 59분까지)
1 day ago 어제만(2018년 5월 17일 0시 0분부터 2018년 5월 17일 23시 59분까지)
7 days ago for 7 days 이전 7일 전체(2018년 5월 11일 0시 0분부터 2018년 5월 17일 23시 59분까지)
today for 7 days 자정부터 시작하는 현재 일자부터 이후 7일까지(2018년 5월 18일 0시 0분부터 2018년 5월 24일 23시 59분까지)
last 3 days 2일 이전부터 현재 일자 끝까지(2018년 5월 16일 0시 0분부터 2018년 5월 18일 23시 59분까지)
7 days from now 7일 후(2018년 5월 18일 0시 0분부터 2018년 5월 25일 23시 59분까지)

설명
1 week 현재 일주일 기간(2018년 5월 14일 0시 0분부터 2018년 5월 20일 23시 59분까지)
this week 현재 일주일 기간(2018년 5월 14일 0시 0분부터 2018년 5월 20일 23시 59분까지)
before this week 이번 주 시작 전까지(2018년 5월 14일 0시 0분 이전)
after this week 이번 주 시작 이후(2018년 5월 14일 0시 0분 및 이후)
next week 다음 월요일부터 1주 동안(2018년 5월 21일 0시 0분부터 2018년 5월 27일 23시 59분까지)
2 weeks 1주 전 월요일부터 이번 주까지(2018년 5월 7일 0시 0분부터 2018년 5월 20일 23시 59분까지)
last week '1 week ago'의 동의어
1 week ago 1주 전 월요일부터 1주 동안(2018년 5월 7일 0시 0분부터 2018년 5월 13일 23시 59분까지)

개월

설명
1 month 현재 월(2018년 5월 1일 0시 0분부터 2018년 5월 31일 23시 59분까지)
this month '0 months ago'의 동의어(2018년 5월 1일 0시 0분부터 2018년 5월 31일 23시 59분까지)
2 months 이전 2개월(2018년 4월 1일 0시 0분부터 2018년 5월 31일 23시 59분까지)
last month 2018년 4월 전체
2 months ago 2018년 3월 전체
before 2 months ago 2018년 3월 1일 이전
next month 2018년 6월 전체
2 months from now 2018년 7월 전체
6 months from now for 3 months 2018년 11월부터 2019년 1월까지

분기

설명
1 quarter 현재 분기(2018년 4월 1일 0시 0분부터 2018년 6월 30일 23시 59분까지)
this quarter '0 quarters ago'의 동의어(2018년 4월 1일 0시 0분부터 2018년 6월 30일 23시 59분까지)
2 quarters 이전 2분기(2018년 1월 1일 0시 0분부터 2018년 6월 30일 23시 59분까지)
last quarter 1분기 전체(2018년 1월 1일 0시 0분부터 2018년 3월 31일 23시 59분까지)
2 quarters ago 지난 해 4분기 전체(2017년 1월 1일 0시 0분부터 2017년 12월 31일 23시 59분까지)
before 2 quarters ago 지난 해 4분기 이전
next quarter 다음 분기 전체(2018년 7월 1일 0시 0분부터 2018년 9월 30일 23시 59분까지)
2018-07-01 for 1 quarter 3분기 전체(2018년 7월 1일 0시 0분부터 2018년 9월 30일 23시 59분까지)
2018-Q4 4분기 전체(2018년 10월 1일 0시 0분부터 2018년 12월 31일 23시 59분까지)

연도

설명
1 year 현재 연도 전체(2018년 1월 1일 0시 0분부터 2018년 12월 31일 23시 59분까지)
this year 현재 연도 전체(2018년 1월 1일 0시 0분부터 2018년 12월 31일 23시 59분까지)
next year 다음 연도 전체(2019년 1월 1일 0시 0분부터 2019년 12월 31일 23시 59분까지)
2 years 이전 2년(2017년 1월 1일 0시 0분부터 2018년 12월 31일 23시 59분까지)
last year 2017년 전체
2 years ago 2016년 전체
before 2 years ago 2016년 1월 1일 이전 시간 전체(2016년 1월 1일부터 2016년 5월 18일 사이의 일자 포함 안함)

불리언

Looker에서 true 또는 false 유형 값을 필터링하려면 상호 작용하는 true 또는 false 값 유형을 알아야 합니다.

설명
yes 또는 Yes 필드가 true로 평가됨

Looker 개발자: type: yesno 측정기준에는 소문자를 사용하고, filters 매개변수(예: 측정값에 사용되거나 always_filter에 사용되는 매개변수) 대문자 사용
no 또는 No 필드가 false로 평가됨

Looker 개발자: type: yesno 측정기준에는 소문자를 사용하고, filters 매개변수(예: 측정값에 사용되거나 always_filter에 사용되는 매개변수) 대문자 사용
TRUE 필드에 true 포함(불리언 데이터베이스 값을 포함하는 필드의 경우)
FALSE 필드에 false 포함(불리언 데이터베이스 값을 포함하는 필드의 경우)

숫자

숫자 필터는 자연어 표현식(예: 3 to 10) 및 관계 연산자(예: >20)를 모두 지원합니다. Looker는 다중 필터 범위(예: 3 to 10 OR 30 to 100)를 표현하는 OR 연산자를 지원합니다. AND 연산자를 사용하여 관계형 연산자(예: >=3 AND <=10)와 함께 숫자 범위를 표현하여 범위를 지정할 수 있습니다. 또한 숫자 필터는 대수적 간격 표기법을 사용하여 숫자 필드를 필터링할 수 있습니다.

설명
5 정확히 5
NOT 5

<>5

!=5
정확히 5를 제외한 모든 값
1, 3, 5, 7 정확히 1, 3, 5, 7 값 중 하나
NOT 66, 99, 4 정확히 66, 99, 4 중 하나가 아님
>1 AND <100, NOT 2 1보다 크고 100보다 작고, 2가 아님
NOT >1, 2, <100 1보다 작거나 같고, 2가 아니며, 100보다 크거나 같음(Looker는 이것이 불가능한 조건임을 인식하고 대신 SQL 'IS NULL'을 작성함)
5, NOT 6, NOT 7 5이고 6 또는 7이 아님
5.5 to 10

>=5.5 AND <=10
5.5 이상이고 10 이하
NOT 3 to 80.44

<3 OR >80.44
3 미만이거나 80.44 이상
1 to

>=1
1 이상
to 10

<=10
10 이하
>10 AND <=20 OR 90 10을 초과하고 20 이하거나 정확히 90
>=50 AND <=100 OR >=500 AND <=1000 50~100 사이(포함) 또는 500~1,000 사이(포함)
NULL 데이터 없음(LookML 필터 표현식의 일부로 사용되는 경우 filters 문서 페이지에 표시된 대로 NULL을 따옴표로 묶음)
NOT NULL 데이터 있음(LookML 필터 표현식의 일부로 사용되는 경우 filters 문서 페이지에 표시된 대로 NOT NULL을 따옴표로 묶음)
(1, 7) 1 < x < 7로 해석되고 각 엔드포인트가 포함되지 않습니다. 이 표기법은 순서 쌍과 비슷하지만 이 컨텍스트에서는 작업 중인 간격을 나타냅니다.
[5, 90] 5 <= x <= 90으로 해석되고 각 엔드포인트가 포함됨
(12, 20] 12 < x <= 20으로 해석되고 12는 포함되지 않고 20은 포함됨
[12, 20) 12 <= x < 20으로 해석되고 12는 포함되고 20은 포함되지 않음
(500, inf) x > 500으로 해석되고 500이 포함되지 않으며 무한대는 항상 '열림'(포함되지 않음)으로 표현됩니다. inf는 생략 가능하고 (500, inf)(500,)으로 작성할 수 있음
(-inf, 10] x <= 10으로 해석되고 10은 포함되며 무한대는 항상 '열림'(포함되지 않음)으로 표현됩니다. inf는 생략 가능하고 (-inf, 10](,10]으로 작성할 수 있음
[0,9],[20,29] 0~9 사이 또는 20~29 사이 숫자(포함)
[0,10],20 0~10 사이(포함) 또는 20
NOT (3,12) x < 3x > 12로 해석됨

위치

위치 필터 표현식은 위도 및 경도를 기반으로 하지만 일부 자연어를 사용하여 검색을 제한할 상자 및 원을 정의할 수 있습니다.

설명
36.97, -122.03 위치가 정확히 위도 36.97, 경도 122.03임
40 miles from 36.97, -122.03 위치가 위도 36.97, 경도 -122.03에서 40마일 이내임
inside box from 72.33, -173.14 to 14.39, -61.70 위치가 북서쪽 모서리가 위도 72.33, 경도 -173.14에 있고 남동쪽 모서리가 위도 14.39, 경도 -61.70에 있는 상자 내에 있음
NOT NULL (works the same as -NULL) 위치에 null이 아닌 위도 및 null이 아닌 경도가 포함됨(LookML 필터 표현식의 일부로 사용될 경우 filters 문서 페이지에 표시된 대로 NOT NULL을 따옴표로 표시)
-NULL (works the same as NOT NULL) 위치에 null이 아닌 위도 및 null이 아닌 경도가 포함됨(LookML 필터 표현식의 일부로 사용될 경우 filters 문서 페이지에 표시된 대로 -NULL을 따옴표로 표시)
NULL 위치에 null인 위도 또는 null인 경도가 포함되거나 둘 다 null임(LookML 필터 표현식의 일부로 사용될 경우 filters 문서 페이지에 표시된 대로 NULL을 따옴표로 표시)

지원되는 측정 단위

특정 위치 중심의 영역에서 필터링하려면 다음 단위를 사용할 수 있습니다.

  • 미터
  • 피트
  • 킬로미터
  • 마일

단일 측정 단위는 지원되지 않습니다. 예를 들어 1마일 반경으로 필터링은 within 1 miles of 36.97, -122.03으로 작성해야 합니다.

사용자 속성 값

필터 표현식에서 사용자 속성의 값을 사용하려면 데이터 세트 언어에 필요한 구문을 사용해서 사용자 속성을 _user_attributes Liquid 변수로 참조합니다.

{{ _user_attributes['name_of_attribute'] }}

예를 들어 데이터베이스에 값이 저장되는 방식이기 때문에 salesforce_username 사용자 속성의 값에 sf_ 프리픽스를 적용해야 한다고 가정해보세요. 사용자 속성 값에 프리픽스를 추가하려면 관련 필드에 일치(고급) 필터를 추가하고 다음과 같이 필터 표현식에서 _user_attributes Liquid 변수를 사용할 수 있습니다.


sf_{{_user_attributes['salesforce_username']}}

동일한 패턴을 사용해서 LookML 대시보드 필터대시보드 요소 필터에 사용자 속성을 임베딩할 수 있습니다.