dimension_group

Penggunaan

view: view_name {
  dimension_group:  field_name { ... }
}
Hierarki
dimension_group
Menerima
ID Looker (untuk berfungsi sebagai bagian pertama nama untuk setiap dimensi yang dibuat oleh grup dimensi)

Aturan Khusus
  • type dapat berupa time atau duration
  • Biasanya digunakan dengan parameter timeframes atau intervals
  • Gunakan parameter datatype jika grup dimensi tidak didasarkan pada kolom tanggal dan waktu
  • Untuk grup dimensi type: time, gunakan parameter convert_tz jika Anda ingin mencegah konversi zona waktu otomatis

Definisi

Parameter dimension_group digunakan untuk membuat serangkaian dimensi berbasis waktu atau berbasis durasi sekaligus. Anda menentukan grup dimensi, dan grup dimensi akan membuat serangkaian dimensi individual untuk interval atau jangka waktu yang berbeda. Misalnya, Anda dapat menentukan grup dimensi type: time berdasarkan kolom stempel waktu, dan grup dimensi akan membuat dimensi yang sesuai untuk menyatakan data dalam waktu, tanggal, minggu, jam, kuartal, dan tahun.

Bentuk dan fungsi grup dimensi berbeda-beda, bergantung pada nilai type grup dimensi:

Grup dimensi jenis durasi

type: duration digunakan bersama dengan dimension_group untuk menghitung serangkaian dimensi durasi berbasis interval.

Bentuk grup dimensi type: duration adalah:

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
}

Untuk grup dimensi type: duration:

  • Parameter sql_start dan sql_end memberikan ekspresi SQL yang menentukan waktu mulai dan waktu berakhir untuk durasi. Lihat bagian Menentukan awal dan akhir durasi di halaman ini untuk mengetahui detailnya.

  • Parameter intervals menentukan satu atau beberapa unit interval yang harus digunakan untuk mengukur selisih waktu. Kemungkinan pilihan dicantumkan di bagian Opsi interval di halaman ini.

  • Nilai durasi dibulatkan ke bilangan bulat terdekat.

  • Parameter datatype bersifat opsional. Jika grup dimensi Anda tidak didasarkan pada tanggal dan waktu, Anda dapat menentukan format epoch, stempel waktu, tanggal, atau yyyymmdd. Untuk grup dimensi type: duration, parameter datatype berlaku untuk parameter sql_start dan sql_end, jadi pastikan sql_start dan sql_end memiliki jenis data yang ditentukan. Parameter datatype dijelaskan secara lebih mendetail di bagian Menentukan datatype database di halaman ini.

Meskipun tidak tercantum di sini, banyak parameter tingkat kolom juga dapat digunakan dengan grup dimensi.

Sebagai contoh, jika Anda memiliki kolom untuk enrollment_date dan graduation_date, Anda dapat membuat grup dimensi durasi untuk melihat berapa banyak waktu yang dihabiskan siswa di sekolah, yang dihitung dalam interval minggu dan tahun:

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

Di UI Eksplorasi, tindakan ini akan menghasilkan grup dimensi yang disebut Durasi Terdaftar, dengan dimensi individual yang disebut Minggu Terdaftar dan Tahun Terdaftar.

Opsi interval

Parameter intervals memberi tahu grup dimensi unit interval mana yang harus digunakan untuk mengukur selisih waktu antara waktu sql_start dan waktu sql_end. Parameter intervals hanya didukung untuk grup dimensi type: duration.

Jika intervals tidak disertakan, grup dimensi akan menyertakan semua kemungkinan interval.

Opsi untuk parameter intervals adalah:

Interval Deskripsi Contoh Output
day Menghitung perbedaan waktu dalam hari. 9 days
hour Menghitung selisih waktu dalam jam. 171 hours
minute Menghitung selisih waktu dalam menit. 10305 minutes
month Menghitung selisih waktu dalam bulan. 3 months
quarter Menghitung selisih waktu dalam kuartal tahun. 2 quarters
second Menghitung selisih waktu dalam detik. 606770 seconds
week Menghitung selisih waktu dalam minggu. 6 weeks
year Menghitung selisih waktu dalam tahun. 2 years

