dimension_group

사용

view: view_name {
  dimension_group:  field_name { ... }
}
계층 구조
dimension_group
수락함
Looker 식별자 (측정기준 그룹에서 생성된 각 측정기준 이름의 첫 번째 부분으로 사용됨)

특별 규칙
  • 그만큼type 가능하다time, duration, 또는custom_calendar
  • 일반적으로 timeframes 또는 intervals 매개변수와 함께 사용됩니다.
  • 측정기준 그룹이 datetime 필드를 기반으로 하지 않는 경우 datatype 파라미터 사용
  • type: time의 측정기준 그룹의 경우 자동 시간대 변환을 방지하려면 convert_tz 매개변수를 사용하세요.

정의

dimension_group 매개변수는 시간 기반 또는 기간 기반 측정기준을 한 번에 모두 만드는 데 사용됩니다. 측정기준 그룹을 정의하면 측정기준 그룹에서 다양한 간격 또는 기간에 대한 개별 측정기준 세트를 만듭니다. 예를 들어 타임스탬프 열을 기반으로 type: time 측정기준 그룹을 지정하면 측정기준 그룹에서 시간, 날짜, 주, 시간, 분기, 연도로 데이터를 표현하는 해당 측정기준을 만듭니다.

측정기준 그룹의 형식과 기능은 측정기준 그룹의 type 값에 따라 다릅니다.

기간 유형 측정기준 그룹

type: durationdimension_group과 함께 사용하여 일련의 간격 기반 기간 측정기준을 계산합니다.

type: duration의 측정기준 그룹 형식은 다음과 같습니다.

dimension_group: dimension_group_name {
  type: duration
  sql_start: SQL expression ;;  # often this is a single database column
  sql_end: SQL expression ;;  # often this is a single database column
  intervals: [interval, interval, …] # see following explanation for valid intervals
}

type: duration의 측정기준 그룹:

  • sql_startsql_end 매개변수는 기간의 시작 시간과 종료 시간을 정의하는 SQL 표현식을 제공합니다. 자세한 내용은 이 페이지의 기간의 시작과 끝 정의 섹션을 참고하세요.

  • intervals 매개변수는 시간 차이를 측정하는 데 사용해야 하는 하나 이상의 간격 단위를 지정합니다. 가능한 선택사항은 이 페이지의 간격 옵션 섹션에 나열되어 있습니다.

  • 기간 값은 가장 가까운 정수로 내림됩니다.

  • datatype 매개변수는 선택사항입니다. 측정기준 그룹이 날짜/시간을 기반으로 하지 않는 경우 대신 에포크, 타임스탬프, 날짜 또는 yyyymmdd 형식을 지정할 수 있습니다. 차원 그룹 type: duration의 경우 datatype 매개변수는 sql_startsql_end 매개변수 모두에 적용되므로 sql_startsql_end이 모두 지정된 데이터 유형인지 확인하십시오. datatype 매개변수는 이 페이지의 데이터베이스 datatype 지정 섹션에 자세히 설명되어 있습니다.

여기에 나열되지는 않았지만 많은 필드 수준 매개변수를 측정기준 그룹과 함께 사용할 수도 있습니다.

예를 들어, enrollment_dategraduation_date에 대한 열이 있는 경우, 학생들의 학교 체류 시간을 주 단위 및 연 단위로 계산하여 확인할 수 있는 기간 측정기준 그룹을 만들 수 있습니다.

dimension_group: enrolled {
  type: duration
  intervals: [week, year]
  sql_start: ${TABLE}.enrollment_date ;;
  sql_end: ${TABLE}.graduation_date ;;
}

그러면 탐색 UI에 등록된 기간등록된 연도라는 개별 측정기준이 포함된 등록 기간 측정기준 그룹이 생성됩니다.

인터벌 옵션

intervals 매개변수는 측정기준 그룹에 sql_start 시간과 sql_end 시간 간의 시간 차이를 측정하는 데 사용할 간격 단위를 알려줍니다. intervals 매개변수는 type: duration의 측정기준 그룹에만 지원됩니다.

intervals가 포함되지 않으면 측정기준 그룹에 가능한 모든 간격이 포함됩니다.

intervals 매개변수에 대한 옵션은 다음과 같습니다.

