기간별 비교 (PoP) 분석은 현재의 어떤 값을 측정하고 이를 과거의 유사한 기간에서의 동일한 값과 비교하는 분석 패턴입니다.
PoP 측정값을 지원하는 방언의 경우 Looker 개발자는 LookML 프로젝트에 PoP 측정값을 추가하여 해당 Looker 탐색에서 PoP 분석을 활성화할 수 있습니다.
예를 들어, 다음 Looker Explore 쿼리는 현재 월에 생성된 주문 수와 함께 작년에 생성된 주문 수, 작년 대비 차이, 작년 대비 변화율에 대한 PoP 측정값을 보여줍니다. 전년 대비 비교는 무작위로 값을 확인하여 검증할 수 있습니다. 예를 들어, 2012-03의 작년 주문량 값은 2011-03의 주문 건수 값과 동일합니다.

LookML 프로젝트에 PoP 측정값을 추가하려면 Looker 개발자는 type: period_over_period의 measure을 생성하고 이 페이지의 다음 섹션에 설명된 하위 매개변수을 포함해야 합니다.
예를 들어, 다음은 전년도 주문 건수를 제공하는 PoP 측정값에 대한 LookML입니다.
measure: order_count_last_year {
type: period_over_period
description: "Order count from the previous year"
based_on: orders.count
based_on_time: orders.created_year
period: year
kind: previous
}
이 PoP 측정값은 다음과 같은 속성을 가지고 있습니다.
based_on: orders.count으로 정의되어 있으므로 PoP 측정값은 이전 기간의 주문 건수에 대한 데이터를 제공합니다.- 이는
kind: previous으로 정의되며, 이전 기간의 주문 건수 값을 제공한다는 의미입니다 (이전 기간과의 주문 건수 차이 또는 이전 기간 대비 주문 건수 변화율을 제공하는 것과는 반대입니다). period: year으로 정의되어 있으므로 전년도와 비슷한 기간의 주문 건수를 제공합니다.
PoP 측정의 하위 매개변수
PoP 측정은 다음 섹션에서 설명하는 하위 매개변수를 포함하는 measure of type: period_over_period입니다.
PoP 측정값으로 Explore 쿼리 섹션에 설명된 대로 PoP 측정값은 PoP 측정값의 LookML 정의와 Explore 쿼리의 필드를 모두 기반으로 값을 계산합니다. 따라서 LookML에서 PoP 측정값을 생성할 때는 다음과 같은 모범 사례를 준수해야 합니다.
- Explore 사용자에게 PoP 측정의 기간을 PoP 측정 이름이나 측정의
description하위 매개변수에 표시하세요. - Explore 사용자에게 PoP 측정의
based_on측정에 대한 표시를 PoP 측정의 이름이나 측정의description하위 매개변수에 제공합니다.
예를 들어, 다음 PoP 측정값은 order_count_last_year으로 명명되었으며, 해당 측정값이 전년도 주문 건수를 제공한다는 것을 사용자에게 알리기 위한 설명이 포함되어 있습니다.
measure: order_count_last_year {
type: period_over_period
description: "Order count from the previous year"
based_on: orders.count
based_on_time: orders.created_year
period: year
kind: previous
}
based_on
based_on 필드를 사용하여 PoP 측정값이 기반으로 하는 LookML 측정값을 지정합니다. 예를 들어, orders.count 필드를 기반으로 PoP 측정값을 만들려면 다음과 같이 입력합니다.
based_on: orders.count
orders.count을 기반으로 하는 PoP 측정값은 이전 기간의 주문 건수에 대한 정보를 제공하므로 현재 기간과 이전 기간의 판매량을 비교할 수 있습니다.
based on 필드에 지정하는 LookML 측정값은 다음 측정값 유형 중 하나여야 합니다.
averageaverage_distinctcountcount_distinctlistmaxmedianmedian_distinctnumberminpercentilepercentile_distinctsumsum_distinct
based_on_time
based_on_time 하위 매개변수를 사용하여 Looker가 PoP 측정값을 계산하는 데 사용할 수 있는 시간 필드를 제공합니다. 이 시간 필드는 다음 중 하나일 수 있습니다.
- 시간 기반 측정기준
based_on_time하위 매개변수에 시간 기반 측정기준을 지정하는 경우 사용자는 PoP 측정항목을 사용하는 모든 쿼리에 정확히 동일한 시간 기반 측정기준을 포함해야 합니다. 또한 시간 기반 측정기준의 기간은 PoP 측정항목의period값보다 작거나 같아야 합니다. 예를 들어 PoP 측정항목이based_on_time: created_month로 정의된 경우 PoP 측정항목의period값은week또는date일 수 없습니다. type: time의 측정기준 그룹의 다음 기간 중 하나:yearfiscal_yearmonthfiscal_quarterquarterweekdateraw
type: custom_calendar측정기준 그룹의 다음 기간 중 하나custom_datecustom_periodcustom_quartercustom_seasoncustom_weekcustom_year
based_on_time 하위 매개변수에 측정기준 그룹 기간을 지정하는 경우 사용하는 특정 기간은 관련이 없습니다. PoP 측정항목이 측정기준 그룹의 기본 타임스탬프를 사용할 수 있도록 PoP 측정항목을 type: time 측정기준 그룹에 지정하기만 하면 됩니다. type: duration의 측정기준 그룹에서 기간을 지정할 수 없습니다. 기간 유형 측정기준 그룹은 지원되지 않으며 Explore에서 런타임 오류가 발생합니다.
kind
kind 매개변수를 사용하여 PoP 측정값이 이전 기간에 대해 수행할 계산 유형을 지정합니다. kind에 다음 값 중 하나를 지정할 수 있습니다.
previous: (기본값) 이전 기간의 값입니다.difference: 기간 간 차이 (현재 기간에서 이전 기간을 뺀 값)입니다.relative_change: 이전 기간 대비 변동률입니다. 변화율은 다음 방정식으로 계산됩니다.$$ relativeChange = (current - previous)/previous $$
period
period 하위 매개변수를 사용하여 PoP 측정항목의 주기, 즉 비교에서 얼마나 뒤로 이동할지 지정합니다. 예를 들어 period: year로 정의된 PoP 측정값은 전년도 값을 표시합니다. 월별 주문 수에 대해 Explore 쿼리를 실행하면 period: year PoP 측정항목에 전년도 동일한 달의 값이 표시되므로 2025년 11월의 주문 수를 2024년 11월의 판매 수와 비교할 수 있습니다.
period 하위 매개변수는 다음 값을 지원합니다.
yearfiscal_yearquarterfiscal_quartermonthweekdate
custom_calendar_period
PoP 측정값이 맞춤 캘린더를 기반으로 하는 경우 (PoP 측정값의 based_on_time 매개변수가 type: custom_calendar의 측정기준 그룹의 기간을 지정하는 경우) period 매개변수 대신 custom_calendar_period 매개변수를 사용해야 합니다.
custom_calendar_period 하위 매개변수를 사용하여 PoP 측정항목의 주기, 즉 비교에서 얼마나 뒤로 이동할지 지정합니다. 예를 들어 custom_calendar_period: custom_year로 정의된 PoP 측정값은 맞춤 캘린더에 정의된 대로 전년도 값을 표시합니다. custom_monthly 주문 수에 대해 Explore 쿼리를 실행하면 custom_calendar_period: custom_year PoP 측정항목에 전년도 같은 달의 값이 표시되므로 2026년의 맞춤 월 주문 수를 2025년의 동일한 맞춤 월 판매 수와 비교할 수 있습니다.
custom_calendar_period 하위 매개변수는 다음 값을 지원합니다.
custom_datecustom_periodcustom_quartercustom_seasoncustom_weekcustom_year
맞춤 달력을 사용하는 PoP 측정항목을 만드는 방법에 대한 자세한 내용은 맞춤 달력으로 PoP 측정항목 사용하기 섹션을 참고하세요.
value_to_date
value_to_date 하위 매개변수를 사용하여 Looker가 쿼리가 실행될 때 현재 기간에서 경과된 시간을 사용하여 PoP 측정항목의 값을 계산해야 하는지 여부를 나타냅니다. value_to_date 하위 매개변수는 no (기본값) 또는 yes일 수 있습니다.
- 값이
no이면 데이터를 집계할 때 전체 기간 창이 가정됩니다. yes값을 사용하면 현재 기간에 관찰된 시간이 계산되어 PoP 측정에 적용됩니다.
예를 들어 value_to_date: yes로 정의된 전월 대비 PoP 측정항목을 사용하는 경우 6월 6일 13시 10분에 PoP 측정항목과 날짜 기간 측정기준을 사용하여 탐색 쿼리를 실행하면 Looker에서 6월 6일에 경과된 시간 (13시간 10분 0초)을 쿼리의 각 날짜 계산에 적용합니다. 각 날짜에 대해 Looker는 처음 13시간 10분의 값을 제공합니다.
value_to_date: no로 정의된 동일한 PoP 측정항목이 있고 6월 6일 13시 10분에 동일한 탐색 분석 쿼리를 실행한 경우 Looker는 각 날짜에 사용할 수 있는 모든 데이터를 사용하여 PoP 값을 계산합니다. 6월 6일의 값을 이전 달 6일의 값과 비교하려는 경우 6월 6일이 아직 끝나지 않았으므로 13시 10분 이후에 추가 데이터가 있을 수 있습니다.
value_to_date: yes이 Explore 쿼리의 결과에 미치는 영향을 보여주는 예는 value_to_date이 PoP 측정값에 미치는 영향을 참고하세요.
PoP 측정항목이 포함된 Explore 쿼리 요구사항 섹션에 설명된 대로 PoP 측정항목이 포함된 Explore 쿼리를 실행하면 Looker에서 쿼리의 최소 기간 세부사항을 PoP 측정항목에서 사용하는 기간에 자동으로 적용합니다. value_to_date: yes로 정의된 PoP 측정값이 있는 Explore 쿼리의 경우 Looker는 쿼리에서 가장 작은 기간 측정기준을 가져와 쿼리가 실행될 때 경과한 기간의 부분을 계산한 다음 해당 부분을 PoP 측정값의 모든 값에 적용합니다.
PoP 측정값으로 쿼리 살펴보기
PoP 측정항목에 대해 실행되는 계산은 PoP 측정항목의 LookML 정의와 탐색 분석 쿼리 자체에 지정된 기간을 기반으로 합니다. PoP 측정항목은 탐색 분석 쿼리에서 선택된 기간에 맞게 계산을 조정합니다. 예를 들어 PoP 측정값이 period: year로 정의되고 탐색 분석 쿼리에 orders.created_month 기간 측정기준이 포함된 경우 PoP 측정값은 2025년 1월과 2024년 1월을 비교하여 월별 값을 계산합니다. 연간 값을 확인하려면 PoP 측정값과 orders.created_year 기간만 사용하여 Explore 쿼리를 실행해야 합니다.
다음은 PoP 측정항목의 period이 Explore 쿼리에서 선택된 기간과 상호작용하는 방식의 예입니다.
period: year로 PoP 측정항목이 정의되어 있고 분기 기간으로 Explore 쿼리를 실행하면 PoP 측정항목은 전년도의 동일한 분기의 값을 반환합니다 (2024년 1분기와 비교하여 2025년 1분기).period: year로 PoP 측정항목이 정의되어 있고 월 기간으로 Explore 쿼리를 실행하면 PoP 측정항목은 전년도 같은 달의 값을 반환합니다 (2024년 4월과 비교하여 2025년 4월).period: month로 PoP 측정항목이 정의되어 있고 월 기간으로 Explore 쿼리를 실행하면 PoP 측정항목은 이전 달의 값을 반환합니다 (2025년 3월과 비교한 2025년 4월).
PoP 측정값이 포함된 Explore 쿼리의 요구사항
PoP 측정값은 PoP 측정값의 LookML 정의와 Explore 쿼리에서 선택한 필드를 모두 기반으로 계산하므로 PoP 측정값이 있는 Explore 쿼리에는 다음 필드가 최소한 포함되어야 합니다.
- PoP 측정입니다.
- PoP 측정과 연결된
period에 적합한 시간 측정기준입니다. 시간 측정기준은 Explore의 필드 선택 도구 또는 Explore의 필터에서 쿼리에 포함할 수 있습니다.- PoP 측정값 쿼리는 월, 분기, 연도와 같은 날짜 이상의 기간 세분화 단위를 지원합니다. PoP 측정 쿼리는 시간 또는 분 단위 기간의 측정기준을 지원하지 않습니다.
- PoP 측정항목이 측정기준 그룹의 기간인
based_on_time로 정의된 경우 Explore 쿼리에는 PoP 측정항목의period매개변수에 지정된 기간보다 같거나 작은 기간을 사용하는 동일한 측정기준 그룹의 기간이 포함되어야 합니다. Explore 자체에 측정기준 그룹을 포함하거나 (Explore의 필드 선택 도구에서 측정기준 그룹을 선택하여) 측정기준 그룹을 기준으로 필터링할 수 있습니다. 예를 들어 PoP 측정값의based_on_time값이orders.created측정기준 그룹의 기간으로 정의되고 PoP 측정값이period: month로 정의된 경우 탐색 분석 쿼리에는orders.created_date와 같이 1개월 이하인orders.created측정기준 그룹의 기간이 포함되어야 합니다. 예를 들어 1년 기간을 월별로 비교할 수 없으므로 Explore 쿼리의 기간이 일치하거나 더 작아야 합니다. - PoP 측정이 시간 기반 측정기준인
based_on_time으로 정의된 경우 Explore 쿼리는 Explore의 필드 선택기에서 측정기준을 포함하거나 측정기준에 필터를 지정하여 정확히 동일한 시간 기반 측정기준을 포함해야 합니다. 시간 기반 측정기준은 PoP 측정의period매개변수에 지정된 기간과 같거나 더 작은 기간이어야 합니다. 예를 들어 PoP 측정값이based_on_time: created_date로 정의되고 PoP 측정값이period: month로 정의된 경우 Explore 쿼리에created_date측정기준이 포함되어야 합니다.
PoP 측정값이 측정기준 그룹의 기간인 based_on_time로 정의된 경우 탐색 쿼리의 기간에 대한 다음 요구사항을 참고하세요.
- Explore 쿼리의 기간은 PoP 측정항목의
period매개변수에 지정된 기간과 같거나 더 짧아야 합니다. 예를 들어 PoP 측정의based_on_time가orders.created측정기준 그룹의 기간으로 정의되고 PoP 측정이period: month로 정의된 경우 탐색 분석 쿼리에는orders.created_date와 같이 1개월 이하인orders.created측정기준 그룹의 기간이 포함되어야 합니다. 예를 들어 1년 기간의 월별 비교는 할 수 없으므로 탐색 쿼리의 기간이 더 작아야 합니다. - Explore 쿼리의 기간 자체에 타임스탬프 정보가 포함되어야 합니다. 예를 들어 측정기준 그룹의
year,month,date기간은 실제 타임스탬프 정보를 제공합니다. 반면day_of_week기간은 기본 타임스탬프에서 추상화되어Wednesday과 같은 값을 제공합니다. 마찬가지로month_name,month_num,day_of_month와 같은 기간은 타임스탬프 정보를 제공하지 않으므로 PoP 측정에서 이전 기간의 값을 계산하는 데 사용할 수 없습니다. 하지만 탐색 분석 쿼리에date와 같은 타임스탬프를 포함하면 이전 기간의 값을 계산하는 데 사용할 수 있는 타임스탬프 정보가 PoP 측정에 제공됩니다. PoP 측정항목은 계산에date기간 정보를 사용할 수 있으므로 Explore 쿼리에day_of_week기간을 포함할 수도 있습니다.
Explore 쿼리에서 이러한 요구사항을 충족하는 한 Explore 쿼리에 다른 필드와 기간 측정기준을 추가할 수 있지만 Explore 쿼리의 모든 기간은 PoP 측정의 period 기간보다 작거나 같아야 합니다. PoP 측정항목으로 Explore 쿼리를 실행하면 Looker가 쿼리의 최소 기간 세부사항을 PoP 측정항목에서 사용하는 기간에 자동으로 적용합니다. 이 페이지의 시작 부분에 표시된 Explore 예시에서 PoP 측정값은 모두 LookML에서 period: year로 정의되었습니다. 즉, 탐색 분석 쿼리에서 선택한 기간(이 경우 월별 기간)에 대해 PoP 측정항목은 전년도의 동일한 기간에 대한 결과를 반환합니다.
탐색에서 PoP 측정에 지원되는 기간을 확인하려면 쿼리를 실행하지 않고도 다양한 기간을 테스트할 수 있습니다. 탐색의 데이터 섹션에서 SQL 탭을 클릭한 다음 탐색의 필드 선택기에서 필드와 필터를 추가합니다. PoP 측정값이 선택한 필드 및 필터를 사용하여 쿼리를 계산할 수 없는 경우 SQL 탭에 SQL을 생성할 수 없다는 메시지가 표시됩니다.