Menentukan awal dan akhir durasi

Untuk grup dimensi type: duration, parameter sql_start dan sql_end memberikan informasi awal dan akhir yang digunakan untuk menghitung selisih waktu. Kolom ini dapat menggunakan ekspresi SQL valid yang berisi data dalam format stempel waktu, waktu, tanggal, epoch, atau yyyymmdd. Kolom sql_start dan sql_end dapat berupa salah satu dari berikut:

  • Referensi ke jangka waktu raw dari grup dimensi type: time yang ada
  • Referensi ke dimensi type: date_raw
  • Ekspresi SQL yang berupa stempel waktu, seperti referensi ke kolom SQL yang berupa stempel waktu
  • Ekspresi SQL yang menarik waktu dari database Anda, menggunakan ekspresi yang sesuai untuk dialek Anda
  • Referensi kolom LookML menggunakan referensi jenis kolom ::datetime atau ::date

Sebagai contoh, misalkan Anda memiliki dimensi bernama faa_event_date_raw yang berisi informasi tanggal dan waktu:

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

Anda dapat membuat grup dimensi type: duration yang menghitung jumlah waktu yang telah berlalu sejak tanggal peristiwa FAA. Untuk melakukannya, Anda dapat menggunakan dimensi faa_event_date_raw sebagai waktu mulai penghitungan, lalu untuk waktu berakhir penghitungan, Anda dapat menggunakan ekspresi SQL dialek Anda untuk waktu saat ini. Contoh ini adalah untuk database MySQL:

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

Di UI Eksplorasi, hal ini akan menghasilkan grup dimensi yang disebut Durasi Sejak Peristiwa, dengan dimensi individual yang disebut Jam Sejak Peristiwa dan Hari Sejak Peristiwa.

Mereferensikan interval dari kolom LookML lain

Untuk mereferensikan nilai interval dalam dimension_group dari type: duration, gunakan sintaksis ${interval_fieldname}, menggunakan versi jamak dari nilai interval. Misalnya, dalam contoh LookML berikut, ukuran average_days_since_event menggunakan ${days_since_event} untuk mereferensikan interval day dalam grup dimensi since_event:


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} ;;
}

Menggunakan referensi jenis kolom LookML dengan kolom durasi

Untuk membuat kolom durasi kustom, Anda dapat menentukan jenis referensi ::date atau ::datetime untuk dimensi yang dirujuk dalam parameter sql_start dan sql_end dari grup dimensi type: duration. Sintaksis view_name.field_name::type, yang dijelaskan di halaman dokumentasi Menggabungkan SQL dan merujuk ke objek LookML, memungkinkan Anda membuat versi ::date atau ::datetime kolom tanpa melakukan casting referensi ke dimensi tersebut menjadi string.

Misalnya, Anda memiliki grup dimensi created dari type: time dengan jangka waktu time, date, week, month, dan raw, yang ditentukan sebagai berikut:


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

Dengan menggunakan dimensi created_month dan created_time, Anda dapat membuat grup dimensi type: duration yang menghitung jumlah waktu antara tanggal dari kolom created_date dan hari pertama bulan saat tanggal tersebut terjadi, yang diukur dalam minggu, hari, dan jam:


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

Di UI Jelajah, tindakan ini akan membuat grup dimensi yang disebut Durasi Sejak Awal Bulan, dengan dimensi individual Minggu Sejak Awal Bulan, Hari Sejak Awal Bulan, dan Jam Sejak Awal Bulan. Menentukan jenis referensi ::datetime untuk kolom yang dirujuk dalam parameter sql_start dan sql_end memungkinkan dimensi created_month dan created_time diperlakukan sebagai stempel waktu dalam SQL yang dihasilkan.

