Questa pagina si riferisce al parametro
type
che fa parte di una dimensione o di un filtro.
type
può essere utilizzato anche come parte di una misura, descritto nella pagina della documentazione Tipi di misurazioni.
type
può essere utilizzato anche come parte di un gruppo di dimensioni, descritto nella pagina della documentazione del parametrodimension_group
.
Utilizzo
dimension: field_name {
type: field_type
}
}
Gerarchia
type |
Tipi di campi possibili
Dimensione, filtro, parametroValore predefinito
string Accetta
Una dimensione, un filtro o un tipo di parametro |
La pagina include dettagli aggiuntivi sui vari tipi che possono essere assegnati a dimension
, filter
o parameter
. Una dimensione, un filtro o un parametro può avere un solo tipo, il cui valore predefinito è string
se non viene specificato alcun tipo.
Alcuni tipi hanno parametri di supporto, descritti nella sezione appropriata.
Definizioni dei tipi
Tipo | Descrizione | Tipi di campi validi |
---|---|---|
bin |
AGGIUNTO 21.14 Per campi che raggruppano valori numerici in più intervalli | G |
date |
Per i campi che contengono date | D F P |
date_time |
Per i campi che contengono date e ore | D F P |
distance |
Per i campi che calcolano la distanza del percorso più diretto ("in linea d'aria") tra due dimensioni type: location |
G |
duration |
Utilizzato con una dimension_group per creare più dimensioni basate sulla durata da una singola colonna della tabella. Per informazioni sui gruppi di dimensioni, consulta la pagina della documentazione del parametro dimension_group . |
DG |
location |
Per i campi basati su latitudine e longitudine e che verranno utilizzati nelle visualizzazioni | G |
number |
Per i campi che contengono numeri | D F P |
string |
Per i campi che contengono lettere o caratteri speciali | D F P |
tier |
Per i campi che raggruppano i valori numerici in più intervalli | G |
time |
Si utilizza con una dimension_group per creare più dimensioni basate sul tempo da una singola colonna della tabella. Per informazioni sui gruppi di dimensioni, consulta la pagina della documentazione del parametro dimension_group . |
DG |
unquoted |
Per i campi parameter i cui valori verranno inseriti direttamente in SQL e, pertanto, non devono essere virgolette (come con type: string ) |
S |
yesno |
Per i campi che mostrano se qualcosa è vero o falso | D F P |
zipcode |
Per i campi che contengono un codice postale e verranno utilizzati nelle visualizzazioni | G |
Tipi di ora e data | Un'alternativa utilizzata raramente a type: time per creare dimensioni singole basate sul tempo. |
D F |
Tipi di durata dei singoli prodotti | Un'alternativa raramente utilizzata per type: duration per creare dimensioni singole basate sul tempo che calcolano le differenze temporali. |
G |
int |
RIMOSSO 5.4
Sostituito da type: number |
G |
bin
type: bin
è un alias ditype: tier
. I due tipi possono essere utilizzati in modo intercambiabile.
type: bin
viene utilizzato in combinazione con il parametro bins
per separare una dimensione numerica in un insieme di intervalli di numeri. Ad esempio, potresti associare una dimensione relativa all'età in fasce di età diverse. Puoi modificare il modo in cui i contenitori vengono visualizzati nell'interfaccia utente di Looker con il parametro style
.
Il pattern di utilizzo è:
dimension: field_name {
type: bin
bins: [numeric_value, numeric_value, ... ]
style: interval
sql: ${my_field_name};
Il parametro sql
per le dimensioni type: bin
può utilizzare qualsiasi espressione SQL valida che restituisca un numero o un numero intero.
L'esempio di età riportato sopra potrebbe avere il seguente aspetto:
dimension: age_bin {
type: bin
bins: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
style: interval
sql: ${age} ;;
}
Il modo in cui viene visualizzato nell'interfaccia utente di Looker è descritto nella sezione style
per il parametro type: tier
in questa pagina.
Il tipo bin
è un alias per type: tier
. I due tipi possono essere utilizzati in modo intercambiabile e il comportamento è lo stesso per entrambe:
- Il sottoparametro
style
viene utilizzato per personalizzare l'aspetto dei bin nell'interfaccia utente di Looker. Dimensions of type: bin
non può essere utilizzato nei filtri personalizzati.- L'utilizzo di
type: bin
insieme al riempimento delle dimensioni può causare bucket di livello imprevisti.
distance
type: distance
viene utilizzato per calcolare la distanza del percorso più diretto ("in linea d'aria") tra due dimensioni type: location
.
Il parametro sql
per le dimensioni type: distance
è escluso. Devi invece fornire un riferimento a una dimensione type: location
nei parametri start_location_field
e end_location_field
.
Utilizzo:
dimension: field_name {
type: distance
start_location_field: field_name_1
end_location_field: field_name_2
unit: chilometri
L'unità di distanza è determinata dal parametro units
, che può assumere i seguenti valori:
feet
kilometers
meters
miles
nautical_miles
yards
Ad esempio, puoi calcolare la distanza percorsa da un cliente per ritirare un noleggio in questo modo:
dimension: distance_to_pickup {
type: distance
start_location_field: customer.home_location
end_location_field: rental.pickup_location
units: miles
}
La distanza calcolata sarà la più diretta tra i due punti, non necessariamente la distanza percorsa dalla strada.
Non utilizzare la sintassi di ${view_name.field_name}
nei parametri start_location_field
e end_location_field
. Utilizza invece il nome della vista e quello del campo da soli, ad esempio view_name.field_name
.
duration
type: duration
viene utilizzato in combinazione con dimension_group
per creare un insieme di differenze di tempo calcolate tra le dimensioni e/o le espressioni SQL.
type: duration
funziona solo con dimension_group
e non funziona con un normale dimension
. Tuttavia, puoi specificare singole dimensioni basate sulla durata, come illustrato in questa sezione.
Per informazioni sui gruppi di dimensioni con type: duration
, consulta la pagina della documentazione relativa al parametro dimension_group
.
location
type: location
viene utilizzato insieme ai parametri sql_latitude
e sql_longitude
per creare coordinate che vuoi tracciare su una visualizzazione Mappa o Mappa statica (punti) (usa un campo stato o paese per Mappa statica (regioni)) o che vuoi utilizzare in un calcolo type: distance
.
Il pattern di utilizzo è:
dimension: field_name {
type: location
sql_ latitudine:${field_name_1} ;;
sql_longitudine:${field_name_2} ;;
}
}
Il parametro sql
per le dimensioni type: location
è escluso. Devi invece fornire un'espressione SQL valida che generi una latitudine o una longitudine decimale ai parametri sql_latitude
e sql_longitude
. In genere si tratta di campi LookML che contengono informazioni su latitudine o longitudine, ma possono essere valori statici se desideri avere una posizione presso la tua sede o qualcosa del genere.
Ad esempio, potresti creare una dimensione store_location
simile alla seguente:
dimension: store_location {
type: location
sql_latitude: ${store_latitude} ;;
sql_longitude: ${store_longitude} ;;
}
Se non vuoi tracciare le località o calcolare le distanze, puoi utilizzare un tipo più semplice come type: number
. Quando visualizzi una località in una tabella, viene visualizzato il valore del tuo database e viene generato automaticamente un link a quest'ultima in Google Maps:
Dialetti di database supportati per location
Affinché Looker supporti type: location
nel tuo progetto Looker, deve essere supportato anche il dialetto del tuo database. La tabella seguente mostra quali dialetti supportano type: location
nell'ultima release di Looker:
number
type: number
viene utilizzato con numeri o numeri interi.
Il parametro sql
per le dimensioni type: number
può utilizzare qualsiasi espressione SQL valida che restituisca un numero o un numero intero.
I campi type: number
possono essere formattati utilizzando i parametri value_format
o value_format_name
.
Ad esempio, il seguente codice LookML crea un campo denominato profit
in base ai campi revenue
e cost
, quindi lo visualizza in un formato monetario ($1234,56):
dimension: profit {
type: number
sql: ${revenue} - ${cost} ;;
value_format_name: usd
}
Una dimensione può eseguire operazioni aritmetiche solo su altre dimensioni, non su misure. Inoltre, le dimensioni
type: number
non forniscono suggerimenti agli utenti, anche se li utilizzi per mostrare i numeri ID.
string
type: string
viene generalmente utilizzato con campi che contengono lettere o caratteri speciali. Può essere utilizzata anche con i campi numerici, anche se Looker dispone di funzionalità migliori per la gestione dei numeri se invece utilizzi type: number
.
Il parametro sql
per le dimensioni type: string
può utilizzare qualsiasi espressione SQL valida.
Ad esempio, il seguente LookML crea il campo full_name
combinando un campo denominato first_name
e last_name
:
dimension: full_name {
type: string
sql: CONCAT(${first_name}, ' ', ${last_name}) ;;
}
In questo esempio, type: string
potrebbe essere omesso perché string
è il valore predefinito di type
.
tier
Puoi utilizzare
type: bin
come alias ditype: tier
. I due tipi possono essere utilizzati in modo intercambiabile.
type: tier
viene utilizzato in combinazione con il parametro tiers
per separare una dimensione numerica in un insieme di intervalli di numeri. Ad esempio, potresti impostare una dimensione età in fasce di età diverse. Puoi modificare il modo in cui i livelli vengono visualizzati nell'interfaccia utente di Looker con il parametro style
.
Il pattern di utilizzo è:
dimension: field_name {
type: tier
tiers: [numeric_value, numeric_value, ... ]
style: interval
sql: ${my_field_name};
Il parametro sql
per le dimensioni type: tier
può utilizzare qualsiasi espressione SQL valida che restituisca un numero o un numero intero.
L'esempio di età riportato sopra potrebbe avere il seguente aspetto:
dimension: age_tier {
type: tier
tiers: [0, 10, 20, 30, 40, 50, 60, 70, 80]
style: classic # the default value, could be excluded
sql: ${age} ;;
}
Il modo in cui viene visualizzato nell'interfaccia utente di Looker è descritto nella sezione style
di questa pagina.
Le dimensioni
type: tier
non possono essere utilizzate nei filtri personalizzati.
style
Il parametro style
consente di modificare il modo in cui i livelli vengono visualizzati nell'interfaccia utente di Looker. Sebbene non sia mostrato negli esempi seguenti, se ci sono numeri negativi nei dati, esiste un livello iniziale che include tutti i numeri dall'infinito negativo fino a 0. I valori possibili sono quattro:
classic
(valore predefinito)interval
integer
relational
classic
style: classic
è l'impostazione predefinita e ha il seguente aspetto:
- Puoi interpretare questa notazione di livello come segue:
- T02 [10,20) è l'intervallo compreso tra 10 e fino a 20 escluso
- T09 [80, inf) è l'intervallo che include 80 e fino all'infinito
interval
style: interval
è simile a style: classic
, ma non ha le etichette TXX iniziali. Ecco come si presentano:
integer
style: integer
deve essere utilizzato con valori interi discreti (ad esempio, età). Se tenti di utilizzare numeri non interi per definire i livelli, riceverai un errore. Questo stile ha il seguente aspetto:
relational
style: relational
è ideale per i numeri continui (ad esempio, dollari) e ha il seguente aspetto:
Puoi anche applicare stili ai livelli con value_format
. Ad esempio:
dimension: amount_tier {
type: tier
tiers: [0, 10, 20, 30, 40, 50, 60, 70, 80]
style: integer
sql: ${amount} ;;
value_format: "$#,##0"
}
Questo esempio comporterebbe etichette di livello come $10 to $19
, $20 to $29
e così via.
Aspetti da considerare
L'utilizzo di tier
insieme al riempimento delle dimensioni può causare bucket di livello imprevisti.
Ad esempio, una dimensione di type: tier
, Livello di età, mostrerà i bucket di livello per Inferiore a 0 e da 0 a 9 quando il riempimento della dimensione è attivo, anche se i dati non includono valori di età per tali bucket:
Se il riempimento delle dimensioni viene disattivato per Livello di età, i bucket riflettono in modo più accurato i valori di età disponibili nei dati:
Per attivare o disattivare il riempimento della dimensione, passa il mouse sopra il nome della dimensione in Esplora, fai clic sull'icona a forma di ingranaggio a livello di campo e seleziona Rimuovi valori livello per disattivare l'opzione o Inserisci i valori del livello mancanti per attivare la dimensione.
time
type: time
viene utilizzato in combinazione con un dimension_group
e il parametro timeframes
per creare un insieme di dimensioni basate sul tempo. Ad esempio, puoi creare facilmente una dimensione basata su data, settimana e mese in base a una singola colonna timestamp.
type: time
funziona solo con dimension_group
e non funziona con un normale dimension
. Tuttavia, puoi specificare singole dimensioni basate sul tempo, come illustrato in questa sezione di seguito.
Per informazioni sui gruppi di dimensioni, consulta la pagina della documentazione relativa al parametro dimension_group
, che include anche informazioni sui parametri timeframes
, convert_tz
e datatype
, nonché difficoltà comuni e avvertenze da tenere in considerazione quando si utilizzano i dati basati sul tempo.
unquoted
type: unquoted
viene utilizzato solo con i campi parameter
. Il tipo unquoted
è simile a type: string
, ma non viene inserito quando viene inserito il valore di parameter
nella variabile liquida{% parameter %}
. Ciò è utile quando si inseriscono valori in SQL, come i nomi di colonne o tabelle, che non possono essere citati per funzionare correttamente.
Inserire valori non racchiusi direttamente in SQL potrebbe creare la possibilità di azioni SQL indesiderate. Per risolvere il problema, i valori parametro di type: unquoted
sono limitati ai caratteri da A a Z e da 0 a 9 (senza spazi o altri caratteri speciali).
Ad esempio, il seguente LookML crea un parameter
denominato table_name
che genererà un valore non citato:
parameter: table_name {
type: unquoted
}
yesno
type: yesno
crea un campo che indica se qualcosa è vero o falso. Nell'interfaccia utente di Esplora, i valori sono indicati come Sì e No.
Il parametro sql
per una dimensione type: yesno
utilizza un'espressione SQL valida che restituisce TRUE
o FALSE
. Se la condizione restituisce un valore TRUE
, all'utente viene mostrato il valore Sì; in caso contrario, viene visualizzato il messaggio No.
L'espressione SQL per type: yesno
dimensioni non può includere aggregazioni. Ciò significa che non può contenere aggregazioni SQL o riferimenti alle misure LookML. Se vuoi creare un campo yesno
che include un'aggregazione SQL o che faccia riferimento a una misura LookML, utilizza una misura con type: yesno
, non una dimensione.
Ad esempio, il seguente codice LookML crea un campo che indica se un ordine è stato pagato o meno, in base al campo status
:
dimension: is_order_paid {
type: yesno
sql: ${status} = 'paid' ;;
}
Per fare riferimento a un campo type: yesno
in un altro campo, tratta il campo type: yesno
come booleano (in altre parole, come se contenga già un valore vero o falso). Ad esempio:
dimension: is_big_order {
type: yesno
sql: ${order_size} = 'big' ;;
}
# This is correct
measure: total_boxes_needed {
type: number
sql: SUM(CASE WHEN ${is_big_order} THEN 2 ELSE 1 END) ;;
}
# This is NOT correct
measure: total_boxes_needed {
type: number
sql: SUM(CASE WHEN ${is_big_order} = 'Yes' THEN 2 ELSE 1 END) ;;
}
Se utilizzi type: yesno
con dati basati sul tempo, la dimensione restituisce yes se il valore contiene una data e no in caso contrario.
zipcode
type: zipcode
viene utilizzato con le dimensioni del codice postale che vuoi tracciare su una visualizzazione Mappa statica (punti) (utilizza un campo relativo a uno stato o a un paese per Mappa statica (regioni)). A qualsiasi dimensione di type: zipcode
viene assegnata automaticamente il valore map_layer_name
di us_zipcode_tabulation_areas
. Se non vuoi tracciare i codici postali, puoi utilizzare un tipo più semplice come type: number
.
Il parametro sql
per le dimensioni type: zipcode
può utilizzare qualsiasi espressione SQL valida che generi un codice postale statunitense a cinque cifre.
Ai fini di filtrare in base a una dimensione del codice postale, alcuni dialetti del database richiedono che il campo del database a cui si fa riferimento nella dimensione del codice postale sia un campo di tipo varchar o di tipo stringa, non un campo di tipo intero.
Ad esempio:
dimension: zip {
type: zipcode
sql: ${TABLE}.zipcode ;;
}
Tipi di ora e date individuali
In genere, le date vengono gestite come dimension_group
che utilizza type: time
.
È possibile creare un campo dimension
o filter
per ogni singolo periodo di tempo, invece di generarli tutti in un unico dimension_group
. Questo viene generalmente evitato, a meno che tu non abbia già calcolato le colonne di tempo nel tuo database o non vuoi modificare la convenzione di denominazione dei periodi di tempo di Looker (ad esempio, un campo denominato created_date_of_purchase
invece di created_date
).
Di seguito sono elencati molti tipi basati sulla data e sull'ora di seguito.
Ad esempio, per questa definizione di dimension_group
:
dimension_group: created {
type: time
timeframes: [week, month, year]
sql: ${TABLE}.created_at ;;
}
Puoi utilizzarlo come equivalente logico:
dimension: created_week {
type: date_week
sql: ${TABLE}.created_at ;;
}
dimension: created_month {
type: date_month
sql: ${TABLE}.created_at ;;
}
dimension: created_year {
type: date_year
sql: ${TABLE}.created_at ;;
}
Tipi disponibili in base all'ora
I seguenti tipi vengono utilizzati nel parametro type
di una singola dimensione per creare campi basati su data o ora. Non utilizzare questi tipi con il parametro timeframe
, indicato nella pagina della documentazione dimension_group.
Tutti i singoli tipi di data e ora richiedono un timestamp come input dal tuo database.
Tipi speciali
Tipo | Descrizione | Output di esempio |
---|---|---|
date_raw |
Il valore non elaborato del database, senza la trasmissione o la conversione del fuso orario, non verrà visualizzato nella pagina Esplora (di solito non è necessario tranne che per le unioni o i confronti temporali). | 2014-09-03 17:15:00 +0000 |
Tipi di orario
Tipo | Descrizione | Output di esempio |
---|---|---|
date_time |
Data e ora del campo sottostante (alcuni dialetti SQL mostrano la stessa precisione del database, altri indicano solo i secondi) | 2014-09-03 17:15:00 |
date_time_of_day |
Ora del giorno | 17:15 |
date_hour |
Data/ora troncata all'ora più vicina | 2014-09-03 17 |
date_hour_of_day |
Ora intero del giorno del campo sottostante | 17 |
date_hourX |
Si divide ogni giorno in intervalli con il numero di ore specificato. Richiede spiegazione, vedi di seguito. | Vedi di seguito |
date_minute |
Data/ora troncata al minuto più vicino | 2014-09-03 17:15 |
date_minuteX |
Divide ogni ora in intervalli con il numero di minuti specificato. Richiede spiegazione, vedi di seguito. | Vedi di seguito |
date_second |
Data/ora troncata al secondo più vicino | 2014-09-03 17:15:00 |
date_millisecond |
Data/ora troncata al millisecondo più vicino (consulta la sezione Supporto di Dialetti per millisecondi e microsecondi per informazioni sul supporto dei dialetti) | 2014-09-03 17:15:00.000 |
date_millisecondX |
Suddividi ogni secondo in intervalli con il numero di millisecondi specificato (per informazioni sul supporto del dialetto, consulta la sezione Supporto di Dialetti per millisecondi e microsecondi). | 2014-09-01 01:00:00.250 |
date_microsecond |
Data/ora troncata al microsecondo più vicino (consulta la sezione Supporto di Dialetti per millisecondi e microsecondi per informazioni sul supporto del dialetto) | 2014-09-03 17:15:00.000000 |
Tipi di date
Tipo | Descrizione | Output di esempio |
---|---|---|
date |
Data del campo sottostante | 2017-09-03 |
date_date |
RIMOSSO 4.6
Sostituito da date |
Tipi di settimana
Tipo | Descrizione | Output di esempio |
---|---|---|
date_week |
Data della settimana a partire da un lunedì della data/ora sottostante | 2017-09-01 |
date_day_of_week |
Solo il giorno della settimana | Wednesday |
date_day_of_week_index |
Indice del giorno della settimana (0 = Monday, 6 = Sunday) | 2 |
Tieni presente che i tipi date_week
, date_day_of_week
e date_day_of_week_index
dipendono dal valore di week_start_day
, che per impostazione predefinita è lunedì.
Tipi di mesi
Tipo | Descrizione | Output di esempio |
---|---|---|
date_month |
Anno e mese della data e ora sottostanti | 2017-09 |
date_month_num |
Numero intero del mese della data/ora sottostante | 9 |
date_month_name |
Nome del mese | September |
date_day_of_month |
Giorno del mese | 3 |
date_fiscal_month_num |
Numero intero del mese della data/ora sottostante | 9 |
Per utilizzare il tipo date_fiscal_month_num
, il parametro fiscal_month_offset
deve essere impostato nel modello.
Tipi di trimestri
Tipo | Descrizione | Output di esempio |
---|---|---|
date_quarter |
Anno e trimestre della data e ora sottostanti | 2017-Q3 |
date_quarter_of_year |
Trimestre dell'anno preceduto da una "Q" | Q3 |
date_fiscal_quarter |
Anno fiscale e trimestre dell'orario di riferimento sottostante | 2017-Q3 |
date_fiscal_quarter_of_year |
Trimestre fiscale dell'anno preceduto da una "Q" | Q3 |
Per utilizzare i tipi date_fiscal_quarter
e date_fiscal_quarter_of_year
, il parametro fiscal_month_offset
deve essere impostato nel modello.
Tipi di anno
Tipo | Descrizione | Output di esempio |
---|---|---|
date_year |
Anno intero della data/ora sottostante | 2017 |
date_day_of_year |
Giorno dell'anno | 143 |
date_week_of_year |
Settimana dell'anno in formato numerico | 17 |
date_fiscal_year |
Anno fiscale intero del data/ora sottostante | 2017 |
Per utilizzare il tipo date_fiscal_year
, il parametro fiscal_month_offset
deve essere impostato nel modello.
Uso: date_hourX
In date_hourX
, X
viene sostituito con 2, 3, 4, 6, 8 o 12.
Questo valore verrà suddiviso ogni giorno in intervalli con il numero di ore specificato. Ad esempio, la suddivisione di date_hour6
ogni giorno in 6 ore ha un aspetto simile al seguente:
2014-09-01 00:00:00
2014-09-01 06:00:00
2014-09-01 12:00:00
2014-09-01 18:00:00
Ad esempio, una riga con time
per 2014-09-01 08:03:17
avrà un date_hour6
per 2014-09-01 06:00:00
.
Uso: date_minuteX
In date_minuteX
, il valore di X
viene sostituito con 2, 3, 5, 10, 15 o 30.
Ogni ora verrà suddivisa in intervalli con il numero di minuti specificato. Ad esempio, la suddivisione di date_minute15
ogni ora viene suddivisa in 15 minuti, che hanno il seguente aspetto:
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 date_minute15
di 2014-09-01 01:15:00
.
Fusi orari e convert_tz
In generale, i calcoli orari (differenze, durate e così via) funzionano correttamente solo quando utilizzi valori di tempo tutti convertiti nello stesso fuso orario, quindi è importante tenere presente i fusi orari quando scrivi LookML.
Looker dispone di diverse impostazioni del fuso orario che consentono di convertire i dati basati sul tempo tra fusi orari diversi. Looker converte i fusi orari per impostazione predefinita. Se non vuoi che Looker esegua la conversione del fuso orario per una determinata dimensione o gruppo di dimensioni, puoi utilizzare il parametro convert_tz
descritto nella pagina della documentazione del parametro convert_tz
.
Supporto del dialetto per millisecondi e microsecondi
Looker supporta la precisione in microsecondi; tuttavia, alcuni database supportano la precisione solo in secondi. Se un database incontra un tipo di tempo più preciso di quello che può supportare, viene arrotondato a secondi.
Nell'ultima release di Looker i seguenti dialetti supportano i millisecondi:
Nell'ultima release di Looker, i seguenti dialetti supportano i microsecondi:
Singoli tipi di durata
In genere, le durate vengono gestite come dimension_group
che utilizza type: duration
.
È possibile creare un singolo dimension
per ogni singola durata da includere, anziché generarli tutti in un'unica dimension_group
. In genere, questa operazione viene evitata, a meno che tu non voglia modificare la convenzione di denominazione dei periodi di tempo di Looker (ad esempio, un campo denominato Numero di giorni da consegnare anziché Durata da consegnare).
Di seguito sono elencati alcuni tipi di durata individuali di seguito.
Quando utilizzi un tipo di durata per una dimensione, devi includere anche i parametri sql_start
e sql_end
per indicare gli orari di inizio e di fine per calcolare la differenza di tempo.
I parametri sql_start
e sql_end
possono utilizzare qualsiasi espressione SQL valida contenente i 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 ditype: 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 tempo dal tuo database, utilizzando l'espressione appropriata per il tuo dialetto.
Ad esempio, per questa definizione di dimension_group
:
dimension_group: to_delivery {
type: duration
intervals: [day, hour]
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
Come parametro logico puoi utilizzare questi parametri dimension
:
dimension: number_of_days_to_delivery {
type: duration_day
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
dimension: number_of_hours_to_delivery {
type: duration_hour
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
Nell'interfaccia utente di Esplora, vengono create dimensioni chiamate Numero di giorni da consegnare e Numero di ore da consegnare.
Tipi di durata disponibili
I seguenti tipi vengono utilizzati nel parametro type
di una singola dimensione per creare campi basati sulla durata. Non utilizzare questi tipi con il parametro intervals
, indicato nella pagina della documentazione dimension_group.
Tutti i singoli tipi di durata richiedono un timestamp come input dal tuo database.
Tipo | Descrizione | Output di esempio |
---|---|---|
duration_day |
Calcola la differenza di tempo in giorni | 9 days |
duration_hour |
Calcola una differenza di orario in ore | 171 hours |
duration_minute |
Calcola una differenza di tempo in minuti | 10,305 minutes |
duration_month |
Calcola la differenza di tempo in mesi | 3 months |
duration_quarter |
Calcola la differenza di tempo nei trimestri dell'anno | 2 quarters |
duration_second |
Calcola una differenza di tempo in secondi | 606,770 seconds |
duration_week |
Calcola la differenza di tempo in settimane | 6 weeks |
duration_year |
Calcola una differenza di tempo in anni | 2 years |