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 los períodos de los 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 Usa 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 en esta página.

Después de modelar la tabla de calendario personalizada en LookML, puedes crear un grupo de dimensiones de type: custom_calendar basado en la vista de calendario personalizada. Luego, los usuarios finales pueden crear consultas de Explorar con los períodos de la dimensión de calendario personalizada.

reference_date

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

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

  • El reference_date es obligatorio, ya que Looker lo usa para calcular las uniones de tus tablas de datos a tu tabla de calendario personalizada y, así, proporcionar resultados de la consulta que usen tus períodos personalizados.
  • El 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 personalizada.

timeframe_mapping

El bloque timeframe_mapping asigna cada período personalizado de Looker a la dimensión que modela la columna equivalente de la tabla de la base de datos de tu 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 subparámetro timeframe_mapping especifica una dimensión que modela una columna en tu tabla de calendario personalizada.

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 la tabla de la base de datos del 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 subparámetro timeframe_ordinal_mapping especifica una dimensión que modela una columna en tu tabla de calendario personalizada.

previous_ordinal_mapping

Si deseas crear medidas de período a período (PoP) que usen tu calendario personalizado, también debes agregar un bloque previous_ordinal_mapping a tu calendar_definition.

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

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

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

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 del calendario. Por ejemplo:

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

Ejemplo

A continuación, se muestra un ejemplo de un archivo de vista llamado fiscal_calendar.view.lkml que modela una tabla de calendario personalizada 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
  }
}