Utilisation
view: view_name {
set: set_name {
fields: [field, field, …]
}
}
|
Hiérarchie
set |
Types de champs possibles
Dimension, groupe de dimensions, champ de filtrage, mesure
Acceptation
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, comme 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 filtre de la vue actuelle, y compris les dimensions individuelles générées par un groupe de dimensions. Il peut également contenir des champs d'autres vues à l'aide de la syntaxe view_name.field_name.
Dans le paramètre set, ajoutez un paramètre fields, puis listez 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 le nom d'un ensemble de celui 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_oneanother_view.dimension_twomeasure_onedimension_threemeasure_two
Enfin, vous pouvez exclure des champs à 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_oneanother_view.dimension_two
Exemples
Crée un ensemble appelé financial_data
set: financial_data {
fields: [
subtotal,
shipping,
tax,
total,
cost,
profit
]
}
Créez un ensemble appelé basic_customer_data dans la vue Clients qui fait également référence à la vue Customer Order 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 joints à l'exploration dans laquelle set est utilisé.
Si vous souhaitez référencer un champ dans set qui provient d'une autre vue, vous devez vous assurer que cette vue est jointe à l'exploration dans laquelle set est utilisé. Par exemple, ceci 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é joint à orders. Par conséquent, il est impossible de référencer un champ de customers 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 cette 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 devrez plutôt ajouter les périodes individuellement, comme ceci :
set: created_timeframes {
fields: [
created_date,
created_week,
created_month
]
}