간격 설명 출력 예시
day 시간 차이를 일 단위로 계산합니다. 9 days
hour 시간 차이를 시간 단위로 계산합니다. 171 hours
minute 시간 차이를 분 단위로 계산합니다. 10305 minutes
month 시간 차이를 월 단위로 계산합니다. 3 months
quarter 연중 분기별 시간 차이를 계산합니다. 2 quarters
second 시간 차이를 초 단위로 계산합니다. 606770 seconds
week 시간 차이를 주 단위로 계산합니다. 6 weeks
year 시간 차이를 연 단위로 계산합니다. 2 years

기간의 시작과 종료 정의

type: duration 측정기준 그룹의 경우 sql_startsql_end 매개변수는 시간 차이를 계산하는 데 사용되는 시작 및 종료 정보를 제공합니다. 이러한 필드는 타임스탬프, 날짜/시간, 날짜, 에포크 또는 yyyymmdd 형식의 데이터를 포함하는 유효한 SQL 표현식을 사용할 수 있습니다. sql_startsql_end 필드는 다음 중 하나일 수 있습니다.

  • 기존 차원 그룹 type: time에서 raw 시간 프레임에 대한 참조
  • type: date_raw 차원에 대한 참조
  • 타임스탬프인 SQL 표현식(예: 타임스탬프를 저장하는 SQL 열에 대한 참조)
  • 사용하는 SQL 언어에 맞는 표현식을 사용하여 데이터베이스에서 시간을 가져오는 SQL 표현식입니다.
  • ::datetime 또는 ::date 필드 유형 참조를 사용하는 LookML 필드 참조

예를 들어, 날짜 및 시간 정보를 포함하는 faa_event_date_raw이라는 차원이 있다고 가정해 보겠습니다.

dimension: faa_event_date_raw {
  type: date_raw
  sql: ${TABLE}.event_date ;;
}

FAA 이벤트 날짜 이후 경과된 시간을 계산하는 type: duration 측정기준 그룹을 만들 수 있습니다. 이렇게 하려면 faa_event_date_raw 측정기준을 계산의 시작 시간으로 사용하고 계산의 종료 시간에는 현재 시간에 대한 다이얼렉트의 SQL 표현식을 사용하면 됩니다. 이 예시는 MySQL 데이터베이스를 기준으로 작성되었습니다.

dimension_group: since_event {
  type: duration
  intervals: [hour, day]
  sql_start: ${faa_event_date_raw} ;;
  sql_end: CURRENT_TIMESTAMP();;
}

그러면 탐색 UI에 이벤트 발생 후 경과 시간이벤트 발생 후 경과 일수라는 개별 측정기준이 포함된 이벤트 발생 후 경과 기간 측정기준 그룹이 생성됩니다.

다른 LookML 필드의 간격 참조

type: durationdimension_group에서 interval 값을 참조하려면 interval 값의 복수 버전을 사용하여 ${interval_fieldname} 문법을 사용합니다. 예를 들어, 다음 LookML 예제에서 average_days_since_event 측정값은 ${days_since_event}을 사용하여 since_event 측정기준 그룹의 day 간격을 참조합니다.


dimension_group: since_event {
  type: duration
  intervals: [hour, day, week, month, quarter, year]
  sql_start: ${faa_event_date_raw} ;;
  sql_end: CURRENT_TIMESTAMP();;
}

measure: average_days_since_event {
  type: average
  sql: ${days_since_event} ;;
}

기간 필드에 LookML 필드 유형 참조 사용

맞춤 기간 필드를 만들려면 type: duration의 측정기준 그룹에 있는 sql_startsql_end 매개변수에서 참조되는 측정기준에 ::date 또는 ::datetime 참조 유형을 지정하면 됩니다. SQL 통합 및 LookML 객체 참조 문서 페이지에 설명된 view_name.field_name::type 구문을 사용하면 해당 측정기준에 대한 참조를 문자열로 변환하지 않고도 필드의 ::date 또는 ::datetime 버전을 만들 수 있습니다.

예를 들어 time, date, week, month, raw 기간이 있는 type: timecreated 측정기준 그룹이 다음과 같이 정의되어 있다고 가정해 보겠습니다.