SQL 쿼리를 생성할 수 없는 경우, 탐색 창에 오류 세부 정보와 관련 LookML 링크가 표시됩니다.

사용자 지정 캘린더에서 PoP 측정 사용
사용자 지정 캘린더를 사용하는 PoP 측정값을 만들려면 다음 단계를 수행해야 합니다.
- 그 안에서사용자 지정 캘린더를 모델링하는 뷰 파일을 확인하세요. 선택적으로 포함할 수 있습니다.
previous_ordinal_mapping매개변수 블록calendar_definition매개변수 블록. Looker 26.8 버전부터previous_ordinal_mapping매개변수는 선택 사항입니다. Looker 26.8 이상 버전에서는 사용자 지정 달력의 경우 1주차의 이전 주가 52주차이고, 1일차의 이전 날이 364일차라고 가정합니다. 사용자 지정 캘린더의 경우 이와 같지 않다면previous_ordinal_mapping매개변수 블록을 사용해야 합니다. - PoP 측정값의 LookML 정의에서,
based_on_time매개변수는 연도별 기간을 지정합니다.차원 그룹type: custom_calendar - PoP 측정의 LookML 정의에서 다음을 사용합니다.
custom_calendar_period매개변수 대신에period매개변수.
예를 들어, 다음은 사용자 지정 캘린더 차원 그룹과 해당 사용자 지정 캘린더를 사용하는 PoP 측정값에 대한 LookML입니다.
dimension_group: cust_created {
type: custom_calendar
sql: {TABLE}.created_at;;
based_on_calendar: cust_retail_calendar
custom_timeframes: [custom_year, custom_quarter]
}
measure: count_last_custom_year {
type: period_over_period
based_on: count
based_on_time: cust_created_custom_year
custom_calendar_period: custom_year
kind: previous
}
예시
다음 섹션에서는 다양한 PoP 측정 방법과 탐색 쿼리의 몇 가지 예를 보여줍니다.
수치를 전년 대비 및 전월 대비 PoP 측정치와 비교
다음은 예시 측정값 total_births, type:time의 birth 차원 그룹, 그리고 total_births 측정값을 기반으로 하고 birth 차원 그룹을 based_on_time 필드로 사용하는 두 개의 PoP 측정값에 대한 LookML입니다.
dimension_group: birth {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
sql: ${TABLE}.birth_date ;;
}
measure: total_births {
type: sum
sql: ${TABLE}.total_births ;;
}
measure: total_births_last_year {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
period: year
value_to_date: no
value_format_name: decimal_0
}
measure: total_births_last_month {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
period: month
value_to_date: no
value_format_name: decimal_0
}
다음 사항에 유의하십시오.
- PoP 측정값은 둘 다
kind: previous으로 정의되므로 둘 다 이전 기간의 측정값을 제공합니다. - PoP 측정값은 둘 다
value_to_date: no으로 정의되어 있으므로 둘 다 전체 기간 (즉, 쿼리에서 제공하는 최소 기간 단위)에 대한 측정값을 계산합니다. - PoP 측정값은 둘 다
based_on_time: birth_year으로 정의되어 있으므로 둘 다birth차원 그룹의 기본 타임스탬프를 사용합니다. total_births_last_yearPoP 측정은period: year로 정의되고,total_births_last_monthPoP 측정은period: month로 정의됩니다.
다음은 세 가지 측정 항목과 birth_month 차원 시간 범위를 모두 포함하는 탐색 쿼리입니다.

