set

Utilisation

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, 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 Explorerset 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
  ]
}