set

Uso

view: view_name {
   set: set_name {
      fields: [field, field, ]
   }
}
Hierarquia
set
Tipos de campo possíveis
Dimensão, grupo de dimensões, campo de filtro, métrica

Aceita
Uma lista de nomes de campos entre colchetes

Definição

Os conjuntos podem ser úteis quando referenciados em outros parâmetros, como fields (para junções) e drill_fields (para campos), que precisam de listas de campos.

Você define cada conjunto usando o parâmetro set. Um conjunto pode conter qualquer número de dimensões, medidas ou campos de filtro da visualização atual, incluindo as dimensões individuais geradas por um grupo de dimensões. Ele também pode conter campos de outras visualizações usando a sintaxe view_name.field_name.

Dentro do parâmetro set, adicione um parâmetro fields e liste os campos, como neste exemplo:

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

Os conjuntos também podem conter outros conjuntos. Para diferenciar um nome de conjunto do nome de uma dimensão ou métrica, adicione um caractere *. Exemplo:

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

O conjunto chamado my_third_set vai conter estes campos:

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

Por fim, os campos podem ser excluídos usando o caractere -. Exemplo:

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

O conjunto chamado my_fourth_set vai conter estes campos:

  • dimension_one
  • another_view.dimension_two

Exemplos

Crie um conjunto chamado financial_data.

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

Crie um conjunto chamado basic_customer_data na visualização Clientes que também faz referência à visualização Fatos de pedidos do cliente:

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

Desafios comuns

Os campos de outra visualização precisam ser unidos à Análise em que set está sendo usado

Se você quiser fazer referência a um campo em set que seja de outra visualização, verifique se essa visualização está unida à Análise detalhada em que set está sendo usado. Por exemplo, isso não vai funcionar:

Arquivo de modelo

explore: orders { ... }

Ver arquivo

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

Aqui, customers não foi unido a orders, então um campo de customers não pode ser referenciado no conjunto customer_info.

Adicionar campos de uma dimension_group a um conjunto

Quando você quiser adicionar campos de um dimension_group a um conjunto, precisará adicionar cada dimensão de período individualmente. Por exemplo, considere este dimension_group:

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

Não é possível adicionar as dimensões "Dia", "Semana" e "Mês" a um conjunto como este:

set: created_timeframes {
  fields: [created]
}

Em vez disso, adicione os períodos individualmente, assim:

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