dimension_group

Utilizzo

view: view_name {
  dimension_group:  field_name { ... }
}
Gerarchia
dimension_group
Accetta
Un identificatore Looker (che fungerà da prima parte del nome di ogni dimensione creata dal gruppo di dimensioni)

Regole speciali
  • type può essere time o duration
  • Utilizzato in genere con un parametro timeframes o intervals
  • Utilizza un parametro datatype se il gruppo di dimensioni non si basa su un campo data e ora
  • Per i gruppi di dimensioni di type: time, utilizza un parametro convert_tz se vuoi impedire la conversione automatica del fuso orario.

Definizione

Il parametro dimension_group viene utilizzato per creare contemporaneamente un insieme di dimensioni basate sul tempo o sulla durata. Definisci il gruppo di dimensioni e questo creerà un insieme di dimensioni individuali per diversi intervalli o periodi di tempo. Ad esempio, puoi specificare un gruppo di dimensioni type: time in base a una colonna timestamp e il gruppo di dimensioni creerà le dimensioni corrispondenti per esprimere i dati in termini di ora, data, settimana, ora, trimestre e anno.

La forma e la funzione del gruppo di dimensioni variano a seconda del valore type del gruppo di dimensioni:

Gruppi di dimensioni del tipo di durata

type: duration viene utilizzato insieme a un dimension_group per calcolare un insieme di dimensioni di durata basate su intervalli.

La forma di un gruppo di dimensioni di type: duration è:

dimension_group: dimension_group_name {
  type: duration
  sql_start: SQL expression ;;  # often this is a single database column
  sql_end: SQL expression ;;  # often this is a single database column
  intervals: [interval, interval, …] # see following explanation for valid intervals
}

Per i gruppi di dimensioni di type: duration:

  • I parametri sql_start e sql_end forniscono espressioni SQL che definiscono l'ora di inizio e di fine della durata. Per maggiori dettagli, consulta la sezione Definire l'inizio e la fine di una durata in questa pagina.

  • Il parametro intervals specifica una o più unità di intervallo da utilizzare per misurare la differenza di tempo. Le scelte possibili sono elencate nella sezione Opzioni di intervallo di questa pagina.

  • I valori di durata vengono arrotondati per difetto al numero intero più vicino.

  • Il parametro datatype è facoltativo. Se il gruppo di dimensioni non si basa su una data e ora, puoi specificare un formato epoca, timestamp, data o AAAAMMGG. Per i gruppi di dimensioni di type: duration, il parametro datatype si applica sia ai parametri sql_start sia a quelli sql_end, quindi assicurati che sql_start e sql_end siano entrambi del tipo di dati specificato. Il parametro datatype è descritto in modo più dettagliato nella sezione Specifica del parametro datatype del database in questa pagina.

Sebbene non siano elencati qui, molti dei parametri a livello di campo possono essere utilizzati anche con i gruppi di dimensioni.

Ad esempio, se hai colonne per enrollment_date e graduation_date, puoi creare un gruppo di dimensioni della durata per vedere quanto tempo hanno trascorso gli studenti a scuola, calcolato a intervalli di settimane e anni:

dimension_group: enrolled {
  type: duration
  intervals: [week, year]
  sql_start: ${TABLE}.enrollment_date ;;
  sql_end: ${TABLE}.graduation_date ;;
}

Nella UI di Esplora, verrà generato un gruppo di dimensioni chiamato Durata iscrizione, con dimensioni individuali chiamate Settimane di iscrizione e Anni di iscrizione.

Opzioni di intervallo

Il parametro intervals indica al gruppo di dimensioni le unità di intervallo da utilizzare per misurare la differenza di tempo tra l'ora sql_start e l'ora sql_end. Il parametro intervals è supportato solo per i gruppi di dimensioni di type: duration.

Se intervals non è incluso, il gruppo di dimensioni includerà tutti gli intervalli possibili.

Le opzioni per il parametro intervals sono:

Intervallo Descrizione Output di esempio
day Calcola una differenza di tempo in giorni. 9 days
hour Calcola una differenza di tempo in ore. 171 hours
minute Calcola una differenza di tempo in minuti. 10305 minutes
month Calcola una differenza di tempo in mesi. 3 months
quarter Calcola una differenza di tempo in trimestri dell'anno. 2 quarters
second Calcola una differenza di tempo in secondi. 606770 seconds
week Calcola una differenza di tempo in settimane. 6 weeks
year Calcola una differenza di tempo in anni. 2 years

