필터 표현식은 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} 를 before 및 after 키워드와 함께 사용할 수 있습니다. 예를 들어 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 < 3 및 x > 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 대시보드 필터 및 대시보드 요소 필터에 사용자 속성을 임베딩할 수 있습니다.