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 Parameter calendar_definition Zeiträume für benutzerdefinierte Looker-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:

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 benutzerdefinierten Zeiträumen der 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, die ein Standardkalenderdatum enthält, z. B. 2026-01-01.

Beachten Sie Folgendes zum Parameter reference_date:

  • reference_date ist erforderlich, da Looker damit Joins aus Ihren Datentabellen in Ihre benutzerdefinierte Kalendertabelle berechnet, um Abfrageergebnisse zu liefern, die Ihre benutzerdefinierten Zeiträume verwenden.
  • reference_date muss 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 Zeitraumvergleichs-Messwerte erstellen möchten, die Ihren benutzerdefinierten Kalender verwenden, müssen Sie Ihrem calendar_definition auch einen previous_ordinal_mapping-Block hinzufügen.

Im previous_ordinal_mapping-Block wird jeder benutzerdefinierte Looker-Zeitraum der Dimension zugeordnet, die die entsprechende Spalte Ihrer benutzerdefinierten Datenbanktabelle für den Kalender modelliert.

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

Im Abschnitt Beispiel auf dieser Seite sehen Sie, wie mit jedem previous_ordinal_mapping-Unterparameter eine Dimension angegeben wird, die eine Spalte in Ihrer benutzerdefinierten Kalendertabelle modelliert.

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