set

用途

view: view_name {
   set: set_name {
      fields: [field, field, ]
   }
}
階層
set
使用可能なフィールドタイプ
ディメンション、ディメンショングループ、フィルタフィールド、メジャー

許可
フィールド名の角かっこで囲まれたリスト

定義

セットは、フィールドのリストを必要とする他のパラメータ(fields(結合用)drill_fields(フィールド用)など)で参照される場合に便利です。

各セットは、set パラメータを使用して定義します。セットには、現在のビューのディメンション、メジャー、フィルタ フィールドをいくつでも含めることができます。これには、ディメンション グループによって生成された個々のディメンションも含まれます。また、view_name.field_name 構文を使用して、他のビューのフィールドを含めることもできます。

set パラメータ内で fields パラメータを追加し、次の例のようにフィールドを一覧表示します。

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

セットには他のセットを含めることもできます。セット名をディメンション名や measure 名と区別するには、* 文字を追加します。次に例を示します。

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

my_third_set という名前のセットには、次のフィールドが含まれます。

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

最後に、- 文字を使用してフィールドを除外できます。次に例を示します。

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

my_fourth_set という名前のセットには、次のフィールドが含まれます。

  • dimension_one
  • another_view.dimension_two

financial_data というセットを作成する

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

顧客ビューで、顧客注文ファクトビューも参照する basic_customer_data というセットを作成します。

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

一般的な課題

別のビューのフィールドは、set が使用されている Explore に結合する必要があります

別のビューの set のフィールドを参照する場合は、そのビューが set が使用されている Explore に結合されていることを確認する必要があります。たとえば、次のコードは機能しません。

モデルファイル

explore: orders { ... }

ファイルを表示

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

ここでは customersorders に結合されていないため、customers のフィールドを customer_info セットで参照できません。

dimension_group からセットにフィールドを追加する

dimension_group のフィールドをセットに追加する場合は、各期間ディメンションを個別に追加する必要があります。たとえば、次の dimension_group について考えてみます。

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

次のように、日、週、月のディメンションをセットに追加することはできません。

set: created_timeframes {
  fields: [created]
}

代わりに、次のように期間を個別に追加する必要があります。

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