calendar_definition

Uso

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
    }
  }
Jerarquía
calendar_definition

Definición

Como parte del uso de calendarios personalizados en Looker, el parámetro calendar_definition te permite asignar períodos de calendarios personalizados de Looker a las columnas de una tabla de calendario personalizado que creaste en tu base de datos.

Consulta la página de documentación Uso de calendarios personalizados en Looker para obtener información sobre cómo configurar un archivo de vista de calendario personalizado.

En el archivo de vista de tu calendario personalizado, agrega el bloque de parámetros calendar_definition. Por ejemplo:

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

Ten en cuenta lo siguiente sobre el bloque de parámetros calendar_definition:

Consulta la sección Ejemplo de esta página.

Después de modelar la tabla de calendario personalizado en LookML, puedes crear un grupo de dimensiones de type: custom_calendar que se base en la vista de calendario personalizado. Luego, los usuarios finales pueden crear consultas de exploración con los períodos de dimensiones de calendario personalizado.

reference_date

El parámetro reference_date especifica una dimensión en tu vista de calendario personalizado que se asigna a la columna de tu tabla de base de datos de calendario personalizado que proporciona una fecha de calendario estándar, como 2026-01-01.

Ten en cuenta lo siguiente sobre el parámetro reference_date:

  • El parámetro reference_date es obligatorio, ya que Looker lo usa para calcular las uniones de tus tablas de datos a tu tabla de calendario personalizado para proporcionar resultados de consultas que usan tus períodos personalizados.
  • El parámetro reference_date debe ser único o una clave primaria.

Consulta la sección Ejemplo de esta página para ver cómo reference_date apunta a una dimensión que modela una columna en tu tabla de calendario personalizado.

timeframe_mapping

El bloque timeframe_mapping asigna cada período personalizado de Looker a la dimensión que modela la columna equivalente de tu tabla de base de datos de calendario personalizado.

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
}

Consulta la sección Ejemplo de esta página para ver cómo cada timeframe_mapping subparámetro especifica una dimensión que modela una columna en tu tabla de calendario personalizado.

timeframe_ordinal_mapping

El bloque timeframe_ordinal_mapping asigna cada período personalizado de Looker a la dimensión que modela la columna ordinal adecuada de tu tabla de base de datos de calendario personalizado.

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
}

Consulta la sección Ejemplo de esta página para ver cómo cada timeframe_ordinal_mapping subparámetro especifica una dimensión que modela una columna en tu tabla de calendario personalizado.

previous_ordinal_mapping

Si deseas crear medidas de comparación de períodos (PoP) que usen tu calendario personalizado, también puedes agregar un bloque previous_ordinal_mapping a tu calendar_definition. El bloque previous_ordinal_mapping asigna los períodos custom_date y custom_week de Looker a las dimensiones que modelan las columnas de tu tabla de base de datos de calendario personalizado en las que se especifican el día anterior y la semana anterior.

previous_ordinal_mapping: {
  custom_date: field-ref
  custom_week: field-ref
}
  • El parámetro custom_date le indica a Looker cómo procesar el día anterior cuando el día actual es 1.
  • El parámetro custom_week le indica a Looker cómo procesar la semana anterior cuando la semana actual es 1.

El parámetro previous_ordinal_mapping es opcional a partir de Looker 26.8. Si se omite el bloque previous_ordinal_mapping, Looker supone un año de 52 semanas, en el que el valor anterior para la semana 1 es 52 y el valor anterior para el día 1 es 364.

Períodos obligatorios

Los subparámetros de períodos de timeframe_mapping y timeframe_ordinal_mapping son obligatorios. Si un período específico, como custom_season, no es relevante para tu calendario personalizado, debes incluirlo definiendo una dimensión de marcador de posición en la vista de calendario. Por ejemplo:

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

Ejemplo

Este es un ejemplo de un archivo de vista llamado fiscal_calendar.view.lkml que modela una tabla de calendario personalizado llamada 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
  }
}