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

Definição

Como parte do uso de calendários personalizados no Looker, o parâmetro calendar_definition permite mapear os períodos dos calendários personalizados do Looker para as colunas de uma tabela de calendário personalizado que você criou no banco de dados.

Consulte a página de documentação Usar calendários personalizados no Looker para saber como configurar um arquivo de visualização de calendário personalizado.

No arquivo de visualização da sua agenda personalizada, adicione o bloco de parâmetros calendar_definition. Exemplo:

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

Observações sobre o bloco de parâmetros calendar_definition:

Consulte a seção Exemplo nesta página.

Depois de modelar a tabela de calendário personalizada em LookML, crie um grupo de dimensões de type: custom_calendar com base na visualização de calendário personalizada. Assim, os usuários finais podem criar consultas de análise usando os períodos da dimensão de tempo do calendário personalizado.

reference_date

O parâmetro reference_date especifica uma dimensão na sua visualização de calendário personalizada que é mapeada para a coluna na tabela de banco de dados do calendário personalizado que fornece uma data de calendário padrão, como 2026-01-01.

Observações sobre o parâmetro reference_date:

  • O reference_date é obrigatório porque o Looker o usa para calcular junções das suas tabelas de dados com a tabela de calendário personalizada e fornecer resultados de consultas que usam seus períodos personalizados.
  • O reference_date precisa ser único ou uma chave primária.

Consulte a seção Exemplo nesta página para saber como reference_date aponta para uma dimensão que modela uma coluna na sua tabela de calendário personalizada.

timeframe_mapping

O bloco timeframe_mapping mapeia cada período personalizado do Looker para a dimensão que modela a coluna equivalente da tabela de banco de dados do calendário 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
}

Consulte a seção Exemplo nesta página para saber como cada subparâmetro timeframe_mapping especifica uma dimensão que modela uma coluna na sua tabela de calendário personalizada.

timeframe_ordinal_mapping

O bloco timeframe_ordinal_mapping mapeia cada período personalizado do Looker para a dimensão que modela a coluna ordinal apropriada da tabela de banco de dados do calendário 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
}

Consulte a seção Exemplo nesta página para saber como cada subparâmetro timeframe_ordinal_mapping especifica uma dimensão que modela uma coluna na sua tabela de calendário personalizada.

previous_ordinal_mapping

Se você quiser criar medidas de período a período (PoP, na sigla em inglês) que usam seu calendário personalizado, também poderá adicionar um bloco previous_ordinal_mapping ao calendar_definition. O bloco previous_ordinal_mapping mapeia os períodos do Looker custom_date e custom_week para as dimensões que modelam as colunas da tabela de banco de dados do calendário personalizado, em que o dia e a semana anteriores são especificados.

previous_ordinal_mapping: {
  custom_date: field-ref
  custom_week: field-ref
}
  • O parâmetro custom_date informa ao Looker como processar o dia anterior quando o dia atual é 1.
  • O parâmetro custom_week informa ao Looker como processar a semana anterior quando a semana atual é 1.

O parâmetro previous_ordinal_mapping é opcional a partir do Looker 26.8. Se o bloco previous_ordinal_mapping for omitido, o Looker vai presumir um ano de 52 semanas, em que o valor anterior da semana 1 é 52 e o valor anterior do dia 1 é 364.

Períodos obrigatórios

Os subparâmetros de períodos de timeframe_mapping e timeframe_ordinal_mapping são obrigatórios. Se um período específico, como custom_season, não for relevante para sua agenda personalizada, ainda será necessário incluí-lo definindo uma dimensão de marcador de posição na visualização da agenda. Exemplo:

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

Exemplo

Confira um exemplo de arquivo de visualização chamado fiscal_calendar.view.lkml que modela uma tabela de calendário personalizada chamada 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
  }
}