Nutzung
view: view_name {
set: set_name {
fields: [field, field, …]
}
}
|
Hierarchie
set |
Mögliche Feldtypen
Dimension, Dimensionsgruppe, Filterfeld, Messwert
Akzeptiert
Eine Liste von Feldnamen in eckigen Klammern
|
Definition
Sets können nützlich sein, wenn sie in anderen Parametern wie fields (für Joins) und drill_fields (für Felder) referenziert werden, für die Listen von Feldern erforderlich sind.
Sie definieren jede Gruppe mit dem Parameter set. Ein Set kann beliebig viele Dimensionen, Messwerte oder Filterfelder aus der aktuellen Ansicht enthalten, einschließlich der einzelnen Dimensionen, die durch eine Dimensionsgruppe generiert werden. Sie kann auch Felder aus anderen Ansichten mit der Syntax view_name.field_name enthalten.
Fügen Sie innerhalb des Parameters set einen Parameter fields hinzu und listen Sie dann die Felder auf, wie in diesem Beispiel:
set: my_first_set {
fields: [
dimension_one,
another_view.dimension_two,
measure_one
]
}
Sets können auch andere Sets enthalten. Wenn Sie einen Set-Namen von dem Namen einer Dimension oder eines Messwerts unterscheiden möchten, fügen Sie das Zeichen * hinzu. Beispiel:
set: my_first_set {
fields: [
dimension_one,
another_view.dimension_two,
measure_one
]
}
set: my_second_set {
fields: [
dimension_three,
measure_two
]
}
set: my_third_set {
fields: [
my_first_set*,
my_second_set*
]
}
Das Set mit dem Namen my_third_set enthält die folgenden Felder:
dimension_oneanother_view.dimension_twomeasure_onedimension_threemeasure_two
Schließlich können Felder mit dem Zeichen - ausgeschlossen werden. Beispiel:
set: my_first_set {
fields: [
dimension_one,
another_view.dimension_two,
measure_one
]
}
set: my_second_set {
fields: [
dimension_three,
measure_two
]
}
set: my_third_set {
fields: [
my_first_set*,
my_second_set*
]
}
set: my_fourth_set {
fields: [
my_first_set*,
-measure_one
]
}
Das Set mit dem Namen my_fourth_set enthält die folgenden Felder:
dimension_oneanother_view.dimension_two
Beispiele
Erstelle ein Set mit dem Namen financial_data.
set: financial_data {
fields: [
subtotal,
shipping,
tax,
total,
cost,
profit
]
}
Erstellen Sie in der Ansicht Kunden eine Menge mit dem Namen basic_customer_data, die auch auf die Ansicht Customer Order Facts verweist:
set: basic_customer_data {
fields: [
name,
address,
status,
customer_order_facts.lifetime_orders,
customer_order_facts.lifetime_revenue
]
}
Häufige Herausforderungen
Felder aus einer anderen Ansicht müssen mit dem Explore verknüpft werden, in dem set verwendet wird.
Wenn Sie in set auf ein Feld aus einer anderen Ansicht verweisen möchten, muss diese Ansicht mit dem Explore verknüpft sein, in dem set verwendet wird. Das funktioniert beispielsweise nicht:
Model File
explore: orders { ... }
Datei ansehen
view: orders {
set: customer_info {
fields: [customer.name]
}
}
Hier wurde customers nicht mit orders verknüpft. Daher kann in der customer_info-Gruppe nicht auf ein Feld aus customers verwiesen werden.
Felder aus einer dimension_group einem Set hinzufügen
Wenn Sie Felder aus einem dimension_group in ein Set einfügen möchten, müssen Sie jede Zeitrahmendimension einzeln hinzufügen. Angenommen, Sie haben folgenden dimension_group:
dimension_group: created {
type: time
timeframes: [date, week, month]
sql: ${TABLE}.created_at ;;
}
Sie können die Dimensionen „Tag“, „Woche“ und „Monat“ nicht zu einem solchen Set hinzufügen:
set: created_timeframes {
fields: [created]
}
Stattdessen müssen Sie die Zeiträume einzeln hinzufügen, z. B. so:
set: created_timeframes {
fields: [
created_date,
created_week,
created_month
]
}