dimension_group: created {
  type: time
  timeframes: [time, date, week, month, raw]
  sql: ${TABLE}.created_at ;;
}

created_monthcreated_time 측정기준을 사용하여 created_date 필드의 날짜와 해당 날짜가 속한 달의 첫날 사이의 시간을 주, 일, 시간으로 측정하는 type: duration 측정기준 그룹을 만들 수 있습니다.


dimension_group: since_first_of_month {
  type: duration
  intervals: [week, day, hour]
  sql_start: ${created_month::datetime} ;;
  sql_end: ${created_time::datetime} ;;
}

탐색 UI에서는 이로 인해 월 1일 이후 기간이라는 측정기준 그룹이 생성되고, 개별 측정기준은 월 1일 이후 주, 월 1일 이후 일, 월 1일 이후 시간이 됩니다. sql_startsql_end 매개변수에서 참조되는 필드에 대해 ::datetime 참조 유형을 지정하면 생성된 SQL에서 created_monthcreated_time 차원을 타임스탬프로 처리할 수 있습니다.

예를 들어 사용자가 필드 선택 도구에서 생성일월의 첫날부터 경과한 일수 측정기준을 선택한다고 가정해 보겠습니다. 생성일에 대해 반환된 값 중 하나가 2019-03-10인 경우 월 초 이후 일수에 대해 반환된 값은 9일입니다.

시간 유형 측정기준 그룹

type: timedimension_grouptimeframes 파라미터와 함께 사용되어 시간 기반 측정기준 집합을 만듭니다. 예를 들어 단일 타임스탬프 열을 기반으로 날짜, 주, 월 측정기준을 만들 수 있습니다.

type: time의 측정기준 그룹 형식은 다음과 같습니다.

dimension_group: dimension_group_name {
  type: time
  timeframes: [timeframe, timeframe, …] # see following explanation for valid timeframes
  sql: SQL expression ;;  # often this is a single database column
  datatype: epoch| timestamp | datetime | date | yyyymmdd # defaults to datetime
  convert_tz: yes | no   # defaults to yes
}

type: time의 측정기준 그룹:

  • 그만큼timeframes 이 매개변수는 선택 사항이지만, 생략되는 경우는 드뭅니다. 이는 측정기준 그룹에서 생성해야 하는 하나 이상의 시간 범위를 지정합니다. 만약에timeframes 포함되지 않은 모든 기간 옵션이 차원 그룹에 추가됩니다. 선택 가능한 옵션은 이 페이지의 작업 기간 옵션 섹션에 나열되어 있습니다.

  • type: time 측정기준 그룹의 sql 매개변수는 타임스탬프, datetime, date, epoch 또는 yyyymmdd 형식의 데이터를 포함하는 유효한 SQL 표현식을 사용할 수 있습니다.

  • datatype 매개변수는 선택사항입니다. 측정기준 그룹이 날짜/시간을 기반으로 하지 않는 경우 대신 에포크, 타임스탬프, 날짜 또는 yyyymmdd 형식을 지정할 수 있습니다. 자세한 내용은 다음에서 확인할 수 있습니다.데이터베이스 지정datatype 이 페이지의 섹션입니다.

  • convert_tz 매개변수는 선택사항이며 자동 시간대 변환을 방지할 수 있습니다. 이 페이지의 시간대 변환 및 convert_tz 섹션에 자세히 설명되어 있습니다.

여기에 나열되지는 않았지만 많은 필드 수준 매개변수를 측정기준 그룹과 함께 사용할 수도 있습니다.

예를 들어 일시 정보가 포함된 created_at라는 열이 있다고 가정해 보겠습니다. 이 날짜/시간을 기반으로 날짜, 주, 월 측정기준을 만들려고 합니다. 다음과 같은 방법을 사용할 수 있습니다.

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

탐색 UI에서는 이로 인해 생성일, 생성주, 생성월이라는 이름의 세 가지 차원이 생성됩니다. dimension_group이라는 이름이 시간 범위와 결합되어 차원 이름을 생성하는 방식을 주목하십시오.

기간 옵션

그만큼timeframes 이 매개변수는 차원 그룹에 대해서만 지원됩니다.type: time . type: duration의 측정기준 그룹의 경우 intervals 매개변수를 대신 사용하세요.