Definizione dell'inizio e della fine di una durata

Per i gruppi di dimensioni di type: duration, i parametri sql_start e sql_end forniscono le informazioni di inizio e fine utilizzate per calcolare una differenza di tempo. Questi campi possono accettare qualsiasi espressione SQL valida che contenga dati in formato timestamp, data/ora, data, epoca o aaaammgg. I campi sql_start e sql_end possono essere:

  • Un riferimento a un periodo di tempo raw di un gruppo di dimensioni esistente di type: time
  • Un riferimento a una dimensione di type: date_raw
  • Un'espressione SQL che è un timestamp, ad esempio un riferimento a una colonna SQL che è un timestamp
  • Un'espressione SQL che estrae un orario dal database, utilizzando l'espressione appropriata per il tuo dialetto
  • Un riferimento a un campo LookML che utilizza il ::datetime o il ::date riferimento al tipo di campo

Ad esempio, supponiamo di avere una dimensione denominata faa_event_date_raw che contiene informazioni su data e ora:

dimension: faa_event_date_raw {
  type: date_raw
  sql: ${TABLE}.event_date ;;
}

Puoi creare un gruppo di dimensioni di type: duration che calcola la quantità di tempo trascorso dalla data dell'evento FAA. A questo scopo, puoi utilizzare la dimensione faa_event_date_raw come ora di inizio del calcolo e poi, per l'ora di fine del calcolo, puoi utilizzare l'espressione SQL del tuo dialetto per l'ora corrente. Questo esempio riguarda un database MySQL:

dimension_group: since_event {
  type: duration
  intervals: [hour, day]
  sql_start: ${faa_event_date_raw} ;;
  sql_end: CURRENT_TIMESTAMP();;
}

Nell'interfaccia utente di Esplora, verrà generato un gruppo di dimensioni denominato Durata dall'evento, con dimensioni individuali denominate Ore dall'evento e Giorni dall'evento.

Fare riferimento a intervalli di un altro campo LookML

Per fare riferimento a un valore interval in un dimension_group di type: duration, utilizza la sintassi ${interval_fieldname}, utilizzando la versione plurale del valore interval. Ad esempio, nel seguente esempio di LookML, la misura average_days_since_event utilizza ${days_since_event} per fare riferimento all'intervallo day nel gruppo di dimensioni since_event:


dimension_group: since_event {
  type: duration
  intervals: [hour, day, week, month, quarter, year]
  sql_start: ${faa_event_date_raw} ;;
  sql_end: CURRENT_TIMESTAMP();;
}

measure: average_days_since_event {
  type: average
  sql: ${days_since_event} ;;
}

Utilizzo dei riferimenti al tipo di campo LookML con i campi di durata

Per creare un campo di durata personalizzato, puoi specificare un tipo di riferimento ::date o ::datetime per le dimensioni a cui viene fatto riferimento nei parametri sql_start e sql_end di un gruppo di dimensioni di type: duration. La sintassi view_name.field_name::type, descritta nella pagina della documentazione Incorporare SQL e fare riferimento a oggetti LookML, ti consente di creare una versione ::date o ::datetime di un campo senza eseguire il cast dei riferimenti a queste dimensioni in stringhe.

Ad esempio, supponiamo di avere un gruppo di dimensioni created di type: time con intervalli di tempo di time, date, week, month e raw, definiti come segue:


dimension_group: created {
  type: time
  timeframes: [time, date, week, month, raw]
  sql: ${TABLE}.created_at ;;
}

Utilizzando le dimensioni created_month e created_time, puoi creare un gruppo di dimensioni type: duration che calcola la quantità di tempo tra una data del campo created_date e il primo giorno del mese in cui si è verificata la data, misurata in settimane, giorni e ore:


dimension_group: since_first_of_month {
  type: duration
  intervals: [week, day, hour]
  sql_start: ${created_month::datetime} ;;
  sql_end: ${created_time::datetime} ;;
}

Nell'interfaccia utente di Esplora, viene creato un gruppo di dimensioni denominato Durata dal primo del mese, con le singole dimensioni Settimane dal primo del mese, Giorni dal primo del mese e Ore dal primo del mese. La specifica del tipo di riferimento ::datetime per i campi a cui viene fatto riferimento nei parametri sql_start e sql_end consente di trattare le dimensioni created_month e created_time come timestamp nell'SQL generato.

