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 del calendario personalizzato creata nel database.

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

Nel file di visualizzazione del 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 di esplorazione utilizzando i periodi di tempo della dimensione personalizzata del calendario.

reference_date

Il parametro reference_date specifica una dimensione nella visualizzazione personalizzata del calendario che viene mappata alla colonna della tabella del database del calendario personalizzato che fornisce una data del calendario standard, ad esempio 2026-01-01.

Tieni presente quanto segue in merito al parametro reference_date:

  • reference_date è obbligatorio, poiché Looker lo utilizza per calcolare i join dalle tabelle di dati alla tabella del calendario personalizzata 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 mappa 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 parametro secondario timeframe_mapping specifica una dimensione che modella una colonna nella tabella del calendario personalizzato.

timeframe_ordinal_mapping

Il blocco timeframe_ordinal_mapping mappa 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 parametro secondario timeframe_ordinal_mapping 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 tuo calendario personalizzato, devi anche aggiungere un blocco previous_ordinal_mapping al tuo calendar_definition.

Il blocco previous_ordinal_mapping mappa 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 parametro secondario previous_ordinal_mapping specifica una dimensione che modella una colonna nella tabella del calendario personalizzato.

Periodi di tempo obbligatori

I parametri secondari 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 tuo 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 visualizzazione denominato fiscal_calendar.view.lkml che modella una tabella di calendario personalizzata 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
  }
}