timeframes 매개변수는 측정기준 그룹이 생성해야 하는 측정기준을 지정하며 다음 옵션을 포함합니다.

차원 그룹 type: time에 대해 timeframes 매개변수를 사용하지 않거나 timeframes 매개변수를 비워두면 (timeframes: []), Explore에는 해당 측정기준 그룹에 대한 기본 시간 범위 세트가 포함됩니다.

특별 기간

기간 설명 출력 예시
raw 형식 지정이나 시간대 변환 없이 데이터베이스에서 가져온 원시 값입니다. raw는 LookML 내에서만 액세스할 수 있으며 Explore 페이지에는 표시되지 않습니다. raw 기간은 서식이 지정된 문자열을 반환하는 다른 기간과 달리 타임스탬프를 반환합니다. 주로 필드에 대한 날짜 관련 작업을 수행하는 데 사용됩니다. 2014-09-03 17:15:00 +0000
yesno yesno 차원으로, 날짜/시간에 값이 있으면 "예"를, 그렇지 않으면 "아니요"를 반환합니다. 다른 기간과 달리 다른 필드에서 yesno 기간 측정기준을 참조할 때는 참조에 기간을 포함하지 마세요. 예를 들어, dimension_group: created 내의 yesno 작업 기간을 참조하려면 ${created_yesno}이 아닌 ${created} 문법 구문을 사용하십시오. Yes

시간 범위

기간 설명 출력 예시
time 기본 필드의 날짜 및 시간 (일부 SQL 언어는 데이터베이스에 포함된 만큼의 정밀도를 표시하는 반면, 다른 언어는 초까지만 표시함) 2014-09-03 17:15:00
time_of_day 시간 17:15
hour 가장 가까운 시간으로 잘린 datetime 2014-09-03 17
hour_of_day 기본 필드의 정수 시간 17
hourX 각 날짜를 지정된 시간 수의 간격으로 분할합니다. hourX 사용을 참고하세요.
minute 가장 가까운 분으로 잘린 datetime 2014-09-03 17:15
minuteX 각 시간을 지정된 분 수의 간격으로 나눕니다. minuteX 사용을 참고하세요.
second 가장 가까운 초로 잘린 날짜 및 시간 2014-09-03 17:15:00
millisecond 가장 가까운 밀리초로 잘린 datetime입니다 (방언 지원에 관한 자세한 내용은 이 페이지의 밀리초 및 마이크로초에 대한 방언 지원 섹션 참고). 2014-09-03 17:15:00.000
millisecondX 각 초를 지정된 밀리초 수의 간격으로 분할합니다 (방언 지원에 대한 자세한 내용은 이 페이지의 밀리초 및 마이크로초에 대한 방언 지원 섹션 참고). millisecondX 사용을 참고하세요.
microsecond 날짜 및 시간은 가장 가까운 마이크로초 단위로 잘립니다 (방언 지원에 대한 정보는 이 페이지의 밀리초 및 마이크로초에 대한 방언 지원 섹션을 참조하십시오). 2014-09-03 17:15:00.000000

기간(날짜 및 시간)

기간 설명 출력 예시
date 기본 필드의 날짜 2017-09-03

주 기간

기간 설명 출력 예시
week 기본 datetime의 월요일에 시작하는 주의 날짜 2017-09-01
day_of_week 요일만 Wednesday
day_of_week_index 요일 색인 (0 = 월요일, 6 = 일요일) 2

월 기간

기간 설명 출력 예시
month 기본 날짜/시간의 연도 및 월 2014-09
month_num 기본 날짜/시간의 월을 나타내는 정수 9
fiscal_month_num 기본 날짜/시간의 회계 월의 정수 6
month_name 월 이름 September
day_of_month 날짜 3

fiscal_month_num 기간을 사용하려면 모델에서 fiscal_month_offset 매개변수를 설정해야 합니다.

분기별 기간

기간 설명 출력 예시
quarter 기본 datetime의 연도 및 분기 2017-Q3
fiscal_quarter 기본 datetime의 회계 연도 및 분기 2017-Q3
quarter_of_year 연도의 분기(앞에 'Q'가 붙음) Q3
fiscal_quarter_of_year 연도의 회계 분기(앞에 'Q'가 붙음) Q3

