Liquid를 사용하여 날짜 형식을 지정하는 방법

경우에 따라 Looker의 날짜 형식 지정 방식을 변경해야 할 수도 있습니다.

예를 들어 유럽 사용자를 위한 Explore 및 대시보드를 만드는 경우 숫자로 된 모든 날짜는 일-월-연도 순서로 표시되어야 합니다. 예를 들어 2019년 6월 7일은 07/06/2019 또는 Jun 07, 2019 형식이어야 합니다. Looker의 기본 형식은 날짜를 2019-06-07로 렌더링합니다. DATE_FORMAT()과 같은 SQL 함수를 사용하여 날짜 형식을 변경할 수 있지만 모두 일반 SQL로 작성하고 싶지는 않을 수 있습니다.

html 매개변수에 Liquid 사용

측정기준의 html 매개변수에서 Liquid 형식을 사용하여 유효한 날짜 형식을 사용하는 필드의 형식을 변경할 수 있습니다. Liquid에는 유효한 날짜가 필요하므로 기존 측정기준 그룹의 기간을 사용하는 것이 가장 좋습니다. 주 또는 월 번호는 정수로 반환되므로 변경할 수 없습니다.

예를 들어 Looker의 기본 형식 2022-08-23 대신 Aug 23 22 형식으로 렌더링하도록 ${created_date}의 형식을 지정할 수 있습니다.


  dimension: date_formatted {
    sql: ${created_date} ;;
    html:{{ rendered_value | date: "%b %d, %y" }};;
  }


문자열 구문 "%b %d, %y"의 형식은 strftime과 동일합니다.

html 매개변수는 Liquid 형식을 사용하므로 기간의 원래 값은 변경되지 않으며 값이 사용자에게 렌더링되는 방식으로만 변경됩니다. 이렇게 하면 쿼리에 날짜가 표시되는 순서가 변경되지 않습니다.

다음은 사용할 수 있는 몇 가지 다른 예시입니다. 사용 가능한 형식은 이 페이지 하단에 자세히 나와 있습니다.

사전 설정 예시
%m/%d/%Y 06/05/2013
%A, %B %e, %Y Wednesday, June 5, 2013
%b %e %a Jun 5 Wed

Explore 쿼리의 다음 예시에서는 Explore 필드 선택 도구에서 날짜 측정기준 그룹을 시뮬레이션하기 위해 형식이 다르게 지정되고 생성 날짜 그룹 라벨 아래에 구성된 주문 항목 날짜주문 항목 주를 보여줍니다.

커스텀 형식은 가장 큰 항목 수 값에 해당하는 날짜와 주 번호를 내림차순으로 사용자에게 표시합니다.

group_label 매개변수를 사용하는 방법에 대한 자세한 내용은 group_label 문서 페이지를 참조하세요.

Explore 쿼리에는 주문 항목 날짜, 주문 항목 주에 대한 커스텀 날짜 형식 결과가 주문 항목 항목 수 내림차순으로 정렬되어 표시됩니다.

LookML

탐색 예시에서는 다음 LookML을 사용합니다.



# The original dimension group - hidden so that users can only choose from the formatted dates date and week timeframes
  dimension_group: created {
    hidden: yes
    type: time
    timeframes: [
      raw,
      time,
      date,
      hour,
      hour_of_day,
      time_of_day,
      week,
      month,
      quarter,
      year
    ]
    sql: ${TABLE}.created_at ;;
  }

# The customized timeframes, organized in the Explore field picker under the group label Created date
  dimension: date_formatted {
    group_label: "Created date"
    label: "Date"
    type: date_raw
    sql: ${created_date} ;;
    html: {{ rendered_value | date: "%b %d, %y" }};;
  }

  dimension: week_formatted {
    group_label: "Created date"
    label: "Week"
    type: date_raw
    sql: ${created_week} ;;
    html: {{ rendered_value | date: "Week %U (%b %d)" }};;
  }


strftime Reference

다음 표에는 다양한 strftime 형식이 나와 있습니다. Looker에서 일부 형식은 예상대로 렌더링되지 않을 수 있습니다.

지정자 다음으로 교체됨 예시
%a 평일 약칭*
%A 평일 이름* 목요일
%b 월 이름 약어* 8월
%B 월 이름* 8월
%c 날짜 및 시간 표현* 2001년 8월 23일 목요일 14:55:02
%C 연도를 100으로 나누어 정수로 자른 것(00~99) 20
%d 월중 일, 0으로 채움(01~31) 23
%D 짧은 MM/DD/YY 날짜, %m/%d/%y에 해당 08/23/01
%e 월중 일, 공백으로 채움 ( 1~31) 23
%F 짧은 YYYY-MM-DD 날짜, %Y-%m-%d에 해당 2001-08-23
%g 주 기준 연도, 마지막 두 자리(00~99) 1
%G 주 기준 연도 2001
%h 월 이름 약어*(%b와 동일) 8월
%H 24시간 형식의 시간(00~23) 14
%I 12시간 형식의 시간(01~12) 02
%j 연중 일(001~366) 235
%k 24시간 형식의 시간, 한 자리 숫자는 공백으로 시작(0~23) 14
%l 12시간 형식의 시간, 한 자리 숫자는 공백으로 시작(0~12) 2
%m 월을 십진수로 표현(01~12) 8
%M 분(00~59) 55
%n 줄바꿈 문자('\n')
%P 소문자 am 또는 pm 지정 pm
%r 12시간제 시간* 2:55:02 PM
%R 24시간 HH:MM 시간, %H:%M에 해당 14:55
%s 에포크, 즉 1970-01-01 00:00:00 +0000(UTC) 이후의 시간(초) 1566236649
%S 초(00~61) 2
%t 가로 탭 문자('\t')
%T ISO 8601 시간 형식(HH:MM:SS), %H:%M:%S에 해당 14:55:02
%u ISO 8601 요일을 숫자로 표현, 월요일이 1임(1~7) 4
%U 첫 번째 일요일이 첫 번째 주의 첫 번째 날인 주 번호(00~53) 33
%V ISO 8601 주 번호(01~53) 34
%w 요일을 십진수로 표현, 일요일이 0임(0~6) 4
%W 첫 번째 월요일이 첫 번째 주의 첫 번째 날인 주 번호(00~53) 34
%x 날짜 표현* 08/23/01
%X 시간 표현* 14:55:02
%y 연도, 마지막 두 자리 숫자(00~99) 1
%Y 연도 2001
%z UTC 시간대의 ISO 8601 오프셋(1분=1, 1시간=100), 시간대를 확인할 수 없는 경우 문자가 표시되지 않음 100
%Z 시간대 이름 또는 약어* 시간대를 확인할 수 없는 경우 문자가 표시되지 않음 CDT
%% % 기호 %