Ad esempio, supponiamo che un utente selezioni le dimensioni Data di creazione e Giorni dal primo del mese dal selettore dei campi. Se uno dei valori restituiti per Data creazione è 2019-03-10, il valore restituito per Giorni dal primo del mese sarà 9 giorni.

Gruppi di dimensioni di tipo ora

type: time viene utilizzato insieme a un dimension_group e al parametro timeframes per creare un insieme di dimensioni basate sul tempo. Ad esempio, puoi creare facilmente una dimensione data, settimana e mese in base a una singola colonna timestamp.

La forma di un gruppo di dimensioni di type: time è:

dimension_group: dimension_group_name {
  type: time
  timeframes: [timeframe, timeframe, …] # see following explanation for valid timeframes
  sql: SQL expression ;;  # often this is a single database column
  datatype: epoch| timestamp | datetime | date | yyyymmdd # defaults to datetime
  convert_tz: yes | no   # defaults to yes
}

Per i gruppi di dimensioni di type: time:

  • Il parametro timeframes è facoltativo, ma raramente viene omesso. Specifica uno o più periodi di tempo che devono essere generati dal gruppo di dimensioni. Se timeframes non è incluso, ogni opzione di intervallo di tempo verrà aggiunta al gruppo di dimensioni. Le scelte possibili sono elencate nella sezione Opzioni di intervallo di tempo di questa pagina.

  • Il parametro sql per i gruppi di dimensioni type: time può accettare qualsiasi espressione SQL valida che contenga dati in formato timestamp, data/ora, data, epoca o AAAAMMGG.

  • Il parametro datatype è facoltativo. Se il gruppo di dimensioni non si basa su una data e ora, puoi specificare un formato epoca, timestamp, data o AAAAMMGG. È descritto in modo più dettagliato nella sezione Specifica del database datatype di questa pagina.

  • Il parametro convert_tz è facoltativo e consente di impedire la conversione automatica del fuso orario. È descritto in modo più dettagliato nella sezione Conversioni del fuso orario e convert_tz di questa pagina.

Sebbene non siano elencati qui, molti dei parametri a livello di campo possono essere utilizzati anche con i gruppi di dimensioni.

Ad esempio, supponiamo di avere una colonna denominata created_at che contiene informazioni su data e ora. Vuoi creare una dimensione data, settimana e mese in base a questa data e ora. Potresti utilizzare:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

Nell'interfaccia utente di Esplora, verranno generate tre dimensioni con i nomi Data creazione, Settimana creazione e Mese creazione. Tieni presente che il nome dimension_group viene combinato con i periodi di tempo per generare i nomi delle dimensioni.

Opzioni periodo di tempo

Il parametro timeframes è supportato solo per i gruppi di dimensioni di type: time. Per i gruppi di dimensioni di type: duration, utilizza invece il parametro intervals.

Il parametro timeframes indica al gruppo di dimensioni quali dimensioni deve produrre e include le seguenti opzioni:

Periodi di tempo speciali

Periodo di tempo Descrizione Output di esempio
raw Il valore non elaborato del database, senza conversione del tipo o del fuso orario. raw è accessibile solo in LookML e non viene visualizzato nella pagina Esplora. Il periodo di tempo raw restituisce un timestamp, a differenza della maggior parte degli altri periodi di tempo che restituiscono una stringa formattata. Viene utilizzata principalmente per eseguire operazioni sulle date in un campo. 2014-09-03 17:15:00 +0000
yesno Una dimensione yesno che restituisce "Yes" se la data e l'ora hanno un valore, altrimenti "No". A differenza di altri periodi di tempo, quando fai riferimento a una dimensione del periodo di tempo yesno da un altro campo, non includere il periodo di tempo nel riferimento. Ad esempio, per fare riferimento a un periodo di tempo yesno nel dimension_group: created, utilizza la sintassi ${created}, non ${created_yesno}. Yes

Periodi di tempo

