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 agendas personnalisés dans Looker, le paramètre calendar_definition vous permet de mapper les périodes de l'agenda personnalisé Looker aux colonnes d'une table d'agenda personnalisé que vous avez créée dans votre base de données.

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

Dans le fichier d'affichage de votre agenda 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 éléments suivants concernant le bloc de paramètres calendar_definition :

Consultez la section Exemple sur cette page.

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

reference_date

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

Notez les éléments suivants concernant le paramètre reference_date :

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

Consultez la section Exemple sur cette page pour voir comment le reference_date pointe vers une dimension qui modélise une colonne de votre table d'agenda personnalisé.

timeframe_mapping

Le bloc timeframe_mapping mappe chaque période personnalisée Looker à la dimension qui modélise la colonne équivalente de votre table de base de données d'agenda 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 sur cette page pour voir comment chaque timeframe_mapping sous-paramètre spécifie une dimension qui modélise une colonne de votre table d'agenda 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 votre table de base de données d'agenda 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 sur cette page pour voir comment chaque timeframe_ordinal_mapping sous-paramètre spécifie une dimension qui modélise une colonne de votre table d'agenda personnalisé.

previous_ordinal_mapping

Si vous souhaitez créer des mesures d'une période à l'autre qui utilisent votre agenda personnalisé, vous devez également ajouter un bloc previous_ordinal_mapping à votre calendar_definition.

Le bloc previous_ordinal_mapping mappe chaque période personnalisée Looker à la dimension qui modélise la colonne appropriée de votre table de base de données d'agenda personnalisé.

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

Consultez la section Exemple sur cette page pour voir comment chaque previous_ordinal_mapping sous-paramètre spécifie une dimension qui modélise une colonne de votre table d’agenda personnalisé.

Périodes 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 agenda personnalisé, vous devez quand même l'inclure en définissant une dimension d'espace réservé dans votre vue d'agenda. 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 d'agenda personnalisé 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
  }
}