Diese Seite bezieht sich auf den Parameter
type
, der Teil einer Dimension oder eines Filters ist.
type
kann auch als Teil einer Messung verwendet werden, wie auf der Dokumentationsseite zu Messtypen beschrieben.
type
kann auch als Teil einer Dimensionsgruppe verwendet werden, wie auf der Dokumentationsseite zum Parameterdimension_group
beschrieben.
Nutzung
Dimension: Feldname {
Typ: field_type
}
}
Hierarchie
type |
Mögliche Feldtypen
Dimension, Filter, ParameterStandardwert
string Akzeptiert
Dimension, Filter oder Parametertyp |
Auf dieser Seite finden Sie weitere Informationen zu den verschiedenen Typen, die einem dimension
, filter
oder parameter
zugewiesen werden können. Eine Dimension, ein Filter oder ein Parameter kann nur einen Typ haben. Wenn kein Typ angegeben ist, wird standardmäßig string
verwendet.
Einige Typen haben unterstützende Parameter, die im entsprechenden Abschnitt beschrieben werden.
Typdefinitionen
Typ | Beschreibung | Gültige Feldtypen |
---|---|---|
bin |
ADDED 21.14 Für Felder, die numerische Werte in mehreren Bereichen gruppieren | D |
date |
Für Felder mit Datumsangaben | D F P |
date_time |
Für Felder mit Datumsangaben und Uhrzeiten | D F P |
distance |
Für Felder, die die Entfernung des direktesten Pfads („als Luftlinie“) zwischen zwei type: location -Dimensionen berechnen |
D |
duration |
Wird mit einem dimension_group verwendet, um mehrere dauerbasierte Dimensionen aus einer einzelnen Tabellenspalte zu erstellen. Informationen zu Dimensionsgruppen finden Sie auf der Dokumentationsseite zum Parameter dimension_group . |
DG |
location |
Für Felder, die auf Breiten- und Längengrad basieren und in Visualisierungen verwendet werden | D |
number |
Für Felder mit Zahlen | D F P |
string |
Für Felder, die Buchstaben oder Sonderzeichen enthalten | D F P |
tier |
Für Felder, die numerische Werte in mehreren Bereichen gruppieren | D |
time |
Wird mit einem dimension_group verwendet, um mehrere zeitbasierte Dimensionen aus einer einzelnen Tabellenspalte zu erstellen. Informationen zu Dimensionsgruppen finden Sie auf der Dokumentationsseite zum Parameter dimension_group . |
DG |
unquoted |
Für parameter -Felder, deren Werte direkt in SQL eingefügt und daher nicht in Anführungszeichen gesetzt werden sollen (wie bei type: string ) |
|
yesno |
Für Felder, die angeben, ob etwas wahr oder falsch ist | D F P |
zipcode |
Für Felder mit einer Postleitzahl, die in Visualisierungen verwendet werden | D |
Individuelle Zeit- und Datumstypen | Eine selten verwendete Alternative zu type: time zum Erstellen einzelner, zeitbasierter Dimensionen |
D F |
Individuelle Dauertypen | Eine selten verwendete Alternative zu type: duration zum Erstellen einzelner zeitbasierter Dimensionen zur Berechnung von Zeitunterschieden |
D |
int |
REMOVED 5.4
Ersetzt durch type: number |
D |
bin
type: bin
ist ein Alias fürtype: tier
. Beide Typen sind austauschbar.
type: bin
wird in Verbindung mit dem Parameter bins
verwendet, um eine numerische Dimension in eine Reihe von Zahlenbereichen zu unterteilen. Sie können beispielsweise eine Dimension „Alter“ in verschiedene Altersgruppen einordnen. Sie können die Darstellung der Klassen in der Looker-Benutzeroberfläche mit dem Parameter style
ändern.
Das Nutzungsmuster lautet:
Dimension: Feldname {
Typ: bin
bin: [numerischer_Wert, numerischer_Wert, ... ]
Stil: Intervall
sql: ${my_field_name}
}
Der Parameter sql
für type: bin
-Dimensionen kann jeden gültigen SQL-Ausdruck annehmen, der zu einer Zahl oder Ganzzahl führt.
Das obige Beispiel für das Alter könnte so aussehen:
dimension: age_bin {
type: bin
bins: [0, 10, 20, 30, 40, 50, 60, 70, 80, 90]
style: interval
sql: ${age} ;;
}
Wie dies auf der Looker-Benutzeroberfläche aussehen würde, wird im Abschnitt style
für den Parameter type: tier
auf dieser Seite beschrieben.
Der Typ bin
ist ein Alias für type: tier
. Die beiden Typen können austauschbar verwendet werden und das Verhalten für beide ist gleich:
- Der Unterparameter
style
wird verwendet, um die Darstellung von Klassen in der Looker-Benutzeroberfläche anzupassen. Dimensions of type: bin
kann nicht in benutzerdefinierten Filtern verwendet werden.- Die Verwendung von
type: bin
in Verbindung mit der Dimensionsfüllung kann zu unerwarteten Stufen-Buckets führen.
distance
type: distance
wird verwendet, um die Entfernung des direktesten Pfads (als Luftlinie) zwischen zwei type: location
-Dimensionen zu berechnen.
Der Parameter sql
ist für type: distance
Dimensionen ausgeschlossen. Stattdessen geben Sie in den Parametern start_location_field
und end_location_field
einen Verweis auf eine type: location
-Dimension an.
Die Nutzung sieht so aus:
dimension: field_name {
Typ: Entfernung
start_location_field: field_name_1
end_location_field: field_name_2
units: Kilometer
Die Einheit für die Entfernung wird durch den Parameter units
bestimmt, der die folgenden Werte annehmen kann:
feet
kilometers
meters
miles
nautical_miles
yards
So können Sie beispielsweise die Strecke berechnen, die ein Kunde zur Abholung eines Mietobjekts zurückgelegt hat:
dimension: distance_to_pickup {
type: distance
start_location_field: customer.home_location
end_location_field: rental.pickup_location
units: miles
}
Die berechnete Entfernung ist der direkteste Weg zwischen den beiden Punkten, nicht unbedingt die zurückgelegte Entfernung der Straße.
Verwenden Sie die Syntax ${view_name.field_name}
nicht in den Parametern start_location_field
und end_location_field
. Verwenden Sie stattdessen den Namen der Ansicht und des Feldnamens allein, z. B. view_name.field_name
.
duration
type: duration
wird in Verbindung mit einem dimension_group
verwendet, um eine Reihe von berechneten Zeitunterschieden zwischen Dimensionen und/oder SQL-Ausdrücken zu erstellen.
type: duration
funktioniert nur mit einem dimension_group
und nicht mit einem normalen dimension
. Sie können jedoch wie in diesem Abschnitt unten beschrieben individuelle Dimensionen für die Dauer festlegen.
Informationen zu Dimensionsgruppen mit type: duration
finden Sie in der Dokumentation des Parameters dimension_group
.
location
type: location
wird in Verbindung mit den Parametern sql_latitude
und sql_longitude
verwendet, um Koordinaten zu erstellen, die Sie auf einer Karte oder einer statischen Karte (Punkt) darstellen möchten. Verwenden Sie dazu ein Bundesland- oder Länderfeld für die statische Karte (Regionen) oder die für eine type: distance
-Berechnung.
Das Nutzungsmuster lautet:
Dimension: Feldname {
Typ: location
sql_latitude:${field_name_1} ;;
sql_length:${field_name_2} ;;
}
}
Der Parameter sql
ist für type: location
Dimensionen ausgeschlossen. Stattdessen geben Sie alle gültigen SQL-Ausdrücke an, die zu einem dezimalen Längen- oder Breitengrad für die Parameter sql_latitude
und sql_longitude
führen. Dies sind in der Regel Verweise auf LookML-Felder, die Informationen zu Breiten- und Längengraden enthalten. Es kann sich aber auch um statische Werte handeln, wenn Sie einen Hauptsitz oder eine ähnliche Adresse haben möchten.
Die Dimension store_location
könnte beispielsweise so aussehen:
dimension: store_location {
type: location
sql_latitude: ${store_latitude} ;;
sql_longitude: ${store_longitude} ;;
}
Wenn Sie keine Standorte darstellen oder Entfernungen berechnen möchten, können Sie einen einfacheren Typ wie type: number
verwenden. Wenn Sie sich einen Standort in einer Tabelle ansehen, wird der Wert aus Ihrer Datenbank angezeigt. Außerdem wird automatisch ein Link zu diesem Standort in Google Maps generiert:
Unterstützte Datenbankdialekte für location
Damit Looker type: location
in Ihrem Looker-Projekt unterstützt, muss es auch von Ihrem Datenbankdialekt unterstützt werden. In der folgenden Tabelle sehen Sie, welche Dialekte type: location
in der neuesten Version von Looker unterstützen:
number
type: number
wird mit Zahlen oder Ganzzahlen verwendet.
Der Parameter sql
für type: number
-Dimensionen kann jeden gültigen SQL-Ausdruck annehmen, der zu einer Zahl oder Ganzzahl führt.
type: number
-Felder können mit den Parametern value_format
oder value_format_name
formatiert werden.
Die folgende LookML-Datei erstellt beispielsweise ein Feld namens profit
basierend auf den Feldern revenue
und cost
und zeigt es dann in einem Geldformat an (1.234,56 $):
dimension: profit {
type: number
sql: ${revenue} - ${cost} ;;
value_format_name: usd
}
Eine Dimension kann nur arithmetisch für andere Dimensionen und nicht für Maße durchgeführt werden. Außerdem erhalten Nutzer in
type: number
-Dimensionen keine Vorschläge, selbst wenn sie zur Anzeige von ID-Nummern verwendet werden.
string
type: string
wird normalerweise mit Feldern verwendet, die Buchstaben oder Sonderzeichen enthalten. Es kann auch mit Zahlenfeldern verwendet werden. Looker bietet jedoch bessere Funktionen für die Handhabung von Zahlen, wenn Sie stattdessen type: number
verwenden.
Der Parameter sql
für Dimensionen vom Typ type: string
kann einen beliebigen gültigen SQL-Ausdruck verwenden.
Im folgenden LookML wird beispielsweise das Feld full_name
durch Kombinieren eines Felds namens first_name
und last_name
erstellt:
dimension: full_name {
type: string
sql: CONCAT(${first_name}, ' ', ${last_name}) ;;
}
In diesem Beispiel könnte type: string
weggelassen werden, da string
der Standardwert für type
ist.
tier
Sie können
type: bin
als Alias fürtype: tier
verwenden. Beide Typen sind austauschbar.
type: tier
wird in Verbindung mit dem Parameter tiers
verwendet, um eine numerische Dimension in eine Reihe von Zahlenbereichen zu unterteilen. Sie können beispielsweise eine Dimension „Alter“ in verschiedene Altersgruppen einstufen. Sie können die Darstellung der Stufen in der Looker-UI mit dem Parameter style
ändern.
Das Nutzungsmuster lautet:
dimension: field_name {
Typ: tier
tiers: [numerischer_Wert, numerischer_Wert, ... ]
Stil: Intervall
sql: ${my_field_name}}}
Der Parameter sql
für type: tier
-Dimensionen kann jeden gültigen SQL-Ausdruck annehmen, der zu einer Zahl oder Ganzzahl führt.
Das obige Beispiel für das Alter könnte so aussehen:
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} ;;
}
Wie dies in der Looker-Benutzeroberfläche aussehen würde, wird im Abschnitt style
auf dieser Seite beschrieben.
Die Dimension „
type: tier
“ kann nicht in benutzerdefinierten Filtern verwendet werden.
style
Mit dem Parameter style
können Sie ändern, wie Ebenen in der Looker-Benutzeroberfläche angezeigt werden. Auch wenn die Daten in den Beispielen unten nicht enthalten sind, gibt es in den Daten negative Zahlen. In der Anfangsstufe gibt es aber alle Zahlen von negativ unendlich bis 0. Es gibt vier mögliche Werte:
classic
(Standardwert)interval
integer
relational
classic
style: classic
ist die Standardeinstellung und sieht so aus:
- Sie können diese Notation der Stufe so interpretieren:
- T02 [10,20) ist der Bereich von 10 bis 20.
- T09 [80,inf) ist der Bereich einschließlich 80 und bis unendlich.
interval
style: interval
ähnelt style: classic
, hat aber nicht die führenden TXX-Labels. Es sieht so aus:
integer
style: integer
muss mit separaten Ganzzahlwerten (z. B. Alter) verwendet werden. Wenn Sie versuchen, zum Definieren der Stufen Nicht-Ganzzahlen zu verwenden, erhalten Sie eine Fehlermeldung. Dieser Stil sieht so aus:
relational
style: relational
wird am besten mit fortlaufenden Zahlen (z. B. Dollar) verwendet und sieht so aus:
Sie können auch Stile mit value_format
festlegen. Beispiel:
dimension: amount_tier {
type: tier
tiers: [0, 10, 20, 30, 40, 50, 60, 70, 80]
style: integer
sql: ${amount} ;;
value_format: "$#,##0"
}
Dieses Beispiel würde zu Stufenlabels wie $10 to $19
, $20 to $29
usw. führen.
Wichtige Punkte
Die Verwendung von tier
in Verbindung mit der Dimensionsfüllung kann zu unerwarteten Stufen-Buckets führen.
Beispiel: Für die Dimension type: tier
, Altersgruppe, werden Ebenen-Buckets für Unter 0 und 0 bis 9 angezeigt, wenn die Dimensionsausführung aktiviert ist. Die Daten enthalten jedoch keine Alterswerte für diese Buckets:
Wenn die Dimension „Ausführung“ für die Altersstufe deaktiviert ist, spiegeln die Buckets die in den Daten verfügbaren Alterswerte genauer wider:
Sie können diese Funktion aktivieren oder deaktivieren. Bewegen Sie dazu den Mauszeiger über den Namen der Dimension in „Erkunden“, klicken Sie auf das Zahnradsymbol auf Feldebene und wählen Sie entweder Aufgefüllte Werte entfernen aus oder aktivieren Sie Fehlende Werte eingeben.
time
type: time
wird in Verbindung mit einem dimension_group
und dem Parameter timeframes
verwendet, um zeitbasierte Dimensionen zu erstellen. So können Sie beispielsweise ganz einfach eine Datums-, Wochen- und Monatsdimension auf der Basis einer einzelnen Zeitstempelspalte erstellen.
type: time
funktioniert nur mit einem dimension_group
und nicht mit einem normalen dimension
. Sie können jedoch einzelne zeitbasierte Dimensionen angeben, wie in diesem Abschnitt unten beschrieben.
Informationen zu Dimensionsgruppen finden Sie auf der Dokumentationsseite zu den dimension_group
-Parametern. Hier finden Sie auch Informationen zu den Parametern timeframes
, convert_tz
und datatype
sowie Hinweise zu häufigen Problemen und Einschränkungen bei der Verwendung zeitbasierter Daten.
unquoted
type: unquoted
wird nur mit parameter
-Feldern verwendet. Der Typ unquoted
ähnelt type: string
, mit dem Unterschied, dass der Wert von parameter
in Anführungszeichen gesetzt wird, wenn er in die {% parameter %}
-Flüssigkeitsvariable eingefügt wird. Dies ist nützlich, wenn Sie Werte in SQL einfügen (z. B. Spalten- oder Tabellennamen), die nicht in Anführungszeichen gesetzt werden können, damit sie richtig funktionieren.
Wenn Sie Werte ohne Anführungszeichen direkt in SQL einfügen, können unerwünschte SQL-Aktionen entstehen. Zur Behebung dieses Problems sind die Parameterwerte von type: unquoted
auf die Zeichen A bis Z und 0 bis 9 (ohne Leerzeichen oder andere Sonderzeichen) beschränkt.
Das folgende LookML erstellt beispielsweise ein parameter
namens table_name
, das einen Wert ohne Anführungszeichen erzeugt:
parameter: table_name {
type: unquoted
}
yesno
type: yesno
erstellt ein Feld, das angibt, ob etwas wahr oder falsch ist. In der Benutzeroberfläche von „Entdecken“ werden die Werte Ja und Nein angezeigt.
Der Parameter sql
für eine type: yesno
-Dimension verwendet einen gültigen SQL-Ausdruck, der als TRUE
oder FALSE
ausgewertet wird. Lautet die Bedingung TRUE
, wird dem Nutzer Ja angezeigt, andernfalls Nein.
Der SQL-Ausdruck für type: yesno
-Dimensionen darf keine Aggregationen enthalten. Das bedeutet, dass sie keine SQL-Aggregationen oder Verweise auf LookML-Messwerte enthalten darf. Wenn Sie ein yesno
-Feld erstellen möchten, das eine SQL-Aggregation enthält oder auf einen LookML-Messwert verweist, verwenden Sie einen Messwert mit type: yesno
und nicht mit einer Dimension.
Die folgende LookML-Datei erstellt beispielsweise ein Feld, das basierend auf dem Feld status
angibt, ob eine Bestellung bezahlt wurde oder nicht:
dimension: is_order_paid {
type: yesno
sql: ${status} = 'paid' ;;
}
Wenn Sie auf ein type: yesno
-Feld in einem anderen Feld verweisen möchten, behandeln Sie das type: yesno
-Feld als booleschen Wert (als wäre das bereits ein richtiger oder falscher Wert). Beispiel:
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) ;;
}
Wenn Sie type: yesno
mit zeitbasierten Daten verwenden, gibt die Dimension yes zurück, wenn der Datetime-Wert einen Wert hat. Andernfalls wird no zurückgegeben.
zipcode
type: zipcode
wird mit Postleitzahlendimensionen verwendet, die Sie in einer statischen Karte (Punkte) grafisch darstellen möchten. Verwenden Sie für statische Karten (Regionen) ein Bundesland- oder Länderfeld. Jede Dimension von type: zipcode
erhält automatisch die map_layer_name
von us_zipcode_tabulation_areas
. Wenn Sie die Postleitzahlen nicht darstellen möchten, können Sie einen einfacheren Typ wie type: number
verwenden.
Der Parameter sql
für type: zipcode
-Dimensionen kann jeden gültigen SQL-Ausdruck verwenden, der zu einer fünfstelligen US-amerikanischen Postleitzahl führt.
Zum Filtern nach der Dimension „Postleitzahl“ muss bei einigen Datenbankdialekten das Datenbankfeld, auf das die Dimension „Postleitzahl“ verweist, ein Feld vom Typ „Varchar“ oder „String“ sein. Ein Feld vom Typ „Ganzzahl“ ist nicht zulässig.
Beispiel:
dimension: zip {
type: zipcode
sql: ${TABLE}.zipcode ;;
}
Einzelne Zeit- und Datumstypen
In der Regel werden Datumsangaben als dimension_group
verarbeitet, das type: time
verwendet.
Sie können für jeden Zeitraum, den Sie einschließen möchten, ein eigenes Feld vom Typ dimension
oder filter
erstellen, anstatt alle in einem einzigen dimension_group
zu generieren. Dies wird in der Regel vermieden, es sei denn, Sie haben in Ihrer Datenbank bereits vorab berechnete Zeitspalten oder möchten die Namenskonvention für den Looker ändern (z. B. ein Feld namens created_date_of_purchase
anstelle von created_date
).
Viele verschiedene zeit- und datumsbasierte Typen sind unten aufgeführt.
Hier ein Beispiel für diese dimension_group
-Definition:
dimension_group: created {
type: time
timeframes: [week, month, year]
sql: ${TABLE}.created_at ;;
}
Sie können dies als logische Entsprechung verwenden:
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 ;;
}
Verfügbare zeitbasierte Typen
Die folgenden Typen werden im Parameter type
einer einzelnen Dimension verwendet, um zeit- oder datumsbasierte Felder zu erstellen. Verwenden Sie diese Typen nicht mit dem Parameter timeframe
, der auf der Dokumentationsseite zu dimension_group beschrieben ist.
Alle einzelnen Zeit- und Datumstypen benötigen einen Zeitstempel als Eingabe aus Ihrer Datenbank.
Besondere Typen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date_raw |
Der Rohwert aus Ihrer Datenbank ohne Umwandlung oder Zeitzonenkonvertierung wird nicht auf der Seite „Entdecken“ angezeigt. Dies ist in der Regel nicht erforderlich, außer bei Joins oder Zeitvergleichen. | 2014-09-03 17:15:00 +0000 |
Zeittypen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date_time |
Datum/Uhrzeit des zugrunde liegenden Felds (einige SQL-Dialekte zeigen so viel Präzision an, wie Ihre Datenbank enthält, andere nur Sekunden) | 2014-09-03 17:15:00 |
date_time_of_day |
Tageszeit | 17:15 |
date_hour |
Datum/Uhrzeit wurde auf die nächste Stunde gekürzt | 2014-09-03 17 |
date_hour_of_day |
Ganzzahl des Tages vom zugrunde liegenden Feld | 17 |
date_hourX |
Teilt jeden Tag in Intervalle mit der angegebenen Anzahl an Stunden auf. Erklärung erforderlich, siehe unten | Siehe unten |
date_minute |
Datum/Uhrzeit wurde auf die nächste Minute gekürzt | 2014-09-03 17:15 |
date_minuteX |
Teilt jede Stunde in Intervalle mit der angegebenen Anzahl von Minuten auf. Erklärung erforderlich, siehe unten | Siehe unten |
date_second |
Datum/Uhrzeit wurde auf die nächste Sekunde gekürzt | 2014-09-03 17:15:00 |
date_millisecond |
Datum/Uhrzeit wurde auf die nächste Millisekunde gekürzt. Weitere Informationen zur Dialektunterstützung finden Sie im Abschnitt Dialektunterstützung für Millisekunden und Mikrosekunden. | 2014-09-03 17:15:00.000 |
date_millisecondX |
Teilt jede Sekunde in Intervalle mit der angegebenen Anzahl von Millisekunden auf. Weitere Informationen zur Unterstützung von Dialekten finden Sie im Abschnitt Dialektunterstützung für Millisekunden und Mikrosekunden. | 2014-09-01 01:00:00.250 |
date_microsecond |
Datum/Uhrzeit wurde auf die nächste Mikrosekunde gekürzt. Informationen zur Dialektunterstützung finden Sie im Abschnitt Dialektunterstützung für Millisekunden und Mikrosekunden. | 2014-09-03 17:15:00.000000 |
Datumstypen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date |
Datum des zugrunde liegenden Felds | 2017-09-03 |
date_date |
REMOVED 4.6
Ersetzt durch date |
Wochentypen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date_week |
Datum der Woche, beginnend am Montag des zugrunde liegenden Datums und der Uhrzeit | 2017-09-01 |
date_day_of_week |
Nur Wochentag | Wednesday |
date_day_of_week_index |
Wochentagindex (0 = Montag, 6 = Sonntag) | 2 |
Beachten Sie, dass die Typen date_week
, date_day_of_week
und date_day_of_week_index
vom Wert von week_start_day
abhängen. Dies ist der Standardwert von Montag.
Monatstypen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date_month |
Jahr und Monat des zugrunde liegenden Datums und der Uhrzeit | 2017-09 |
date_month_num |
Ganzzahl des Monats für das zugrunde liegende Datum | 9 |
date_month_name |
Name des Monats | September |
date_day_of_month |
Tag des Monats | 3 |
date_fiscal_month_num |
Ganzzahl des Monats für das zugrunde liegende Datum | 9 |
Wenn Sie den Typ date_fiscal_month_num
verwenden möchten, muss der Parameter fiscal_month_offset
im Modell festgelegt werden.
Quartalstypen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date_quarter |
Jahr und Quartal des zugrunde liegenden Datums und der Uhrzeit | 2017-Q3 |
date_quarter_of_year |
Quartal mit einem vorangestellten „Q“ | Q3 |
date_fiscal_quarter |
Geschäftsjahr und -quartal des zugrunde liegenden Datums und der Uhrzeit | 2017-Q3 |
date_fiscal_quarter_of_year |
Geschäftsquartal des Jahres mit vorangestelltem "Q" | Q3 |
Wenn Sie die Typen date_fiscal_quarter
und date_fiscal_quarter_of_year
verwenden möchten, muss der Parameter fiscal_month_offset
im Modell festgelegt werden.
Jahrstypen
Typ | Beschreibung | Beispielausgabe |
---|---|---|
date_year |
Ganzzahliges Jahr der zugrunde liegenden Datum-/Uhrzeit | 2017 |
date_day_of_year |
Tag des Jahres | 143 |
date_week_of_year |
Woche des Jahres als Zahl | 17 |
date_fiscal_year |
Ganzzahliges Geschäftsjahr des zugrunde liegenden Datums und Uhrzeit | 2017 |
Um den Typ date_fiscal_year
zu verwenden, muss der Parameter fiscal_month_offset
im Modell festgelegt werden.
date_hourX
verwenden
In date_hourX
wird X
durch 2, 3, 4, 6, 8 oder 12 ersetzt.
Dadurch wird der Tag in Intervalle aufgeteilt, die der angegebenen Anzahl an Stunden entsprechen. date_hour6
wird beispielsweise jeden Tag in 6-Stunden-Segmente aufgeteilt, die so aussehen:
2014-09-01 00:00:00
2014-09-01 06:00:00
2014-09-01 12:00:00
2014-09-01 18:00:00
Eine Zeile mit einem time
von 2014-09-01 08:03:17
hätte beispielsweise einen date_hour6
von 2014-09-01 06:00:00
.
date_minuteX
verwenden
In date_minuteX
wird X
durch 2, 3, 5, 10, 15 oder 30 ersetzt.
Damit wird jede Stunde in Intervalle aufgeteilt und die angegebene Anzahl von Minuten erreicht. date_minute15
wird beispielsweise jede Stunde in 15-Minuten-Segmente aufgeteilt. Das sieht dann so aus:
2014-09-01 01:00:00
2014-09-01 01:15:00
2014-09-01 01:30:00
2014-09-01 01:45:00
Beispiel: Eine Zeile mit einem time
von 2014-09-01 01:17:35
hätte ein date_minute15
von 2014-09-01 01:15:00
.
Zeitzonen und convert_tz
Im Allgemeinen funktionieren Zeitberechnungen (Unterschiede, Dauern usw.) nur dann richtig, wenn Sie mit Zeitwerten arbeiten, die alle in dieselbe Zeitzone umgewandelt werden. Daher sollten Sie beim Schreiben von LookML Zeitzonen berücksichtigen.
Looker bietet verschiedene Zeitzoneneinstellungen, mit denen zeitbasierte Daten zwischen verschiedenen Zeitzonen umgewandelt werden. Looker konvertiert standardmäßig Zeitzonen. Wenn Sie nicht möchten, dass Looker eine Zeitzone für eine bestimmte Dimension oder Dimensionsgruppe umwandelt, können Sie den Parameter convert_tz
verwenden, der auf der Dokumentationsseite für den Parameter convert_tz
beschrieben ist.
Dialektunterstützung für Millisekunden und Mikrosekunden
Looker unterstützt die Genauigkeit bis auf Mikrosekunden. Einige Datenbanken unterstützen jedoch eine Genauigkeit von nur Sekunden. Wenn eine Datenbank einen genaueren Zeittyp findet, als er unterstützt, wird sie auf Sekunden aufgerundet.
In der neuesten Version von Looker unterstützen die folgenden Dialekte Millisekunden:
In der neuesten Version von Looker unterstützen die folgenden Dialekte Mikrosekunden:
Einzelne Dauertypen
Dauer wird in der Regel als dimension_group
behandelt, die type: duration
verwendet.
Sie können ein dimension
für jede einzelne Dauer erstellen, die Sie einschließen möchten, anstatt alle in einem einzigen dimension_group
zu generieren. Dies wird normalerweise vermieden, es sei denn, Sie möchten die Namenskonvention von Looker ändern, z. B. ein Feld namens Number of Days to Delivery (Anzahl der Tage bis zur Lieferung) statt Duration to Delivery (Dauer bis zur Lieferung).
Weitere Informationen zu den einzelnen Dauertypen
Wenn Sie einen Zeitraumtyp für eine Dimension verwenden, müssen Sie auch die Parameter sql_start
und sql_end
angeben, um die Start- und Endzeiten für die Berechnung des Zeitunterschieds anzugeben.
Die Parameter sql_start
und sql_end
können einen beliebigen gültigen SQL-Ausdruck verwenden, der Daten im Format Zeitstempel, Datetime, Datum, Epoche oder jjjjmmtt enthält. Die Felder sql_start
und sql_end
können eines der folgenden Felder sein:
- Ein Verweis auf einen
raw
-Zeitraum aus einer vorhandenen Dimensionsgruppe vontype: time
. - Ein Verweis auf eine Dimension von
type: date_raw
. - Ein SQL-Ausdruck, der ein Zeitstempel ist, z. B. ein Verweis auf eine SQL-Spalte, die ein Zeitstempel ist.
- Ein SQL-Ausdruck, der eine Zeit aus Ihrer Datenbank mit dem entsprechenden Ausdruck für Ihren Dialekt abruft.
Hier ein Beispiel für diese dimension_group
-Definition:
dimension_group: to_delivery {
type: duration
intervals: [day, hour]
sql_start: ${created_raw} ;;
sql_end: ${delivered_raw};;
}
Sie können diese dimension
-Parameter als logische Entsprechung verwenden:
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};;
}
In der Benutzeroberfläche von „Erkunden“ werden die Dimensionen Anzahl der Tage bis zur Auslieferung und Anzahl der Stunden bis zur Auslieferung erstellt.
Verfügbare Dauertypen
Die folgenden Typen werden im Parameter type
einer einzelnen Dimension verwendet, um dauerbasierte Felder zu erstellen. Verwenden Sie diese Typen nicht mit dem Parameter intervals
, der auf der Dokumentationsseite zu dimension_group beschrieben ist.
Alle einzelnen Dauertypen erfordern einen Zeitstempel als Eingabe aus Ihrer Datenbank.
Typ | Beschreibung | Beispielausgabe |
---|---|---|
duration_day |
Berechnet einen Zeitunterschied in Tagen. | 9 days |
duration_hour |
Zeitunterschied in Stunden berechnen | 171 hours |
duration_minute |
Berechnet einen Zeitunterschied in Minuten. | 10,305 minutes |
duration_month |
Berechnet eine Zeitdifferenz in Monaten. | 3 months |
duration_quarter |
Berechnet eine Zeitdifferenz in Quartalen des Jahres | 2 quarters |
duration_second |
Berechnet einen Zeitunterschied in Sekunden. | 606,770 seconds |
duration_week |
Berechnet einen Zeitunterschied in Wochen | 6 weeks |
duration_year |
Berechnet einen Zeitunterschied in Jahren. | 2 years |