Immer_Filter

Nutzung

Explore: Explore-Name {
Always_filter: {
Filter: [field_name: "filter expression", field_name: "filter expression", ...]
}
}
Hierarchie
always_filter
Standardwert
Keine

Akzeptiert
Einen Feldnamen und einen Looker-Filterausdruck

Definition

Mit always_filter können Sie festlegen, dass Nutzer bestimmte Filter hinzufügen müssen. Außerdem definieren Sie einen Standardwert für die Filter. Auch wenn Nutzer den Standardwert für ihre Abfrage ändern, können sie den Filter nicht vollständig entfernen.

Das Feld, auf das im Unterparameter filters verwiesen wird, kann eine Dimension, ein Messwert, ein Filter oder ein Parameter sein. Wenn Sie auf eine Dimension oder einen Messwert verweisen möchten, der Teil einer verknüpften Ansicht und nicht eines Teils von „Erkunden“ ist, verwenden Sie view_name.field_name. Beispiel:

explore: order {
  always_filter: {
    filters: [id: "123", customer.id: "789"]
  }
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Hier bezieht sich der Filter id auf das Feld id von order. Der Filter customer.id bezieht sich auf das Feld id von customer. Dieses Beispiel zeigt auch, dass Sie mehrere Filter anfordern können.

Geben Sie im Unterparameter value mit Looker-Filterausdrücken Standardwerte an.

Beispiele

Erzwingen Sie den Nutzer, einen Bestell-ID-Filter mit dem Standardwert „123“ zu verwenden:

explore: order {
  always_filter: {
    filters: [id: "123"]
  }
}

Erzwingen Sie den Nutzer, einen Filter für das Erstellungsdatum der Bestellung zu verwenden (mit einem Standardwert aus den letzten sieben Tagen):

explore: order {
  always_filter: {
    filters: [created_date: "7 days"]
  }
}

Erzwingen, dass der Nutzer einen Bestell-ID-Filter (Standardwert „123“), einen Bestellort-Filter (Standardwert „Chicago“) und einen Filter Kundenalter (Standardwert größer oder gleich 18) verwendet:

explore: order {
  always_filter: {
    filters: [id: "123", city: "Chicago", customer.age: ">=18"]
  }
  join: customer {
    sql_on: ${order.customer_id} = ${customer.id} ;;
  }
}

Häufige Herausforderungen

Nutzer können einen von always_filter angegebenen Filter nicht entfernen

Nutzer können einen Filter, der von always_filter hinzugefügt wurde, nicht in der Benutzeroberfläche von „Erkunden“ entfernen. Wenn Sie Filter für eine explorative Datenanalyse so vorab laden möchten, dass Nutzer die Filter vollständig entfernen können, sollten Sie eine Abfrage erstellen, die vorgeschlagene Filter enthält, und dann die Abfrage für Nutzer freigeben, damit sie die Abfrage und ihre Filter als Ausgangspunkt verwenden können.

Leeren Standardwert festlegen

Wenn Sie einen erforderlichen Filter mit einem leeren Standardwert erstellen möchten, geben Sie
"-EMPTY" in den Filterwerten an:

always_filter: {
  filters: [products.category: "-EMPTY"]
}

Der Parameter always_filter überschreibt eine Filtereinstellung für default_value

always_filter überschreibt die Einstellung default_value für das Feld. Wenn Sie einen Wert mit always_filter deklarieren, ist er der Standardwert in „Erkunden“. Wenn Sie keinen Wert mit always_filter deklarieren, ist „entspricht einem beliebigen Wert“ die Standardeinstellung des Filters auf dem Tab „Entdecken“.

Wichtige Informationen

always_filter wirkt sich auf vorhandene Looks und Dashboard-Kacheln aus

Wenn du always_filter zu einer vorhandenen explore-Definition hinzufügst, wird der Satz von Filtern mit den Standardwerten allen Look-, Entdeckungs- oder Dashboard-Kacheln auf der Grundlage dieser explore hinzugefügt, einschließlich zuvor gespeicherter Looks und Dashboard-Kacheln, die auf explore basieren.

Wenn Sie Filter benötigen, die Nutzer nicht ändern können, sollten Sie sql_always_where in Betracht ziehen

Wenn Sie möchten, dass der Filter „Erkunden“ für alle Nutzer gleich ist und in keiner Weise geändert werden kann, können Sie sql_always_where verwenden.

Wenn Sie nutzerspezifische Filter verwenden möchten, die Nutzer nicht ändern können, sollten Sie access_filter in Betracht ziehen.

Wenn Sie möchten, dass ein Filter für jeden Nutzer spezifisch ist und in keiner Weise geändert werden kann, können Sie access_filter verwenden.