calendar_definition

Utilizzo

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

Definizione

Nell'ambito dell'utilizzo dei calendari personalizzati in Looker, il parametro calendar_definition consente di mappare i periodi di tempo dei calendari personalizzati di Looker alle colonne di una tabella di calendario personalizzato creata nel database.

Per informazioni sulla configurazione di un file di vista del calendario personalizzato, consulta la pagina della documentazione Utilizzo dei calendari personalizzati in Looker.

Nel file di vista per il calendario personalizzato, aggiungi il blocco di parametri calendar_definition. Ad esempio:

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

Tieni presente quanto segue in merito al blocco di parametri calendar_definition:

Consulta la sezione Esempio in questa pagina.

Dopo aver modellato la tabella del calendario personalizzato in LookML, puoi creare un gruppo di dimensioni di type: custom_calendar basato sulla visualizzazione del calendario personalizzato. Gli utenti finali possono quindi creare query Esplora utilizzando i periodi di tempo delle dimensioni del calendario personalizzato.

reference_date

Il parametro reference_date specifica una dimensione nella visualizzazione del calendario personalizzato che esegue il mapping alla colonna della tabella del database del calendario personalizzato che fornisce una data di calendario standard, ad esempio 2026-01-01.

Tieni presente quanto segue in merito al parametro reference_date:

  • reference_date è obbligatorio, perché Looker lo utilizza per calcolare i join dalle tabelle dei dati alla tabella del calendario personalizzato per fornire risultati di query che utilizzano i periodi di tempo personalizzati.
  • reference_date deve essere univoco o una chiave primaria.

Consulta la sezione Esempio in questa pagina per scoprire in che modo reference_date punta a una dimensione che modella una colonna nella tabella del calendario personalizzato.

timeframe_mapping

Il blocco timeframe_mapping esegue il mapping di ogni periodo di tempo personalizzato di Looker alla dimensione che modella la colonna equivalente della tabella del database del calendario personalizzato.

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 sezione Esempio in questa pagina per scoprire in che modo ogni timeframe_mapping sottoparametro specifica una dimensione che modella una colonna nella tabella del calendario personalizzato.

timeframe_ordinal_mapping

Il blocco timeframe_ordinal_mapping esegue il mapping di ogni periodo di tempo personalizzato di Looker alla dimensione che modella la colonna ordinale appropriata della tabella del database del calendario personalizzato.

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 sezione Esempio in questa pagina per scoprire in che modo ogni timeframe_ordinal_mapping sottoparametro specifica una dimensione che modella una colonna nella tabella del calendario personalizzato.

previous_ordinal_mapping

Se vuoi creare misure periodo su periodo (PoP) che utilizzano il calendario personalizzato, devi anche aggiungere un blocco previous_ordinal_mapping a calendar_definition.

Il blocco previous_ordinal_mapping esegue il mapping di ogni periodo di tempo personalizzato di Looker alla dimensione che modella la colonna appropriata della tabella del database del calendario personalizzato.

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

Consulta la sezione Esempio in questa pagina per scoprire in che modo ogni previous_ordinal_mapping sottoparametro specifica una dimensione che modella una colonna nella tabella del calendario personalizzato.

Periodi di tempo obbligatori

I sottoparametri dei periodi di tempo di timeframe_mapping e timeframe_ordinal_mapping sono obbligatori. Se un periodo di tempo specifico, ad esempio custom_season, non è pertinente per il calendario personalizzato, devi comunque includerlo definendo una dimensione segnaposto nella visualizzazione del calendario. Ad esempio:

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

Esempio

Ecco un esempio di file di vista denominato fiscal_calendar.view.lkml che modella una tabella di calendario personalizzato denominata 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
  }
}