Utilisation
set: set_name {
fields : [field, field, ...]
}
}
Hiérarchie
set |
Types de champs possibles
Dimension, groupe de dimensions, champ de filtrage, mesureAcceptation
Liste de noms de champs entre crochets |
Définition
Les ensembles peuvent être utiles lorsqu'ils sont référencés dans d'autres paramètres, tels que fields
(pour les jointures) et drill_fields
(pour les champs), qui nécessitent des listes de champs.
Vous définissez chaque ensemble à l'aide du paramètre set
. Un ensemble peut contenir un nombre illimité de dimensions, de mesures ou de champs de filtrage de la vue actuelle, y compris des dimensions individuelles générées par un groupe de dimensions. Il peut également contenir des champs d'autres vues utilisant la syntaxe view_name.field_name
.
Dans le paramètre set
, ajoutez un paramètre fields
, puis répertoriez les champs, comme dans cet exemple:
set: my_first_set {
fields: [
dimension_one,
another_view.dimension_two,
measure_one
]
}
Les ensembles peuvent également contenir d'autres ensembles. Pour différencier un nom d'ensemble du nom d'une dimension ou d'une mesure, ajoutez un caractère *
. Exemple :
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*
]
}
L'ensemble nommé my_third_set
contiendra les champs suivants:
dimension_one
another_view.dimension_two
measure_one
dimension_three
measure_two
Enfin, les champs peuvent être exclus à l'aide du caractère -
. Exemple :
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
]
}
L'ensemble nommé my_fourth_set
contiendra les champs suivants:
dimension_one
another_view.dimension_two
Examples
Créer un ensemble appelé financial_data
set: financial_data {
fields: [
subtotal,
shipping,
tax,
total,
cost,
profit
]
}
Dans la vue Clients, créez un ensemble appelé basic_customer_data
qui fait également référence à la vue Fact Facts:
set: basic_customer_data {
fields: [
name,
address,
status,
customer_order_facts.lifetime_orders,
customer_order_facts.lifetime_revenue
]
}
Difficultés courantes
Les champs d'une autre vue doivent être ajoutés à la section Explorer dans laquelle set
est utilisé
Si vous souhaitez référencer un champ de set
qui provient d'une autre vue, vous devez vous assurer que cette vue est jointe à la Explorer où set
est utilisé. Par exemple, cela ne fonctionnera pas:
Fichier de modèle
explore: orders { ... }
Afficher le fichier
view: orders {
set: customer_info {
fields: [customer.name]
}
}
Ici, customers
n'a pas été associé à orders
. Par conséquent, un champ de customers
ne peut pas être référencé dans l'ensemble customer_info
.
Ajouter des champs d'un dimension_group
à un ensemble
Lorsque vous souhaitez ajouter des champs d'un dimension_group
à un ensemble, vous devez ajouter chaque dimension de période individuellement. Prenons l'exemple de dimension_group
:
dimension_group: created {
type: time
timeframes: [date, week, month]
sql: ${TABLE}.created_at ;;
}
Vous ne pouvez pas ajouter la dimension "Jour", "Semaine" et "Mois" à un ensemble comme celui-ci:
set: created_timeframes {
fields: [created]
}
Vous devez ajouter les périodes individuellement, comme suit:
set: created_timeframes {
fields: [
created_date,
created_week,
created_month
]
}