Sebagai contoh, misalkan pengguna memilih dimensi Tanggal Dibuat dan Hari Sejak Awal Bulan dari pemilih kolom. Jika salah satu nilai yang ditampilkan untuk Tanggal Dibuat adalah 2019-03-10, maka nilai yang ditampilkan untuk Hari Sejak Awal Bulan adalah 9 hari.

Grup dimensi jenis waktu

type: time digunakan bersama dengan dimension_group dan parameter timeframes untuk membuat serangkaian dimensi berbasis waktu. Misalnya, Anda dapat dengan mudah membuat dimensi tanggal, minggu, dan bulan berdasarkan satu kolom stempel waktu.

Bentuk grup dimensi type: time adalah:

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
}

Untuk grup dimensi type: time:

  • Parameter timeframes bersifat opsional, tetapi jarang dilewati. Atribut ini menentukan satu atau beberapa jangka waktu yang harus dibuat oleh grup dimensi. Jika timeframes tidak disertakan, setiap opsi jangka waktu akan ditambahkan ke grup dimensi. Kemungkinan pilihan tercantum di bagian Opsi jangka waktu di halaman ini.

  • Parameter sql untuk grup dimensi type: time dapat menggunakan ekspresi SQL valid yang berisi data dalam format stempel waktu, tanggal dan waktu, tanggal, epoch, atau yyyymmdd.

  • Parameter datatype bersifat opsional. Jika grup dimensi Anda tidak didasarkan pada tanggal dan waktu, Anda dapat menentukan format epoch, stempel waktu, tanggal, atau yyyymmdd. Hal ini dijelaskan secara lebih mendetail di bagian Menentukan database datatype di halaman ini.

  • Parameter convert_tz bersifat opsional dan memungkinkan Anda mencegah konversi zona waktu otomatis. Hal ini dijelaskan secara lebih mendetail di bagian Konversi zona waktu dan convert_tz di halaman ini.

Meskipun tidak tercantum di sini, banyak parameter tingkat kolom juga dapat digunakan dengan grup dimensi.

Sebagai contoh, misalkan Anda memiliki kolom bernama created_at yang berisi informasi tanggal dan waktu. Anda ingin membuat dimensi tanggal, minggu, dan bulan berdasarkan tanggal dan waktu ini. Anda dapat menggunakan:

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

Di UI Explore, hal ini akan menghasilkan tiga dimensi dengan nama Tanggal Dibuat, Minggu Dibuat, dan Bulan Dibuat. Perhatikan cara nama dimension_group digabungkan dengan jangka waktu untuk membuat nama dimensi.

Opsi jangka waktu

Parameter timeframes hanya didukung untuk grup dimensi type: time. Untuk grup dimensi type: duration, gunakan parameter intervals.

Parameter timeframes memberi tahu grup dimensi, dimensi mana yang harus dihasilkan dan mencakup opsi berikut:

Jangka waktu khusus

Jangka waktu Deskripsi Contoh Output
raw Nilai mentah dari database Anda, tanpa konversi zona waktu atau casting. raw hanya dapat diakses dalam LookML dan tidak akan muncul di halaman Jelajahi. Rentang waktu raw menampilkan stempel waktu, tidak seperti sebagian besar rentang waktu lainnya yang menampilkan string yang diformat. Fungsi ini terutama digunakan untuk melakukan operasi tanggal pada kolom. 2014-09-03 17:15:00 +0000
yesno Dimensi yesno, menampilkan "Ya" jika tanggal dan waktu memiliki nilai, atau "Tidak" jika tidak. Tidak seperti jangka waktu lainnya, saat Anda merujuk dimensi jangka waktu yesno dari kolom lain, jangan sertakan jangka waktu dalam referensi. Misalnya, untuk merujuk ke jangka waktu yesno dalam dimension_group: created, gunakan sintaksis ${created}, bukan ${created_yesno}. Yes

Jangka waktu