Periodo di tempo Descrizione Output di esempio
time Data e ora del campo sottostante (alcuni dialetti SQL mostrano la precisione contenuta nel database, mentre altri mostrano solo i secondi) 2014-09-03 17:15:00
time_of_day Ora del giorno 17:15
hour Data e ora troncate all'ora più vicina 2014-09-03 17
hour_of_day Ora intera del giorno del campo sottostante 17
hourX Divide ogni giorno in intervalli con il numero di ore specificato. Vedi Utilizzare hourX.
minute Data e ora troncate al minuto più vicino 2014-09-03 17:15
minuteX Divide ogni ora in intervalli con il numero specificato di minuti. Vedi Utilizzare minuteX.
second Data e ora troncate al secondo più vicino 2014-09-03 17:15:00
millisecond Data e ora troncate al millisecondo più vicino (per informazioni sul supporto dei dialetti, consulta la sezione Supporto dei dialetti per millisecondi e microsecondi di questa pagina). 2014-09-03 17:15:00.000
millisecondX Divide ogni secondo in intervalli con il numero specificato di millisecondi (per informazioni sul supporto dei dialetti, consulta la sezione Supporto dei dialetti per millisecondi e microsecondi in questa pagina). Vedi Utilizzare millisecondX.
microsecond Data e ora troncate al microsecondo più vicino (per informazioni sul supporto dei dialetti, consulta la sezione Supporto dei dialetti per millisecondi e microsecondi di questa pagina). 2014-09-03 17:15:00.000000

Periodi di tempo

Periodo di tempo Descrizione Output di esempio
date Data del campo sottostante 2017-09-03

Periodi di tempo settimanali

Periodo di tempo Descrizione Output di esempio
week Data della settimana che inizia di lunedì della data e ora sottostante 2017-09-01
day_of_week Solo giorno della settimana Wednesday
day_of_week_index Indice del giorno della settimana (0 = lunedì, 6 = domenica) 2

Periodi di tempo mensili

Periodo di tempo Descrizione Output di esempio
month Anno e mese della data e ora sottostante 2014-09
month_num Numero intero del mese della data e ora sottostante 9
fiscal_month_num Numero intero del mese fiscale della data e ora sottostante 6
month_name Nome del mese September
day_of_month Giorno del mese 3

Per utilizzare i periodi di tempo fiscal_month_num, il parametro fiscal_month_offset deve essere impostato nel modello.

Periodi di tempo trimestrali

Periodo di tempo Descrizione Output di esempio
quarter Anno e trimestre della data e ora sottostante 2017-Q3
fiscal_quarter Anno fiscale e trimestre della data e ora sottostante 2017-Q3
quarter_of_year Trimestre dell'anno preceduto da una "Q" Q3
fiscal_quarter_of_year Trimestre fiscale dell'anno preceduto da una "Q" Q3

Per utilizzare i periodi di tempo fiscal_quarter e fiscal_quarter_of_year, nel modello deve essere impostato il parametro fiscal_month_offset.

Periodi di tempo annuali

Periodo di tempo Descrizione Output di esempio
year Anno intero della data e ora sottostante 2017
fiscal_year Anno fiscale intero della data e ora sottostante FY2017
day_of_year Giorno dell'anno 143
week_of_year Settimana dell'anno sotto forma di numero 17

Per utilizzare il periodo di tempo fiscal_year, il parametro fiscal_month_offset deve essere impostato nel modello.

Uso: hourX

In hourX, X viene sostituito con 2, 3, 4, 6, 8 o 12.

In questo modo, ogni giorno verrà suddiviso in intervalli con il numero di ore specificato. Ad esempio, hour6 suddividerà ogni giorno in segmenti di 6 ore, che verranno visualizzati come segue:

  • 2014-09-01 00:00:00
  • 2014-09-01 06:00:00
  • 2014-09-01 12:00:00
  • 2014-09-01 18:00:00

Per fare un esempio, una riga con un time di 2014-09-01 08:03:17 avrebbe un hour6 di 2014-09-01 06:00:00.

Uso: minuteX

In minuteX, X viene sostituito con 2, 3, 4, 5, 6, 10, 12, 15, 20 o 30.

In questo modo, ogni ora verrà suddivisa in intervalli con il numero di minuti specificato. Ad esempio, minute15 suddividerà ogni ora in segmenti di 15 minuti, che verranno visualizzati come segue:

  • 2014-09-01 01:00:00
  • 2014-09-01 01:15:00
  • 2014-09-01 01:30:00
  • 2014-09-01 01:45:00

Per fare un esempio, una riga con un time di 2014-09-01 01:17:35 avrebbe un minute15 di 2014-09-01 01:15:00.

