set

Uso

view: view_name {
   set: set_name {
      fields: [field, field, ]
   }
}
Jerarquía
set
Tipos de campos posibles
Dimensión, grupo de dimensiones, campo de filtro y métrica

Acepta
Lista de nombres de campos entre corchetes

Definición

Los conjuntos pueden ser útiles cuando se hace referencia a ellos en otros parámetros, como fields (para las uniones) y drill_fields (para los campos), que necesitan listas de campos.

Puedes definir cada conjunto con el parámetro set. Un conjunto puede contener cualquier cantidad de dimensiones, medidas o campos de filtro de la vista actual, incluidas las dimensiones individuales que genera un grupo de dimensiones. También puede contener campos de otras vistas con la sintaxis view_name.field_name.

Dentro del parámetro set, agrega un parámetro fields y, luego, enumera los campos, como en este ejemplo:

set: my_first_set {
  fields: [
    dimension_one,
    another_view.dimension_two,
    measure_one
  ]
}

Los conjuntos también pueden contener otros conjuntos. Para diferenciar el nombre de un conjunto del nombre de una dimensión o medida, agrega un carácter *. Por ejemplo:

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*
  ]
}

El conjunto llamado my_third_set contendrá los siguientes campos:

  • dimension_one
  • another_view.dimension_two
  • measure_one
  • dimension_three
  • measure_two

Por último, los campos se pueden excluir con el carácter -. Por ejemplo:

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

El conjunto llamado my_fourth_set contendrá los siguientes campos:

  • dimension_one
  • another_view.dimension_two

Ejemplos

Crea un conjunto llamado financial_data.

set: financial_data {
  fields: [
    subtotal,
    shipping,
    tax,
    total,
    cost,
    profit
  ]
}

Crea un conjunto llamado basic_customer_data en la vista Customers que también haga referencia a la vista Customer Order Facts:

set: basic_customer_data {
  fields: [
    name,
    address,
    status,
    customer_order_facts.lifetime_orders,
    customer_order_facts.lifetime_revenue
  ]
}

Desafíos habituales

Los campos de otra vista deben unirse a la exploración en la que se usa set.

Si deseas hacer referencia a un campo en set que proviene de otra vista, debes asegurarte de que esa vista se una a la Exploración en la que se usa set. Por ejemplo, esto no funcionará:

Archivo del modelo

explore: orders { ... }

Ver archivo

view: orders {
  set: customer_info {
    fields: [customer.name]
  }
}

Aquí, customers no se unió a orders, por lo que no se puede hacer referencia a un campo de customers en el conjunto customer_info.

Cómo agregar campos de un dimension_group a un conjunto

Cuando quieras agregar campos de un dimension_group a un conjunto, deberás agregar cada dimensión de período de forma individual. Por ejemplo, considera este dimension_group:

dimension_group: created {
  type: time
  timeframes: [date, week, month]
  sql: ${TABLE}.created_at ;;
}

No puedes agregar la dimensión día, semana y mes a un conjunto como este:

set: created_timeframes {
  fields: [created]
}

En cambio, deberás agregar los períodos de forma individual, de la siguiente manera:

set: created_timeframes {
  fields: [
    created_date,
    created_week,
    created_month
  ]
}