Jangka waktu Deskripsi Contoh Output
time Datetime kolom pokok (beberapa dialek SQL menampilkan presisi sebanyak yang ada di database Anda, sementara yang lain hanya menampilkan hingga detik) 2014-09-03 17:15:00
time_of_day Waktu 17:15
hour Datetime dipotong ke jam terdekat 2014-09-03 17
hour_of_day Jam bilangan bulat dari kolom pokok 17
hourX Membagi setiap hari menjadi interval dengan jumlah jam yang ditentukan. Lihat Menggunakan hourX.
minute Datetime dipotong ke menit terdekat 2014-09-03 17:15
minuteX Membagi setiap jam menjadi interval dengan jumlah menit yang ditentukan. Lihat Menggunakan minuteX.
second Datetime dipangkas ke detik terdekat 2014-09-03 17:15:00
millisecond Datetime dipangkas ke milidetik terdekat (lihat bagian Dukungan dialek untuk milidetik dan mikrodetik di halaman ini untuk mengetahui informasi tentang dukungan dialek). 2014-09-03 17:15:00.000
millisecondX Membagi setiap detik menjadi interval dengan jumlah milidetik yang ditentukan (lihat bagian Dukungan dialek untuk milidetik dan mikrodetik di halaman ini untuk mengetahui informasi tentang dukungan dialek). Lihat Menggunakan millisecondX.
microsecond Datetime dipangkas ke mikrodetik terdekat (lihat bagian Dukungan dialek untuk milidetik dan mikrodetik di halaman ini untuk mengetahui informasi tentang dukungan dialek). 2014-09-03 17:15:00.000000

Jangka waktu

Jangka waktu Deskripsi Contoh Output
date Tanggal kolom pokok 2017-09-03

Jangka waktu minggu

Jangka waktu Deskripsi Contoh Output
week Tanggal dalam seminggu yang dimulai pada hari Senin dari datetime pokok 2017-09-01
day_of_week Hari dalam seminggu saja Wednesday
day_of_week_index Indeks hari dalam seminggu (0 = Senin, 6 = Minggu) 2

Rentang waktu bulanan

Jangka waktu Deskripsi Contoh Output
month Tahun dan bulan datetime pokok 2014-09
month_num Bilangan bulat dari bulan datetime pokok 9
fiscal_month_num Bilangan bulat bulan fiskal dari datetime pokok 6
month_name Nama bulan September
day_of_month Tanggal 3

Untuk menggunakan jangka waktu fiscal_month_num, parameter fiscal_month_offset harus ditetapkan dalam model.

Jangka waktu per kuartal

Jangka waktu Deskripsi Contoh Output
quarter Tahun dan kuartal datetime pokok 2017-Q3
fiscal_quarter Tahun fiskal dan kuartal dari datetime pokok 2017-Q3
quarter_of_year Kuartal tahun yang diawali dengan "Q" Q3
fiscal_quarter_of_year Kuartal fiskal tahun ini yang diawali dengan "Q" Q3

Untuk menggunakan jangka waktu fiscal_quarter dan fiscal_quarter_of_year, parameter fiscal_month_offset harus ditetapkan dalam model.

Jangka waktu tahunan

Jangka waktu Deskripsi Contoh Output
year Tahun bilangan bulat dari datetime pokok 2017
fiscal_year Tahun fiskal bilangan bulat dari datetime pokok FY2017
day_of_year Hari dalam tahun 143
week_of_year Minggu dalam setahun sebagai angka 17

Untuk menggunakan jangka waktu fiscal_year, parameter fiscal_month_offset harus ditetapkan dalam model.

Menggunakan hourX

Di hourX, X diganti dengan 2, 3, 4, 6, 8, atau 12.

Tindakan ini akan membagi setiap hari menjadi interval dengan jumlah jam yang ditentukan. Misalnya, hour6 akan membagi setiap hari menjadi segmen 6 jam, yang akan muncul sebagai berikut:

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

Sebagai contoh, baris dengan time 2014-09-01 08:03:17 akan memiliki hour6 2014-09-01 06:00:00.