사용하려면fiscal_quarter 그리고fiscal_quarter_of_year 시간 범위, fiscal_month_offset 해당 매개변수는 모델에 설정되어야 합니다.

연도별 기간

기간 설명 출력 예시
year 기본 datetime의 정수 연도 2017
fiscal_year 기본 datetime의 정수 회계 연도 FY2017
day_of_year 연중 날짜 143
week_of_year 연중 주를 숫자로 표시 17

fiscal_year 기간을 사용하려면 모델에서 fiscal_month_offset 매개변수를 설정해야 합니다.

hourX 사용

hourX에서 X이 2, 3, 4, 6, 8 또는 12로 대체됩니다.

이렇게 하면 각 날짜가 지정된 시간 수의 간격으로 분할됩니다. 예를 들어, hour6은 하루를 6시간 단위로 나누며, 그 결과는 다음과 같습니다.

  • 2014-09-01 00:00:00
  • 2014-09-01 06:00:00
  • 2014-09-01 12:00:00
  • 2014-09-01 18:00:00

예를 들어 time2014-09-01 08:03:17인 행의 hour62014-09-01 06:00:00입니다.

minuteX 사용

minuteX에서 X은 2, 3, 4, 5, 6, 10, 12, 15, 20 또는 30으로 대체됩니다.

이렇게 하면 각 시간이 지정된 분 단위의 간격으로 분할됩니다. 예를 들어, minute15은 매 시간을 15분 단위로 나누며, 그 결과는 다음과 같습니다.

  • 2014-09-01 01:00:00
  • 2014-09-01 01:15:00
  • 2014-09-01 01:30:00
  • 2014-09-01 01:45:00

예를 들어 time2014-09-01 01:17:35인 행의 minute152014-09-01 01:15:00입니다.

millisecondX 사용

millisecondX에서 X은 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250 또는 500으로 대체됩니다.

이렇게 하면 각 초가 지정된 밀리초 수의 간격으로 분할됩니다. 예를 들어 millisecond250는 각 초를 250밀리초 세그먼트로 분할하며 다음과 같이 표시됩니다.

  • 2014-09-01 01:00:00.000
  • 2014-09-01 01:00:00.250
  • 2014-09-01 01:00:00.500
  • 2014-09-01 01:00:00.750

예를 들어 time2014-09-01 01:00:00.333인 행의 millisecond2502014-09-01 01:00:00.250입니다.

시간대 변환 및 convert_tz

일반적으로 시간 계산 (차이, 기간 등)은 모두 동일한 시간대로 변환된 시간 값을 조작할 때만 올바르게 작동하므로 LookML을 작성할 때 시간대를 염두에 두는 것이 중요합니다.

Looker에는 시간 기반 데이터를 서로 다른 시간대 간에 변환하는 다양한 시간대 설정이 있습니다. Looker는 기본적으로 시간대를 변환합니다. convert_tz 매개변수는 type: time의 측정기준 그룹에 지원됩니다. Looker에서 특정 측정기준 또는 측정기준 그룹에 대해 시간대 변환을 실행하지 않도록 하려면 convert_tz 매개변수 문서 페이지에 설명된 convert_tz 매개변수를 사용하세요.

밀리초 및 마이크로초를 위한 언어 지원

Looker는 마이크로초까지의 기간 정밀도를 지원하지만 일부 데이터베이스는 초까지만 정밀도를 지원합니다. 데이터베이스에서 지원할 수 있는 것보다 더 정확한 시간대가 발견되면 초 단위로 반올림됩니다.

최신 버전의 Looker에서는 다음 언어가 밀리초를 지원합니다.

언어 지원 여부
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

최신 버전의 Looker에서는 다음 언어가 마이크로초를 지원합니다.

언어 지원 여부
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

데이터베이스 datatype 지정

datatype 매개변수를 사용하면 데이터베이스 테이블에서 측정기준 그룹에 제공하는 시간 데이터의 유형을 지정할 수 있어 쿼리 성능이 향상될 수 있습니다.

차원 그룹의 경우type: time, 그datatype 매개변수는 적용됩니다sql 차원 그룹의 매개변수.

type: duration의 측정기준 그룹의 경우 datatype 매개변수가 sql_startsql_end 매개변수에 모두 적용되므로 sql_startsql_end이 모두 지정된 데이터 유형인지 확인하세요.