Uso: millisecondX

In millisecondX, X viene sostituito con 2, 4, 5, 8, 10, 20, 25, 40, 50, 100, 125, 200, 250 o 500.

In questo modo, ogni secondo verrà suddiviso in intervalli con il numero specificato di millisecondi. Ad esempio, millisecond250 suddividerà ogni secondo in segmenti di 250 millisecondi, che verranno visualizzati nel seguente modo:

  • 2014-09-01 01:00:00.000
  • 2014-09-01 01:00:00.250
  • 2014-09-01 01:00:00.500
  • 2014-09-01 01:00:00.750

Per fare un esempio, una riga con un time di 2014-09-01 01:00:00.333 avrebbe un millisecond250 di 2014-09-01 01:00:00.250.

Conversioni del fuso orario e convert_tz

In generale, i calcoli del tempo (differenze, durate e così via) funzionano correttamente solo quando operi su valori di tempo convertiti nello stesso fuso orario, quindi è importante tenere presente i fusi orari quando scrivi LookML.

Looker dispone di varie impostazioni del fuso orario che convertono i dati basati sul tempo tra fusi orari diversi. Looker esegue la conversione del fuso orario per impostazione predefinita. Il parametro convert_tz è supportato per i gruppi di dimensioni di type: time. Se non vuoi che Looker esegua una conversione del fuso orario per una determinata dimensione o un determinato gruppo di dimensioni, puoi utilizzare il parametro convert_tz descritto nella pagina di documentazione del parametro convert_tz.

Supporto dei dialetti per millisecondi e microsecondi

Looker supporta la precisione del periodo di tempo fino ai microsecondi, ma alcuni database supportano la precisione solo fino al secondo. Se un database rileva un periodo di tempo più preciso di quanto possa supportare, lo arrotonderà ai secondi.

Nell'ultima release di Looker, i seguenti dialetti supportano i millisecondi:

Dialetto Supportata?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Nell'ultima release di Looker, i seguenti dialetti supportano i microsecondi:

Dialetto Supportata?
Actian Avalanche
Amazon Athena
Amazon Aurora MySQL
Amazon Redshift
Amazon Redshift 2.1+
Amazon Redshift Serverless 2.1+
Apache Druid
Apache Druid 0.13+
Apache Druid 0.18+
Apache Hive 2.3+
Apache Hive 3.1.2+
Apache Spark 3+
ClickHouse
Cloudera Impala 3.1+
Cloudera Impala 3.1+ with Native Driver
Cloudera Impala with Native Driver
DataVirtuality
Databricks
Denodo 7
Denodo 8 & 9
Dremio
Dremio 11+
Exasol
Google BigQuery Legacy SQL
Google BigQuery Standard SQL
Google Cloud PostgreSQL
Google Cloud SQL
Google Spanner
Greenplum
HyperSQL
IBM Netezza
MariaDB
Microsoft Azure PostgreSQL
Microsoft Azure SQL Database
Microsoft Azure Synapse Analytics
Microsoft SQL Server 2008+
Microsoft SQL Server 2012+
Microsoft SQL Server 2016
Microsoft SQL Server 2017+
MongoBI
MySQL
MySQL 8.0.12+
Oracle
Oracle ADWC
PostgreSQL 9.5+
PostgreSQL pre-9.5
PrestoDB
PrestoSQL
SAP HANA
SAP HANA 2+
SingleStore
SingleStore 7+
Snowflake
Teradata
Trino
Vector
Vertica

Specifica del database datatype

Il parametro datatype ti consente di specificare il tipo di dati temporali nella tabella del database che fornisci al gruppo di dimensioni, il che può migliorare il rendimento delle query.

Per i gruppi di dimensioni di type: time, il parametro datatype si applica al parametro sql del gruppo di dimensioni.

Per i gruppi di dimensioni di type: duration, il parametro datatype si applica sia ai parametri sql_start sia a quelli sql_end, quindi assicurati che sql_start e sql_end siano entrambi del tipo di dati specificato.