Menggunakan minuteX

Di minuteX, X diganti dengan 2, 3, 4, 5, 6, 10, 12, 15, 20, atau 30.

Tindakan ini akan membagi setiap jam menjadi interval dengan jumlah menit yang ditentukan. Misalnya, minute15 akan membagi setiap jam menjadi segmen 15 menit, yang akan muncul sebagai berikut:

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

Sebagai contoh, baris dengan time 2014-09-01 01:17:35 akan memiliki minute15 2014-09-01 01:15:00.

Menggunakan millisecondX

Di millisecondX, X diganti dengan 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250, atau 500.

Tindakan ini akan membagi setiap detik menjadi interval dengan jumlah milidetik yang ditentukan. Misalnya, millisecond250 akan membagi setiap detik menjadi segmen 250 milidetik, yang akan muncul sebagai berikut:

  • 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

Sebagai contoh, baris dengan time 2014-09-01 01:00:00.333 akan memiliki millisecond250 2014-09-01 01:00:00.250.

Konversi zona waktu dan convert_tz

Secara umum, penghitungan waktu (perbedaan, durasi, dll.) hanya berfungsi dengan benar jika Anda mengoperasikan nilai waktu yang semuanya dikonversi ke zona waktu yang sama, jadi penting untuk mengingat zona waktu saat menulis LookML.

Looker memiliki berbagai setelan zona waktu yang mengonversi data berbasis waktu antara zona waktu yang berbeda. Looker melakukan konversi zona waktu secara default. Parameter convert_tz didukung untuk grup dimensi type: time. Jika tidak ingin Looker melakukan konversi zona waktu untuk dimensi atau grup dimensi tertentu, Anda dapat menggunakan parameter convert_tz yang dijelaskan di halaman dokumentasi parameter convert_tz.

Dukungan dialek untuk milidetik dan mikrodetik

Looker mendukung presisi jangka waktu hingga mikrodetik; namun, beberapa database hanya mendukung presisi hingga detik. Jika database menemukan jangka waktu yang lebih presisi daripada yang dapat didukungnya, database akan membulatkan ke detik.

Dalam rilis Looker terbaru, dialek berikut mendukung milidetik:

Dialek Didukung?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
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 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
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

Dalam rilis Looker terbaru, dialek berikut mendukung mikrodetik:

Dialek Didukung?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
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 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
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

Menentukan database datatype

Parameter datatype memungkinkan Anda menentukan jenis data waktu dalam tabel database yang Anda berikan ke grup dimensi, yang dapat meningkatkan performa kueri.

Untuk grup dimensi type: time, parameter datatype berlaku untuk parameter sql dari grup dimensi.

Untuk grup dimensi type: duration, parameter datatype berlaku untuk parameter sql_start dan sql_end, jadi pastikan sql_start dan sql_end memiliki jenis data yang ditentukan.

Parameter datatype menerima nilai berikut:

  • epoch: Kolom epoch SQL (yaitu, bilangan bulat yang merepresentasikan jumlah detik dari epoch Unix).
  • date: Kolom tanggal SQL (yaitu, yang tidak berisi informasi waktu).
  • datetime: Kolom tanggal waktu SQL.
  • timestamp: Kolom stempel waktu SQL.
  • yyyymmdd: Kolom SQL yang berisi bilangan bulat yang merepresentasikan tanggal dalam bentuk YYYYMMDD.

Nilai default untuk datatype adalah timestamp.

Contoh

Misalkan Anda memiliki kolom bernama created_at yang berisi informasi tanggal dan waktu. Anda ingin membuat dimensi tanggal, minggu, dan bulan berdasarkan tanggal dan waktu ini. Anda dapat menggunakan:

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

-

Di UI Explore, hal ini akan menghasilkan tiga dimensi dengan nama Tanggal Dibuat, Minggu Dibuat, dan Bulan Dibuat. Perhatikan cara nama dimension_group digabungkan dengan jangka waktu untuk membuat nama dimensi.