datatype 매개변수는 다음 값을 허용합니다.

  • epoch: SQL 에포크 필드 (즉, Unix 에포크에서 경과된 시간을 초 단위로 나타내는 정수)입니다.
  • date: SQL 날짜 필드 (즉, 하루 중 시간 정보가 포함되지 않음)
  • datetimeSQL의 날짜/시간 필드입니다.
  • timestamp: SQL 타임스탬프 필드입니다.
  • yyyymmdd: YYYYMMDD 형식의 날짜를 나타내는 정수가 포함된 SQL 필드입니다.

datatype의 기본값은 timestamp입니다.

맞춤 캘린더 유형 측정기준 그룹

LookML 프로젝트에 맞춤 캘린더를 구현한 경우 dimension_group 매개변수와 함께 type: custom_calendar를 사용하여 데이터베이스에 정의한 맞춤 캘린더 테이블을 기반으로 시간 기반 측정기준 집합을 만들 수 있습니다. LookML 프로젝트에서 맞춤 캘린더를 설정하는 방법에 대한 자세한 내용은 Looker에서 맞춤 캘린더 사용 문서 페이지를 참고하세요.

type: custom_calendar의 측정기준 그룹 형식은 다음과 같습니다.

dimension_group: dimension_group_name {
  type: custom_calendar
  custom_timeframes: [custom_timeframe, custom_timeframe, …] # see the following section for valid custom timeframes
  sql: SQL expression ;;  # often this refers to a single database column
  based_on_calendar: custom_calendar_view
}

type: custom_calendar의 측정기준 그룹:

  • custom_timeframes 파라미터는 선택사항입니다. 측정기준 그룹에서 생성해야 하는 하나 이상의 맞춤 기간을 지정합니다. custom_timeframes이 지정되지 않은 경우, 측정기준 그룹은 모든 사용자 지정 기간을 생성합니다. 가능한 맞춤 기간은 이 페이지의 custom_timeframes 섹션에 나열되어 있습니다.

  • type: custom_calendar 측정기준 그룹의 sql 매개변수는 타임스탬프, datetime, date, epoch 또는 yyyymmdd 형식의 데이터를 포함하는 유효한 SQL 표현식을 사용할 수 있습니다.

  • based_on_calendar 매개변수는 LookML에서 모델링한 맞춤 캘린더의 뷰 이름을 지정합니다.

  • convert_tz 매개변수는 선택 사항이며 자동 시간대 변환을 방지할 수 있습니다. 이 페이지의 시간대 변환 및 convert_tz 섹션에 자세히 설명되어 있습니다.

  • datatype 파라미터는 선택사항입니다. 측정기준 그룹이 날짜/시간을 기반으로 하지 않는 경우 대신 에포크, 타임스탬프, 날짜 또는 yyyymmdd 형식을 지정할 수 있습니다. 자세한 내용은 이 페이지의 데이터베이스 데이터 유형 지정 섹션을 참고하세요.

여기에 나열되지는 않았지만 많은 필드 수준 매개변수를 측정기준 그룹과 함께 사용할 수도 있습니다.

다음은 orders.view LookML 파일에서 사용자 지정 캘린더 측정기준 그룹의 예입니다.

view: orders

include: "/views/retail_custom_calendar.view"

dimension_group: created {
  type: custom_calendar
  sql: ${TABLE}.created_at ;;
  custom_timeframes: [custom_year, custom_quarter]
  based_on_calendar: retail_custom_calendar
}

이 사용자 지정 캘린더 차원 그룹에서 다음 요소를 확인하십시오.

  • type: custom_calendar - 측정기준 그룹이 맞춤 캘린더 유형으로 정의됩니다.
  • sql: ${TABLE}.created_at ;; - 측정기준 그룹은 데이터베이스의 orders.created_at 열에서 날짜/시간 정보를 사용합니다.
  • custom_timeframes: [custom_year, custom_quarter] - 측정기준 그룹의 라벨은 Created Custom Calendar이며 Fiscal YearFiscal Quarter 라벨이 지정된 기간이 포함됩니다. 자세한 내용은 맞춤 캘린더 측정기준 그룹의 라벨을 참고하세요.
  • based_on_calendar: retail_custom_calendar - 측정기준 그룹은 LookML 프로젝트의 retail_custom_calendar 뷰에 정의된 맞춤 캘린더의 데이터를 해당 데이터베이스의 orders.created_at 열에 있는 데이터와 조인하여 맞춤 캘린더를 사용하는 쿼리 결과를 제공합니다. 맞춤 캘린더 정의에 대한 자세한 내용은 Looker에서 맞춤 캘린더 사용 문서 페이지를 참고하세요.

