set

Nutzung

view: view_name {
set: set_name {
Felder: [field, field, ...]
}
}
Hierarchie
set
Mögliche Feldtypen
Dimension, Dimensionsgruppe, Filterfeld, messen

Akzeptiert
Eine Liste von Feldnamen mit eckigen Klammern

Definition

Sets können nützlich sein, wenn sie in anderen Parametern referenziert werden, wie fields (für Joins) und drill_fields (für Felder), die Listen von Feldern benötigen.

Sie definieren jeden Satz mit dem Parameter set. Ein Satz kann eine beliebige Anzahl von Dimensionen, Messwerten oder Filterfeldern aus der aktuellen Ansicht enthalten, einschließlich der einzelnen Dimensionen, die über eine Dimensionsgruppe generiert wurden. Er kann auch Felder aus anderen Ansichten mit der view_name.field_name-Syntax enthalten.

Innerhalb des Parameters set fügen Sie einen fields-Parameter hinzu und listen dann die Felder wie im folgenden Beispiel auf:

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

Sets können auch andere Sets enthalten. Fügen Sie das Zeichen * ein, um einen Satznamen vom Namen einer Dimension oder eines Messwerts zu unterscheiden. Beispiel:

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

Der Satz mit dem Namen my_third_set enthält die folgenden Felder:

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

Schließlich können Sie Felder mit dem Zeichen - ausschließen. Beispiel:

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

Der Satz mit dem Namen my_fourth_set enthält die folgenden Felder:

  • dimension_one
  • another_view.dimension_two

Beispiele

Gruppe namens financial_data erstellen

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

Erstellen Sie in der Ansicht Customers eine Gruppe namens basic_customer_data, die auch auf die Ansicht Facts of Customer (Fakten zum Kundenauftrag) verweist:

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

Häufige Herausforderungen

Felder aus einer anderen Ansicht müssen mit dem Bereich „Erkunden“ verknüpft sein, in dem set verwendet wird

Wenn Sie in set auf ein Feld aus einer anderen Ansicht verweisen möchten, muss die Ansicht mit der Funktion Erkunden verknüpft sein, in der set verwendet wird. Das funktioniert beispielsweise nicht:

Modelldatei

explore: orders { ... }

Datei ansehen

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

customers wurde hier nicht mit orders verknüpft. Daher kann ein Feld aus customers nicht in der customer_info-Gruppe referenziert werden.

Felder aus dimension_group zu einer Gruppe hinzufügen

Wenn Sie Felder aus einem dimension_group einer Gruppe hinzufügen möchten, müssen Sie jede Zeitraumdimension einzeln hinzufügen. Hier ein Beispiel für dimension_group:

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

Sie können die Dimension „Tag“, „Woche“ und „Monat“ nicht wie folgt hinzufügen:

set: created_timeframes {
  fields: [created]
}

Stattdessen müssen Sie die Zeiträume einzeln hinzufügen:

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