Explore 결과에 관해 다음 사항에 유의하세요.
- Explore 쿼리에서 가장 작은 측정기준 기간은
birth_month이므로 PoP 측정항목은 월별 값을 제공합니다. - 최근 월인 2024-07 행에서 Total Births Last Month 값은 전월인 2024-06의 총 출생아 수를 보여줍니다. 2024-06 행의 총 출생 수 값을 확인하면 이를 확인할 수 있습니다. 두 값이 일치합니다.
- 최근 월인 2024-07 행에서 전년도 총 출생아 수 값은 전년도 (2023년)의 동일한 월 (07)의 총 출생아 수를 보여줍니다. 2023-07 행의 총 출생 수 값을 확인하면 이를 확인할 수 있습니다. 두 값이 일치합니다.
value_to_date이 PoP 측정값에 미치는 영향
이전 예와 마찬가지로 다음은 total_births 측정값과 type:time의 birth 측정기준 그룹, total_births 측정값을 기반으로 하고 birth 측정기준 그룹을 based_on_time 필드로 사용하는 두 개의 PoP 측정값의 LookML입니다. 하지만 이 예에서는 total_births_last_year_value_to_date PoP 측정은 value_to_date: yes로 정의되고 total_births_last_year PoP 측정은 value_to_date: no로 정의됩니다.
dimension_group: birth {
type: time
timeframes: [raw, time, date, week, month, quarter, year]
sql: ${TABLE}.birth_date ;;
}
measure: total_births {
type: sum
sql: ${TABLE}.total_births ;;
}
measure: total_births_last_year {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
period: year
value_to_date: no
value_format_name: decimal_0
}
measure: total_births_last_year_value_to_date {
type: period_over_period
kind: previous
based_on: total_births
based_on_time: birth_year
value_to_date: yes
period: year
value_format_name: decimal_0
}
다음은 세 가지 측정값과 birth_year 측정기준 기간을 모두 포함하는 Explore 쿼리입니다. 이 탐색 쿼리는 6월 4일 16:25:08에 실행되었으며 이는 value_to_date: yes PoP 측정에 중요한 의미를 갖습니다.

