calendar_definition

Nutzung

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
    }
  }
Hierarchie
calendar_definition

Definition

Wenn Sie benutzerdefinierte Kalender in Looker verwenden, können Sie mit dem calendar_definition Parameter benutzerdefinierte Zeiträume für Looker-Kalender den Spalten einer benutzerdefinierten Kalendertabelle zuordnen, die Sie in Ihrer Datenbank erstellt haben.

Informationen zum Einrichten einer benutzerdefinierten Kalenderansichtsdatei finden Sie auf der Dokumentationsseite Benutzerdefinierte Kalender in Looker verwenden.

Fügen Sie in der Ansichtsdatei für Ihren benutzerdefinierten Kalender den Parameterblock calendar_definition hinzu. Beispiel:

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

Beachten Sie Folgendes zum Parameterblock calendar_definition:

Weitere Informationen finden Sie im Abschnitt Beispiel auf dieser Seite.

Nachdem Sie die benutzerdefinierte Kalendertabelle in LookML modelliert haben, können Sie eine Dimensionsgruppe vom Typ type: custom_calendar erstellen, die auf der benutzerdefinierten Kalenderansicht basiert. Ihre Endnutzer können dann Explore-Abfragen mit den benutzerdefinierten Zeiträumen für Kalenderdimensionen erstellen.

reference_date

Mit dem Parameter reference_date wird eine Dimension in Ihrer benutzerdefinierten Kalenderansicht angegeben, die der Spalte in Ihrer benutzerdefinierten Kalenderdatenbanktabelle entspricht, die ein Standardkalenderdatum enthält, z. B. 2026-01-01.

Beachten Sie Folgendes zum Parameter reference_date:

  • Der Parameter reference_date ist erforderlich, da Looker damit Joins aus Ihren Datentabellen in Ihre benutzerdefinierte Kalendertabelle berechnet, um Abfrageergebnisse mit Ihren benutzerdefinierten Zeiträumen zu liefern.
  • Der Parameter reference_date muss eindeutig sein oder ein Primärschlüssel sein.

Im Abschnitt Beispiel auf dieser Seite sehen Sie, wie reference_date auf eine Dimension verweist, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.

timeframe_mapping

Der Block timeframe_mapping ordnet jeden benutzerdefinierten Zeitraum von Looker der Dimension zu, die die entsprechende Spalte Ihrer benutzerdefinierten Kalenderdatenbanktabelle modelliert.

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
}

Im Abschnitt Beispiel auf dieser Seite sehen Sie, wie jeder timeframe_mapping Unterparameter eine Dimension angibt, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.

timeframe_ordinal_mapping

Der Block timeframe_ordinal_mapping ordnet jeden benutzerdefinierten Zeitraum von Looker der Dimension zu, die die entsprechende Spalte mit Ordnungszahlen Ihrer benutzerdefinierten Kalenderdatenbanktabelle modelliert.

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
}

Im Abschnitt Beispiel auf dieser Seite sehen Sie, wie jeder timeframe_ordinal_mapping Unterparameter eine Dimension angibt, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.

previous_ordinal_mapping

Wenn Sie Messwerte für den Zeitraumvergleich erstellen möchten, die Ihren benutzerdefinierten Kalender verwenden, müssen Sie Ihrem calendar_definition auch einen previous_ordinal_mapping Block hinzufügen.

Der Block previous_ordinal_mapping ordnet jeden benutzerdefinierten Zeitraum von Looker der Dimension zu, die die entsprechende Spalte Ihrer benutzerdefinierten Kalenderdatenbanktabelle modelliert.

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

Im Abschnitt Beispiel auf dieser Seite sehen Sie, wie jeder previous_ordinal_mapping Unterparameter eine Dimension angibt, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.

Erforderliche Zeiträume

Die Unterparameter für Zeiträume von timeframe_mapping und timeframe_ordinal_mapping sind erforderlich. Wenn ein bestimmter Zeitraum wie custom_season für Ihren benutzerdefinierten Kalender nicht relevant ist, müssen Sie ihn trotzdem einbeziehen, indem Sie in Ihrer Kalenderansicht eine Platzhalterdimension definieren. Beispiel:

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

Beispiel

Hier ist eine Beispielansichtsdatei namens fiscal_calendar.view.lkml, die eine benutzerdefinierte Kalendertabelle namens fiscal_calendar_table modelliert:

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