calendar_definition

Utilisation

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
    }
  }
Hiérarchie
calendar_definition

Définition

Lorsque vous utilisez des calendriers personnalisés dans Looker, le paramètre calendar_definition vous permet de mapper les périodes du calendrier personnalisé Looker aux colonnes d'une table de calendrier personnalisé que vous avez créée dans votre base de données.

Pour savoir comment configurer un fichier d'affichage de calendrier personnalisé, consultez la page de documentation Utiliser des calendriers personnalisés dans Looker.

Dans le fichier d'affichage de votre calendrier personnalisé, ajoutez le bloc de paramètres calendar_definition. Exemple :

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

Notez les points suivants concernant le bloc de paramètres calendar_definition :

Consultez la section Exemple sur cette page.

Après avoir modélisé la table de calendrier personnalisée dans LookML, vous pouvez créer un groupe de dimensions type: custom_calendar basé sur la vue de calendrier personnalisée. Vos utilisateurs finaux peuvent ensuite créer des requêtes Explorer à l'aide des périodes de la dimension de calendrier personnalisée.

reference_date

Le paramètre reference_date spécifie une dimension dans votre vue de calendrier personnalisée qui correspond à la colonne de votre table de base de données de calendrier personnalisée qui fournit une date de calendrier standard, telle que 2026-01-01.

Notez les points suivants concernant le paramètre reference_date :

  • Le reference_date est obligatoire, car Looker l'utilise pour calculer les jointures entre vos tables de données et votre table de calendrier personnalisée afin de fournir des résultats de requête qui utilisent vos périodes personnalisées.
  • Le reference_date doit être unique ou une clé primaire.

Consultez la section Exemple sur cette page pour voir comment reference_date pointe vers une dimension qui modélise une colonne dans votre tableau de calendrier personnalisé.

timeframe_mapping

Le bloc timeframe_mapping mappe chaque période personnalisée Looker à la dimension qui modélise la colonne équivalente de la table de base de données de votre calendrier personnalisé.

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
}

Consultez la section Exemple de cette page pour découvrir comment chaque sous-paramètre timeframe_mapping spécifie une dimension qui modélise une colonne dans votre tableau de calendrier personnalisé.

timeframe_ordinal_mapping

Le bloc timeframe_ordinal_mapping mappe chaque période personnalisée Looker à la dimension qui modélise la colonne ordinale appropriée de la table de base de données de votre calendrier personnalisé.

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
}

Consultez la section Exemple de cette page pour découvrir comment chaque sous-paramètre timeframe_ordinal_mapping spécifie une dimension qui modélise une colonne dans votre tableau de calendrier personnalisé.

previous_ordinal_mapping

Si vous souhaitez créer des mesures de période à période qui utilisent votre calendrier personnalisé, vous pouvez également ajouter un bloc previous_ordinal_mapping à votre calendar_definition. Le bloc previous_ordinal_mapping mappe les périodes Looker custom_date et custom_week aux dimensions qui modélisent les colonnes de la table de base de données de votre calendrier personnalisé, où sont spécifiés la veille et la semaine précédente.

previous_ordinal_mapping: {
  custom_date: field-ref
  custom_week: field-ref
}
  • Le paramètre custom_date indique à Looker comment traiter le jour précédent lorsque le jour actuel est le 1er.
  • Le paramètre custom_week indique à Looker comment traiter la semaine précédente lorsque la semaine en cours est la semaine 1.

Le paramètre previous_ordinal_mapping est facultatif à partir de Looker 26.8. Si le bloc previous_ordinal_mapping est omis, Looker suppose une année de 52 semaines, où la valeur précédente pour la semaine 1 est 52 et la valeur précédente pour le jour 1 est 364.

Délais obligatoires

Les sous-paramètres de période de timeframe_mapping et timeframe_ordinal_mapping sont obligatoires. Si une période spécifique, telle que custom_season, n'est pas pertinente pour votre calendrier personnalisé, vous devez quand même l'inclure en définissant une dimension d'espace réservé dans la vue de votre calendrier. Exemple :

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

Exemple

Voici un exemple de fichier d'affichage appelé fiscal_calendar.view.lkml qui modélise une table de calendrier personnalisée appelée 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
  }
}