Il parametro datatype accetta i seguenti valori:

  • epoch: un campo epoca SQL (ovvero un numero intero che rappresenta il numero di secondi dall'epoca Unix).
  • date: un campo data SQL (ovvero uno che non contiene informazioni sull'ora del giorno).
  • datetime: un campo SQL datetime.
  • timestamp: un campo timestamp SQL.
  • yyyymmdd: un campo SQL che contiene un numero intero che rappresenta una data nel formato AAAAMMGG.

Il valore predefinito di datatype è timestamp.

Esempi

Supponiamo di avere una colonna denominata created_at che contiene informazioni su data e ora. Vuoi creare una dimensione data, settimana e mese in base a questa data e ora. Potresti utilizzare:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

-

Nell'interfaccia utente di Esplora, verranno generate tre dimensioni con i nomi Data creazione, Settimana creazione e Mese creazione. Tieni presente che il nome dimension_group viene combinato con i periodi di tempo per generare i nomi delle dimensioni.

Aspetti da considerare

I gruppi di dimensioni devono essere referenziati dalle singole dimensioni

Poiché un gruppo di dimensioni rappresenta un gruppo di dimensioni, anziché una sola dimensione, non puoi farvi riferimento direttamente in LookML. Dovrai invece fare riferimento alle dimensioni che crea.

Ad esempio, considera questo gruppo di dimensioni:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

Per fare riferimento a una di queste dimensioni in un altro campo LookML, utilizza il riferimento ${created_date}, ${created_week} o ${created_month}. Se provi a utilizzare solo ${created}, Looker non saprà a quale periodo di tempo ti riferisci e si verificherà un errore.

Per lo stesso motivo, non devi utilizzare il parametro primary_key in un gruppo di dimensioni se specifichi più di un timeframe.

Suggerimento del team di chat: ci viene spesso chiesto informazioni sull'errore di convalida che può verificarsi se utilizzi primary_key su un dimension_group con più di un timeframe. Per saperne di più, consulta il post della community Timeframes and Dimension Groups in Looker .

Dati del timestamp che includono informazioni sul fuso orario

Alcuni dialetti del database hanno opzioni di timestamp che includono informazioni sul fuso orario. Ciò ti consente di archiviare i dati timestamp in un unico campo che può avere più fusi orari. Una riga di dati potrebbe essere archiviata in formato UTC, un'altra in formato Eastern Time. Ad esempio, consulta la documentazione sui timestamp TIMESTAMP_LTZ, TIMESTAMP_NTZ, TIMESTAMP_TZ di Snowflake per informazioni sulle opzioni dei timestamp del dialetto Snowflake.

In questo caso, quando Looker esegue le conversioni del fuso orario, possono verificarsi errori. Per evitare questo problema, nel parametro sql della dimensione devi eseguire il cast esplicito dei dati timestamp a un tipo di timestamp che non esegue la conversione del fuso orario. Ad esempio, nel dialetto Snowflake, puoi utilizzare la funzione TO_TIMESTAMP per eseguire il cast dei dati timestamp.

È possibile creare dimensioni individuali di tempo o durata

È possibile creare una dimensione per ogni singolo periodo di tempo o durata che vuoi includere, anziché generarle tutte in un unico dimension_group. In genere puoi evitare di creare dimensioni individuali, a meno che tu non voglia modificare la convenzione di denominazione dei periodi di tempo di Looker o se hai già calcolato in anticipo le colonne temporali nel tuo database. Per saperne di più, consulta la pagina della documentazione Tipi di dimensioni, filtri e parametri.

Puoi modificare il primo giorno della settimana

Per impostazione predefinita, le settimane in Looker iniziano di lunedì. Puoi modificare questa impostazione utilizzando il parametro week_start_day a livello di modello.

Tieni presente che week_start_day non funziona con l'intervallo di tempo week_of_year perché si basa sullo standard ISO, che utilizza settimane che iniziano di lunedì.

I filtri personalizzati e i campi personalizzati non supportano tutti i periodi di tempo

I periodi di tempo day_of_week, fiscal_quarter_of_year, millisecond, millisecondX, microsecond, month_name, quarter_of_year e time_of_day non sono supportati nei filtri personalizzati o nei campi personalizzati.

Gli intervalli di mesi, trimestri e anni conteggiano solo i periodi completi

L'intervallo month in un gruppo di dimensioni duration considera un mese trascorso solo se il giorno finale è maggiore o uguale al giorno iniziale. Ad esempio:

  • La differenza in mesi tra il 26 settembre e il 25 ottobre dello stesso anno è 0.
  • La differenza in mesi tra il 26 settembre e il 26 ottobre dello stesso anno è 1.

Gli intervalli quarter e year seguono la stessa logica.