Explore 결과는 value_to_date 하위 매개변수가 PoP 측정의 계산을 어떻게 변경하는지 보여줍니다.
Explore 결과에 관해 다음 사항에 유의하세요.
- 최근 연도인 2024 행에서 전년도 총 출생아 수 값은 전년도인 2023년의 총 출생아 수를 보여줍니다. 2023 행의 총 출생아 수 값을 확인하여 계산을 검증할 수 있습니다. 두 값이 일치합니다.
- 최근 연도인 2024의 행에서 올해 누적 총 출생 수 값이 작년 총 출생 수 값보다 작습니다. Explore 쿼리가 6월 4일 16시 25분 8초에 실행되었고
total_births_last_year_value_to_datePoP 측정값이value_to_date: yes로 정의되어 있기 때문에 Looker는 각 연도의 6월 4일 16시 25분 8초까지의 데이터만 사용하여 연간 값을 계산했습니다.
PoP 측정값이 포함된 Explore 쿼리 필터링
PoP 측정값이 포함된 탐색 분석 쿼리를 필터링할 때는 다음 사항에 유의하세요.
- PoP 측정값이 포함된 Explore 쿼리의 경우 필터링이 지원됩니다. 하지만 PoP 측정 자체는 필터링할 수 없습니다. 예를 들어
birth_month측정기준과total_births,total_births_last_year,total_births_last_monthPoP 측정값을 쿼리하는 첫 번째 예 탐색에서는total_births,total_births_last_year또는total_births_last_monthPoP 측정값으로 쿼리를 필터링할 수 없습니다. - PoP 측정항목의
based_on_time매개변수와 연결된 필드를 필터링할 때 필터의 기간이 쿼리의 기간보다 세부적이면 PoP 측정항목에 쿼리 기간의 필터 값 부분에 대한 결과만 표시됩니다. 예를 들어orders.created_year측정기준에 대해 쿼리하고 1월에 대해 쿼리를 필터링하면 각 연도에 대해 PoP 측정값에 1월 값만 표시됩니다. 이러한 결과가 전체 연도의 결과로 오해될 수 있습니다. - PoP 측정값 Explore 쿼리의 경우 PoP 측정값의 데이터를 계산하기 위해 Looker는 쿼리의 가장 세분화된 기간 세분화로 추가 기간의 데이터를 가져옵니다. 예를 들어 월별 측정기준,
period: year로 정의된 PoP 측정, 지난 6개월의 필터로 Explore 쿼리를 만드는 경우 Looker는 쿼리에서 가장 세부적인 세부사항을 식별합니다. 이 예에서는 PoP 측정의year기간이 됩니다. 이 예에서 Looker는 지난 6개월의 데이터를 가져오고 지난 6개월을 전년도 같은 달과 비교할 수 있도록 1년 분량의 데이터를 추가로 가져옵니다. - PoP 측정치가 포함된 Explore 쿼리의 요구사항에 설명된 대로 PoP 측정치가 포함된 Explore 쿼리에는 PoP 측정치와 연결된
period에 적합한 시간 측정기준이 있어야 합니다. Explore의 필드 선택 도구에서 시간 측정기준을 선택하지 않으면 Looker가 Explore의 필터에 있는 시간 측정기준에서 필요한 정보를 파생시킬 수 있습니다. 이 경우 Looker는 필터의 시간 측정기준을 기준으로 Explore 쿼리 결과를 정렬합니다.
이전 기간 대비 측정항목을 사용한 시각화
표 차트 시각화는 PoP 측정에 권장됩니다. 탐색 분석 쿼리의 필드에 따라 다른 시각화 옵션도 사용할 수 있습니다.
표 형식 차트 이외의 시각화 방법을 사용하는 경우, 시각화 내용이 명확한지 확인하십시오. PoP 측정치는 이전 기간과의 비교를 제공하기 때문에 PoP 측정치를 사용한 시각화는 오해를 불러일으킬 수 있습니다. 예를 들어, kind: previous으로 정의된 전년 대비 PoP 측정값은 올해 날짜에 대한 작년 값을 보여줍니다. 탐색 쿼리에 현재 연도 값과 전년 대비 PoP 측정값이 모두 포함된 경우 시각화에서 현재 연도에 두 개의 값이 표시됩니다.
표 형식 차트 이외의 시각화 방식을 사용하는 경우, 시각화에서 모든 PoP 측정값이 이전 기간과의 비교임을 명확하게 나타내는지 확인하십시오.
PoP 측정의 한계
PoP 측정의 다음과 같은 한계점에 유의하십시오.
- PoP 측정은 새로운 LookML 런타임을 사용하는 LookML 프로젝트에서만 지원됩니다. 만약기존 LookML 런타임을 사용하세요 레거시 기능이 인스턴스에서 활성화되었습니다.매니페스트 파일 프로젝트에는 다음 사항이 반드시 포함되어야 합니다.
new_lookml_runtime:yes성명. - Data Studio의 Looker 커넥터에서는 PoP 측정값이 지원되지 않습니다.
- PoP 측정은 설명된 바와 같이 집계 측정을 기반으로 해야 합니다.
based_on부분. 집계되지 않은 측정값을 기반으로 PoP 측정값을 만들 수는 없습니다. - BI Engine Symmetric Aggregates Labs 기능이 활성화된 인스턴스의 BigQuery 연결의 경우 PoP 측정값이 지원되지만 PoP 측정값이 포함된 SQL 쿼리는 BI Engine Symmetric Aggregates 기능을 사용하지 않습니다.
- PoP 측정치는 코호트 분석을 지원하지 않습니다.
- PoP 측정값은 롤링 계산을 지원하지 않습니다.
- PoP 측정은 항상 현재 기간을 이전 기간과 비교합니다. PoP 측정값을 설정할 때 현재 기간을 이전 기간이 아닌 다른 기간과 비교하도록 설정할 수는 없습니다. 예를 들어, 작년 5월과 올해 12월을 비교하는 PoP 측정값을 만들 수는 없습니다.
- PoP 측정은 현재 2주와 이전 2주를 비교하는 것과 같은 임의의 간격으로 지원되지 않습니다.
- PoP 측정의 매개변수에서는 액체 매개변수가 지원되지 않습니다. 하지만 PoP 측정값의
based_on또는based_on_time필드가 Liquid로 정의된 차원을 가리키는 경우 해당 Liquid가 처리됩니다. 사용자 지정 캘린더를 사용하는 PoP 측정값의 경우:
- (룩커 26.8 이전)
based_on_time매개변수는 다음을 참조해야 합니다.custom_year기간차원 그룹type: custom_calendar. - (Looker 26.8 이전 버전)
custom_calendar_period: custom_year으로 정의된 PoP 측정값의 경우, 사용자 쿼리에custom_week또는custom_date이 포함되어 있으면 Looker는 이전 주 또는 전년도 날짜의 값을 제공합니다.
- (룩커 26.8 이전)
다음 Looker 기능에서는 PoP 측정이 지원되지 않습니다.
PoP 측정값은 생성에 사용할 수 없습니다.사용자 정의 필드 .
주 단위 비교를 위해서는 다음을 생성하는 것이 좋습니다.사용자 지정 달력을 사용하는 PoP 측정 .
회계 기간으로 정의된 기간을 가진 PoP 측정값은 회계 기간이 아닌 기간을 사용하는 탐색 쿼리에서 사용할 수 없습니다. 또한, 회계 기간이 아닌 기간으로 정의된 PoP 측정값은 회계 기간 차원을 사용하는 쿼리에서 사용할 수 없습니다.
PoP 측정치는 회계월 상쇄를 지원하는데, 이는 PoP 측정치의
based_on_time매개변수는 상속됩니다.fiscal_month_offsetExplore와 연결된 LookML 모델 파일의 값입니다. PoP 측정값을fiscal_year또는fiscal_quarter로 정의하면, 해당 PoP 측정값은 탐색 쿼리에서fiscal_year또는fiscal_quarter기간을 지정한 경우에만 탐색 쿼리에서 지원됩니다. 이 경우fiscal_offset_month이 존중됩니다.PoP 측정값의
period은 탐색 쿼리에서 선택한 기간과 같거나 커야 합니다. 예를 들어,period: month으로 정의된 PoP 측정값의 경우, 탐색 쿼리에는 월 단위 이하의 기간 차원(예: 주 또는 일)이 있어야 합니다.PoP 측정값을 사용할 때는 탐색에서
date_time차원과 함께 일치하는 기간 차원을 항상 포함해야 합니다. 예를 들어, 이전 분기의 해당 월에 대한 값을 계산하도록 PoP 측정값을 정의하는 경우, 탐색 창에서 월 차원과 함께 해당 분기 차원 (예:[dimension_name]_quarter)을 포함해야 합니다. 일치하는 기간 차원이 없으면 생성된 SQL은 이전 기간을 계산하기 전에 날짜에 잘림 함수 (예:TIMESTAMP_TRUNC(..., QUARTER))를 적용하여 쿼리가 분기 시작일을 기준으로 평가되도록 합니다.예를 들어 2월을 비교할 때 생성된 SQL은 해당 월 (11월) 대신 이전 분기의 첫 번째 달 (10월) 값을 가져옵니다. 탐색에 일치하는 기간 차원을 포함하면 올바른 SQL 생성 및 그룹화가 보장됩니다.
PoP 측정에 지원되는 데이터베이스 방언
다음 표는 Looker 최신 릴리스에서 PoP 측정값을 지원하는 방언을 보여줍니다.
| 언어 | 지원 여부 |
|---|---|
| Actian Avalanche | |
| Amazon Athena | |
| Amazon Aurora MySQL | |
| Amazon Redshift | |
| Amazon Redshift 2.1+ | |
| Amazon Redshift Serverless 2.1+ | |
| Apache Druid | |
| Apache Druid 0.13.x - 0.17.x | |
| Apache Druid 0.18+ | |
| Apache Hive 2.3+ | |
| Apache Hive 3.1.2+ | |
| Apache Spark 3+ | |
| ClickHouse | |
| Cloudera Impala 3.1+ | |
| Cloudera Impala 3.1+ with Native Driver | |
| Cloudera Impala with Native Driver | |
| DataVirtuality | |
| Databricks | |
| Denodo 7 | |
| Denodo 8 & 9 | |
| Dremio | |
| Dremio 11+ | |
| Exasol | |
| Google BigQuery Legacy SQL | |
| Google BigQuery Standard SQL | |
| Google Cloud AlloyDB for PostgreSQL | |
| Google Cloud PostgreSQL | |
| Google Cloud SQL | |
| Google Spanner | |
| Greenplum | |
| HyperSQL | |
| IBM Netezza | |
| MariaDB | |
| Microsoft Azure PostgreSQL | |
| Microsoft Azure SQL Database | |
| Microsoft Azure Synapse Analytics | |
| Microsoft SQL Server 2008+ | |
| Microsoft SQL Server 2012+ | |
| Microsoft SQL Server 2016 | |
| Microsoft SQL Server 2017+ | |
| MongoBI | |
| MongoSQL | |
| MySQL | |
| MySQL 8.0.12+ | |
| Oracle | |
| Oracle ADWC | |
| PostgreSQL 9.5+ | |
| PostgreSQL pre-9.5 | |
| PrestoDB | |
| PrestoSQL | |
| SAP HANA | |
| SAP HANA 2+ | |
| SingleStore | |
| SingleStore 7+ | |
| Snowflake | |
| Teradata | |
| Trino | |
| Vector | |
| Vertica |