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

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