custom_timeframes

type: custom_calendar으로 정의된 측정기준 그룹의 경우, 측정기준 그룹에 가능한 모든 사용자 지정 기간을 포함하지 않으려면 custom_timeframes 매개변수를 사용하여 측정기준 그룹에 포함할 기간을 지정할 수 있습니다. 다음 맞춤 기간이 지원됩니다.

기간 설명 가정 (_num 유형의 경우)

custom_date

캘린더 뷰의 특정 날짜입니다.

custom_day_num

캘린더 뷰의 숫자 요일입니다. 최대 371일로 가정

custom_period

캘린더 내의 일반 기간입니다 (예: 4-4-5 캘린더).

custom_period_num

맞춤 기간의 숫자 값입니다. 연간 12개 기간을 가정합니다.

custom_quarter

캘린더 뷰의 분기입니다.

custom_quarter_num

연중 분기를 나타내는 숫자. 연간 4분기로 가정합니다.

custom_season

맞춤형 계절 기간.

custom_season_num

맞춤 시즌의 숫자 값입니다. 연간 2개 시즌을 가정합니다.

custom_week

캘린더 뷰의 주입니다.

custom_week_of_year

연도의 숫자 주입니다. 연간 최대 53주를 기준으로 합니다.

custom_year

캘린더 뷰의 연도입니다.

custom_year_num

맞춤 연도의 숫자 값입니다.

based_on_calendar

type: custom_calendar로 정의된 측정기준 그룹의 경우 based_on_calendar 매개변수는 LookML에서 모델링한 맞춤 캘린더의 뷰 이름을 지정합니다.

맞춤 캘린더 측정기준 그룹의 라벨

Looker는 type: custom_calendar 측정기준 그룹에서 label 또는 group_label 파라미터가 사용되는지에 따라 Explore 필드 선택 도구에서 측정기준 필드 라벨과 그룹 라벨을 생성합니다.

  • 기본값 (labelgroup_label도 지정되지 않음):
    • Looker는 측정기준 그룹 시간 프레임을 기본 측정기준 그룹 라벨 아래에 그룹화합니다. 이 라벨은 측정기준 그룹 이름에 Custom Calendar을 연결한 것입니다 (예: Created Custom Calendar).
    • Looker는 각 기간 이름 앞에 회계를 추가합니다 (예: 회계 날짜, 회계 주, 회계 연도).
  • group_label만 해당:
    • Looker는 지정된 group_label 값 아래에 측정기준 그룹 기간을 그룹화합니다.
    • Looker는 각 기간 이름 앞에 측정기준 그룹 이름과 회계를 추가합니다 (예: 생성 회계일, 생성 회계 주, 생성 회계 연도).
  • label만 해당:
    • Looker는 맞춤 캘린더가 추가된 label 값 아래에 측정기준 그룹 기간을 그룹화합니다 (예: label: "My Label"로 정의된 측정기준 그룹의 경우 기간이 내 라벨 맞춤 캘린더 아래에 그룹화됨).
    • Looker는 각 기간 이름 앞에 회계를 추가합니다 (예: 회계 날짜, 회계 주, 회계 연도).
  • group_labellabel 모두 지정되었습니다:
    • Looker는 지정된 group_label 값 아래에 측정기준 그룹 기간을 그룹화합니다.
    • Looker는 각 기간 앞에 label 값을 추가합니다 (예를 들어 label: "My Label"로 정의된 측정기준 그룹의 경우 기간 이름은 내 라벨 날짜, 내 라벨 주, 내 라벨 연도가 됩니다).

측정기준 그룹 현지화