Hal-hal yang perlu dipertimbangkan

Grup dimensi harus dirujuk oleh masing-masing dimensinya

Karena grup dimensi merepresentasikan sekelompok dimensi, bukan hanya satu dimensi, Anda tidak dapat merujuknya secara langsung di LookML. Sebagai gantinya, Anda harus merujuk ke dimensi yang dibuatnya.

Misalnya, pertimbangkan grup dimensi ini:

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

Untuk merujuk ke salah satu dimensi ini di kolom LookML lain, gunakan referensi ${created_date}, ${created_week}, atau ${created_month}. Jika Anda mencoba menggunakan ${created} saja, Looker tidak akan mengetahui jangka waktu yang Anda maksud dan akan terjadi error.

Untuk alasan yang sama, Anda tidak boleh menggunakan parameter primary_key pada grup dimensi jika Anda menentukan lebih dari satu timeframe.

Tips Tim Chat: Kami sering ditanya tentang error validasi yang dapat terjadi jika Anda menggunakan primary_key di dimension_group dengan lebih dari satu timeframe. Untuk mengetahui informasi selengkapnya, lihat postingan Komunitas Rentang Waktu dan Grup Dimensi di Looker .

Data stempel waktu yang menyertakan informasi zona waktu

Beberapa dialek database memiliki opsi stempel waktu yang mencakup informasi zona waktu. Hal ini memungkinkan Anda menyimpan data stempel waktu dalam satu kolom yang mungkin memiliki beberapa zona waktu. Satu baris data mungkin disimpan dalam UTC, baris lainnya dalam waktu Bagian Timur. Sebagai contoh, lihat dokumentasi stempel waktu TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ Snowflake untuk mengetahui informasi tentang opsi stempel waktu dialek Snowflake.

Dalam hal ini, saat Looker melakukan konversi zona waktu, error dapat terjadi. Untuk menghindarinya, di parameter sql dimensi, Anda harus secara eksplisit melakukan transmisi data stempel waktu ke jenis stempel waktu yang tidak melakukan konversi zona waktu. Misalnya, dalam dialek Snowflake, Anda dapat menggunakan fungsi TO_TIMESTAMP untuk melakukan transmisi data stempel waktu.

Anda dapat membuat dimensi waktu atau durasi individual

Anda dapat membuat satu dimensi untuk setiap jangka waktu atau durasi yang ingin disertakan, alih-alih membuat semuanya dalam satu dimension_group. Anda umumnya dapat menghindari pembuatan dimensi individual, kecuali jika Anda ingin mengubah konvensi penamaan jangka waktu Looker, atau Anda telah menghitung sebelumnya kolom waktu dalam database. Untuk mengetahui informasi selengkapnya, lihat halaman dokumentasi Jenis dimensi, filter, dan parameter.

Anda dapat mengubah hari pertama dalam seminggu

Secara default, minggu di Looker dimulai pada hari Senin. Anda dapat mengubahnya menggunakan parameter week_start_day di tingkat model.

Perlu diingat bahwa week_start_day tidak berfungsi dengan jangka waktu week_of_year karena jangka waktu tersebut didasarkan pada standar ISO, yang menggunakan minggu Senin.

Filter kustom dan kolom kustom tidak mendukung semua jangka waktu

Jangka waktu day_of_week, fiscal_quarter_of_year, millisecond, millisecondX, microsecond, month_name, quarter_of_year, dan time_of_day tidak didukung dalam filter kustom atau kolom kustom.

Interval bulan, kuartal, dan tahun hanya menghitung periode lengkap

Interval month dalam grup dimensi duration hanya menganggap satu bulan telah berlalu jika hari berakhir lebih besar dari atau sama dengan hari mulai. Contoh:

  • Perbedaan bulan antara 26 September dan 25 Oktober pada tahun yang sama adalah 0.
  • Perbedaan bulan antara 26 September dan 26 Oktober pada tahun yang sama adalah 1.

Interval quarter dan year mengikuti logika yang sama.