Cara menggunakan Liquid untuk memformat tanggal

Dalam beberapa situasi, Anda mungkin ingin mengubah cara Looker memformat tanggal.

Misalnya, jika Anda membuat Jelajah dan dasbor untuk pengguna di Eropa, tanggal apa pun yang menggunakan format angka harus muncul dalam urutan Hari-Bulan-Tahun. Misalnya, 7 Juni 2019 harus diformat sebagai 07/06/2019 atau Jun 07, 2019. Format default Looker merender tanggal sebagai 2019-06-07. Meskipun Anda dapat menggunakan fungsi SQL seperti DATE_FORMAT() untuk mengubah format tanggal, Anda mungkin tidak ingin menulis semuanya dalam SQL biasa.

Menggunakan Liquid dalam parameter html

Anda dapat menggunakan Pemformatan fleksibel di parameter html dimensi untuk mengubah format kolom apa pun yang menggunakan format tanggal yang valid. Karena Liquid mengharapkan tanggal yang valid, sebaiknya gunakan jangka waktu dari grup dimensi yang ada. Anda tidak dapat mengubah angka minggu atau bulan, karena angka tersebut ditampilkan sebagai bilangan bulat.

Misalnya, Anda dapat memformat ${created_date} untuk dirender sebagai Aug 23 22, bukan 2022-08-23 default Looker:


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


Format untuk sintaksis string "%b %d, %y" sama dengan strftime.

Karena parameter html menggunakan format Liquid, nilai asli jangka waktu tidak berubah — hanya cara nilai dirender kepada pengguna. Hal ini memastikan bahwa urutan tanggal yang muncul dalam kueri tidak akan berubah.

Berikut adalah beberapa contoh lain yang dapat Anda gunakan. Referensi yang lebih besar tentang format yang tersedia ada di bagian bawah halaman ini.

Preset Contoh
%m/%d/%Y 06/05/2013
%A, %B %e, %Y Rabu, 5 Juni 2013
%b %e %a Rabu, 5 Juni

Contoh

Contoh kueri Jelajah berikut menampilkan Tanggal Item Pesanan dan Minggu Item Pesanan yang diformat secara berbeda dan diatur dalam label grup Tanggal dibuat untuk menyimulasikan grup dimensi tanggal di pemilih kolom Jelajah.

Format kustom menunjukkan kepada pengguna tanggal dan nomor minggu dalam setahun yang sesuai dengan nilai Jumlah Item terbesar dalam urutan menurun.

Lihat halaman dokumentasi group_label untuk mempelajari lebih lanjut cara menggunakan parameter group_label.

Kueri Jelajah menampilkan hasil pemformatan tanggal kustom untuk Tanggal Item Pesanan, Minggu Item Pesanan, yang diurutkan menurut Jumlah Item Item Pesanan menurun.

LookML

Contoh Jelajah menggunakan LookML berikut:



# 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

Tabel berikut mencantumkan berbagai format strftime. Perhatikan bahwa tidak semua format dapat dirender seperti yang diharapkan di Looker.

specifier Diganti dengan Contoh
%a Nama hari kerja singkat * Kam
%A Nama lengkap hari kerja * Kamis
%b Nama bulan singkat * Agu
%B Nama bulan lengkap * Agustus
%c Representasi tanggal dan waktu * Kamis, 23 Agustus 2001 pukul 14.55.02
%C Tahun dibagi 100 dan dipotong menjadi bilangan bulat (00-99) 20
%d Hari dalam sebulan, ditambahkan nol (01-31) 23
%D Tanggal MM/DD/YY singkat, setara dengan %m/%d/%y 23/08/01
%e Hari dalam sebulan, dengan spasi ( 1-31) 23
%F Tanggal singkat YYYY-MM-DD, setara dengan %Y-%m-%d 2001-08-23
%g Tahun berbasis minggu, dua digit terakhir (00-99) 1
%G Tahun berbasis minggu 2001
%h Nama bulan singkatan * (sama dengan %b) Agu
%H Jam dalam format 24 jam (00-23) 14
%I Jam dalam format 12 jam (01-12) 02
%j Hari dalam tahun (001-366) 235
%k Jam dalam format 24 jam, digit tunggal didahului dengan spasi kosong (0-23) 14
%l Jam dalam format 12 jam, satu digit didahului dengan spasi kosong (0-12) 2
%m Bulan dalam bentuk angka desimal (01-12) 8
%M Menit (00-59) 55
%n Karakter baris baru ('\n')
%P Penunjukan am atau pm dalam huruf kecil pm
%r Waktu jam 12 jam * 14.55.02
%R Waktu HH:MM 24 jam, setara dengan %H:%M 14:55
%s Jumlah detik sejak Epoch, 1970-01-01 00:00:00 +0000 (UTC) 1566236649
%S Detik (00-61) 2
%t Karakter tab horizontal ('\t')
%T Format waktu ISO 8601 (HH:MM:SS), setara dengan %H:%M:%S 14:55:02
%u Hari kerja ISO 8601 sebagai angka dengan Senin sebagai 1 (1-7) 4
%U Nomor minggu dengan Minggu pertama sebagai hari pertama minggu pertama (00-53) 33
%V Nomor minggu ISO 8601 (01-53) 34
%w Hari dalam seminggu sebagai angka desimal dengan Minggu sebagai 0 (0-6) 4
%W Nomor minggu dengan Senin pertama sebagai hari pertama minggu pertama (00-53) 34
%x Representasi tanggal * 23/08/01
%X Representasi waktu * 14:55:02
%y Tahun, dua digit terakhir (00-99) 1
%Y Tahun 2001
%z Offset ISO 8601 dari UTC dalam zona waktu (1 menit=1, 1 jam=100)Jika zona waktu tidak dapat ditentukan, tidak ada karakter 100
%Z Nama atau singkatan zona waktu *Jika zona waktu tidak dapat ditentukan, tidak ada karakter CDT
%% Tanda % %