calendar_definition

Penggunaan

view: retail_custom_calendar {
  calendar_definition: {
    reference_date: ref_date
    timeframe_mapping: {
      custom_date: custom_date
      custom_period: custom_period
      custom_quarter: custom_quarter
      custom_season: custom_season
      custom_week: custom_week
      custom_year: custom_year
    }
    timeframe_ordinal_mapping: {
      custom_date: custom_date
      custom_period: custom_period
      custom_quarter: custom_quarter
      custom_season: custom_season
      custom_week: custom_week
      custom_year: custom_year
    }
    previous_ordinal_mapping: {
      custom_date: custom_date
      custom_week: custom_week
    }
  }
Hierarki
calendar_definition

Definisi

Sebagai bagian dari penggunaan kalender kustom di Looker, parameter calendar_definition memungkinkan Anda memetakan jangka waktu kalender kustom Looker ke kolom tabel kalender kustom yang Anda buat di database.

Lihat halaman dokumentasi Menggunakan kalender kustom di Looker untuk mengetahui informasi tentang cara menyiapkan file tampilan kalender kustom.

Di file tampilan untuk kalender kustom, tambahkan blok parameter calendar_definition. Contoh:

  calendar_definition: {
    reference_date: ref_date
    timeframe_mapping: {
      custom_date: custom_date
      custom_period: custom_period
      custom_quarter: custom_quarter
      custom_season: custom_season
      custom_week: custom_week
      custom_year: custom_year
    }
    timeframe_ordinal_mapping: {
      custom_date: ordinal_custom_date
      custom_period: ordinal_custom_period
      custom_quarter: ordinal_custom_quarter
      custom_season: ordinal_custom_season
      custom_week: ordinal_custom_week
      custom_year: ordinal_custom_year
    }
    previous_ordinal_mapping: {
      custom_date: prev_day_num
      custom_week: prev_week_num
    }
  }

Perhatikan hal berikut tentang blok parameter calendar_definition:

Lihat bagian Contoh di halaman ini.

Setelah memodelkan tabel kalender kustom di LookML, Anda dapat membuat grup dimensi type: custom_calendar yang didasarkan pada tampilan kalender kustom. Pengguna akhir Anda kemudian dapat membuat kueri Eksplorasi menggunakan jangka waktu dimensi kalender kustom.

reference_date

Parameter reference_date menentukan dimensi dalam tampilan kalender kustom yang dipetakan ke kolom dalam tabel database kalender kustom yang menyediakan tanggal kalender standar, seperti 2026-01-01.

Perhatikan hal berikut tentang parameter reference_date:

  • reference_date diperlukan, karena Looker menggunakannya untuk menghitung gabungan dari tabel data ke tabel kalender kustom Anda guna memberikan hasil kueri yang menggunakan jangka waktu kustom Anda.
  • reference_date harus unik atau berupa kunci utama.

Lihat bagian Contoh di halaman ini untuk melihat cara reference_date menunjuk ke dimensi yang memodelkan kolom dalam tabel kalender kustom Anda.

timeframe_mapping

Blok timeframe_mapping memetakan setiap jangka waktu kustom Looker ke dimensi yang memodelkan kolom yang setara dari tabel database kalender kustom Anda.

timeframe_mapping: {
  custom_date: field-ref
  custom_period: field-ref
  custom_quarter: field-ref
  custom_season: field-ref
  custom_week: field-ref
  custom_year: field-ref
}

Lihat bagian Contoh di halaman ini untuk melihat cara setiap subparameter timeframe_mapping menentukan dimensi yang memodelkan kolom dalam tabel kalender kustom Anda.

timeframe_ordinal_mapping

Blok timeframe_ordinal_mapping memetakan setiap jangka waktu kustom Looker ke dimensi yang memodelkan kolom ordinal yang sesuai dari tabel database kalender kustom Anda.

timeframe_ordinal_mapping: {
  custom_date: field-ref
  custom_period: field-ref
  custom_quarter: field-ref
  custom_season: field-ref
  custom_week: field-ref
  custom_year: field-ref
}

Lihat bagian Contoh di halaman ini untuk melihat cara setiap subparameter timeframe_ordinal_mapping menentukan dimensi yang memodelkan kolom dalam tabel kalender kustom Anda.

previous_ordinal_mapping

Jika ingin membuat pengukuran periode ke periode (PoP) yang menggunakan kalender kustom, Anda juga harus menambahkan blok previous_ordinal_mapping ke calendar_definition.

Blok previous_ordinal_mapping memetakan setiap jangka waktu kustom Looker ke dimensi yang memodelkan kolom yang sesuai dari tabel database kalender kustom Anda.

previous_ordinal_mapping: {
  custom_date: field-ref
  custom_week: field-ref
}

Lihat bagian Contoh di halaman ini untuk melihat cara setiap subparameter previous_ordinal_mapping menentukan dimensi yang memodelkan kolom dalam tabel kalender kustom Anda.

Jangka waktu wajib

Subparameter jangka waktu timeframe_mapping dan timeframe_ordinal_mapping wajib diisi. Jika jangka waktu tertentu, seperti custom_season, tidak relevan untuk kalender kustom Anda, Anda tetap harus menyertakannya dengan menentukan dimensi placeholder dalam tampilan kalender Anda. Contoh:

 dimension: season {
    type: string
    sql: 'N/A' ;;
    hidden: yes
  }
  dimension: season_num {
    type: number
    sql: 0 ;;
    hidden: yes
  }

Contoh

Berikut adalah contoh file tampilan bernama fiscal_calendar.view.lkml yang memodelkan tabel kalender kustom bernama fiscal_calendar_table:

view: fiscal_calendar {
  sql_table_name: fiscal_calendar_table ;;

  calendar_definition: {
    reference_date: reference_date

    timeframe_mapping: {
      custom_year: fiscal_year
      custom_quarter: fiscal_quarter_of_year
      custom_date: fiscal_date_of_month
      custom_week: fiscal_week_of_year
      custom_period: fiscal_period_of_year
      custom_season: season
    }
    timeframe_ordinal_mapping: {
      custom_year: fiscal_year_num
      custom_quarter: fiscal_quarter_of_year_num
      custom_date: fiscal_date_of_month_num
      custom_week: fiscal_week_of_year_num
      custom_period: fiscal_period_of_year_num
      custom_season: season_num
    }
    previous_ordinal_mapping: {
          custom_date: prev_custom_date
          custom_week: prev_custom_week
    }
  }

  dimension: reference_date {
    type: date
    primary_key: yes
    sql: ${TABLE}.reference_date ;; # Name of the column in your database table that shows the standard date, such as `2026-01-01`
  }

  dimension: fiscal_year {
    type: string
    sql: ${TABLE}.fiscal_year ;;
  }

  dimension: fiscal_year_num {
    type: number
    sql: ${TABLE}.fiscal_year_num ;;
  }

  dimension: prev_custom_week {
          type: number
          sql: ${TABLE}.prev_custom_week ;;
        }

  # ... other dimensions for quarters, weeks, periods, seasons, etc. ...

  # Example placeholder dimensions for unused timeframes
  dimension: season {
    type: string
    sql: 'N/A' ;;
    hidden: yes
  }
  dimension: season_num {
    type: number
    sql: 0 ;;
    hidden: yes
  }
}