모델 현지화를 사용하여 측정기준 그룹에서 생성된 기간, 간격 또는 맞춤 기간의 이름을 맞춤설정하고 번역할 수 있습니다. 자세한 내용은 차원 그룹 현지화을 참조하세요.

고려사항

측정기준 그룹이 개별 측정기준으로 참조되어야 합니다.

측정기준 그룹은 하나의 측정기준이 아닌 측정기준 그룹을 나타내므로 LookML에서 직접 참조할 수 없습니다. 대신 생성된 측정기준을 참조해야 합니다.

예를 들어, 다음 측정기준 그룹을 생각해 보세요.

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

다른 LookML 필드에서 이러한 측정기준 중 하나를 참조하려면 ${created_date}, ${created_week} 또는 ${created_month} 참조를 사용하세요. ${created}만 사용하려고 하면 Looker에서 참조하는 기간을 알 수 없어 오류가 발생합니다.

같은 이유로, 두 개 이상의 timeframe을 지정하는 경우 primary_key 매개변수를 측정기준 그룹에 사용해서는 안 됩니다.

채팅팀 팁: primary_keydimension_group에 둘 이상의 timeframe와 함께 사용하는 경우 발생할 수 있는 유효성 검사 오류에 대해 자주 질문을 받습니다. 자세한 내용은 Looker의 시간 프레임 및 차원 그룹 커뮤니티 게시물을 참조하세요.

시간대 정보가 포함된 타임스탬프 데이터

일부 데이터베이스 다이얼렉트에는 시간대 정보가 포함된 타임스탬프 옵션이 있습니다. 이렇게 하면 시간대가 여러 개 있을 수 있는 단일 필드에 타임스탬프 데이터를 저장할 수 있습니다. 한 행의 데이터는 UTC로 저장되고 다른 행의 데이터는 동부 시간으로 저장될 수 있습니다. 예를 들어 Snowflake 다이얼렉트 타임스탬프 옵션에 대한 자세한 내용은 Snowflake TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ 타임스탬프 문서를 참고하세요.

이 경우 Looker가 시간대 변환을 수행할 때 오류가 발생할 수 있습니다. 이를 방지하려면 측정기준의 sql 매개변수에서 타임스탬프 데이터를 시간대 변환을 실행하지 않는 타임스탬프 유형으로 명시적으로 변환해야 합니다. 예를 들어 Snowflake 다이얼렉트에서는 TO_TIMESTAMP 함수를 사용하여 타임스탬프 데이터를 변환할 수 있습니다.

개별 시간 또는 기간 측정기준을 만들 수 있습니다.

모든 기간을 하나의 dimension_group로 생성하는 대신 포함하려는 각 기간별로 하나의 측정기준을 만들 수 있습니다. Looker의 기간 명명 규칙을 변경하려는 경우 또는 데이터베이스에 이미 시간 열을 미리 계산해 둔 경우가 아니라면 일반적으로 개별 차원을 생성할 필요는 없습니다. 자세한 내용은 측정기준, 필터, 파라미터 유형 문서 페이지를 참고하세요.

한 주의 시작 요일을 변경할 수 있습니다.

Looker에서 한 주는 기본적으로 월요일부터 시작합니다. 모델 수준에서 week_start_day 매개변수를 사용하여 이를 변경할 수 있습니다.

다음 사항만 명심하세요.week_start_day 작동하지 않습니다week_of_year 기간이 ISO 표준을 기준으로 하기 때문인데, ISO 표준은 월요일을 기준으로 주를 정합니다.

맞춤 필터 및 사용자 지정 필드는 모든 기간을 지원하지 않습니다.

맞춤 필터 또는 맞춤 필드에서는 기간 day_of_week, fiscal_quarter_of_year, millisecond, millisecondX, microsecond, month_name, quarter_of_year, time_of_day이 지원되지 않습니다.

월, 분기 및 연도별 기간은 완전한 기간만 계산합니다.

duration 측정기준 그룹의 month 간격은 종료일이 시작일보다 크거나 같을 경우에만 한 달이 지난 것으로 간주합니다. 예를 들면 다음과 같습니다.

  • 같은 해 9월 26일과 10월 25일의 개월 수 차이는 0개월입니다.
  • 같은 해 9월 26일과 10월 26일의 차이는 1개월입니다.

quarteryear 간격은 동일한 논리를 따릅니다.