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 Parameter calendar_definition Looker-Zeiträume für benutzerdefinierte Kalender den Spalten einer benutzerdefinierten Kalendertabelle zuordnen, die Sie in Ihrer Datenbank erstellt haben.
Informationen zum Einrichten einer benutzerdefinierten Kalender-Ansichtsdatei 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:
- Der Parameter
reference_dateist erforderlich. - Die Parameter
timeframe_mappingundtimeframe_ordinal_mappingsowie alle zugehörigen Unterparameter sind erforderlich. Weitere Informationen finden Sie unter Obligatorische Zeiträume. - Der Parameterblock
previous_ordinal_mappingwird für benutzerdefinierte Kalender mit Zeitraumvergleichsmesswerten verwendet, um Looker mitzuteilen, wie die vorherige Woche verarbeitet werden soll, wenn die aktuelle Woche 1 ist, und wie der vorherige Tag verarbeitet werden soll, wenn der aktuelle Tag 1 ist. Der Parameterprevious_ordinal_mappingist ab Looker 26.8 optional.
Ein Beispiel finden Sie auf dieser Seite im Abschnitt Beispiel.
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 Zeiträumen der benutzerdefinierten Kalenderdimension erstellen.
reference_date
Mit dem Parameter reference_date wird eine Dimension in Ihrer benutzerdefinierten Kalenderansicht angegeben, die der Spalte in Ihrer benutzerdefinierten Kalenderdatenbanktabelle zugeordnet ist, in der ein Standardkalenderdatum angegeben ist, z. B. 2026-01-01.
Beachten Sie Folgendes zum Parameter reference_date:
reference_dateist erforderlich, da Looker damit Joins aus Ihren Datentabellen in Ihre benutzerdefinierte Kalendertabelle berechnet, um Abfrageergebnisse mit Ihren benutzerdefinierten Zeiträumen zu liefern.reference_datemuss eindeutig 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
Im timeframe_mapping-Block wird jeder benutzerdefinierte Looker-Zeitrahmen der Dimension zugeordnet, 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 mit jedem timeframe_mapping-Unterparameter eine Dimension angegeben wird, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.
timeframe_ordinal_mapping
Im timeframe_ordinal_mapping-Block wird jeder benutzerdefinierte Looker-Zeitrahmen der Dimension zugeordnet, die die entsprechende ordinale Spalte 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 mit jedem timeframe_ordinal_mapping-Unterparameter eine Dimension angegeben wird, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.
previous_ordinal_mapping
Wenn Sie Zeitraumvergleichsmesswerte erstellen möchten, die Ihren benutzerdefinierten Kalender verwenden, können Sie Ihrem calendar_definition auch einen previous_ordinal_mapping-Block hinzufügen. Im previous_ordinal_mapping-Block werden die Looker-Zeiträume custom_date und custom_week den Dimensionen zugeordnet, die die Spalten Ihrer benutzerdefinierten Kalenderdatenbanktabelle modellieren, in denen der Vortag und die letzte Woche angegeben sind.
previous_ordinal_mapping: {
custom_date: field-ref
custom_week: field-ref
}
- Der Parameter
custom_dategibt an, wie der vorherige Tag verarbeitet werden soll, wenn der aktuelle Tag 1 ist. - Der Parameter
custom_weekgibt an, wie die vorherige Woche verarbeitet werden soll, wenn die aktuelle Woche 1 ist.
Der Parameter previous_ordinal_mapping ist ab Looker 26.8 optional. Wenn der previous_ordinal_mapping-Block weggelassen wird, geht Looker von einem 52-Wochen-Jahr aus. Der vorherige Wert für Woche 1 ist dann 52 und der vorherige Wert für Tag 1 ist 364.
Obligatorische Zeiträume
Die Unterparameter für Zeiträume von timeframe_mapping und timeframe_ordinal_mapping sind erforderlich. Wenn ein bestimmter Zeitraum, z. B. 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 sehen Sie 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
}
}