filtre_toujours

Utilisation

explore: explore_name {
always_filter: {
filters: [field_name: "filter expression", field_name: "filter expression", ...]
}
}
Hiérarchie
always_filter
Valeur par défaut
Aucun

Acceptation
Un nom de champ et une expression de filtre Looker

Définition

always_filter vous permet d'exiger des utilisateurs qu'ils ajoutent un ensemble de filtres que vous définissez. Vous définissez également une valeur par défaut pour les filtres. Bien que les utilisateurs puissent modifier la valeur par défaut de leur requête, ils ne peuvent pas supprimer complètement le filtre.

Le champ référencé dans le sous-paramètre filters peut être une dimension, une mesure, un filtre ou un paramètre. Si vous devez référencer une dimension ou une mesure qui fait partie d'une vue associée plutôt que de cette exploration, utilisez view_name.field_name. Exemple :

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

Ici, le filtre id fait référence au champ id de order. Le filtre customer.id fait référence au champ id de customer. Cet exemple montre également que vous pouvez exiger plusieurs filtres.

Dans le sous-paramètre value, spécifiez des valeurs par défaut à l'aide des expressions de filtre Looker.

Examples

Forcez l'utilisateur à utiliser un filtre ID de commande (dont la valeur par défaut est "123"):

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

Obliger l'utilisateur à utiliser un filtre Date de création de la commande (avec une valeur par défaut des sept jours précédents):

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

Forcez l'utilisateur à utiliser les filtres ID de commande (valeur par défaut : "123"), le filtre Ville de la commande (valeur par défaut : "Chicago") et un filtre Âge du client (valeur par défaut supérieure ou égale à 18).

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

Difficultés courantes

Les utilisateurs ne peuvent pas supprimer un filtre spécifié par always_filter

L'interface utilisateur Explorer ne permet pas aux utilisateurs de supprimer un filtre ajouté par always_filter. Si vous souhaitez précharger les filtres d'une exploration de sorte que les utilisateurs puissent les supprimer complètement, envisagez de créer une requête incluant des suggestions de filtres, puis de partager la requête avec les utilisateurs afin qu'ils puissent l'utiliser et ses filtres comme point de départ.

Définir une valeur par défaut vide

Si vous souhaitez créer un filtre obligatoire avec une valeur par défaut vierge, vous pouvez le faire en spécifiant
"-EMPTY" dans les valeurs du filtre:

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

Le paramètre always_filter remplace un paramètre de filtre default_value.

always_filter remplace le paramètre default_value du champ. Si vous déclarez une valeur avec always_filter, cette valeur sera utilisée par défaut dans la section "Explorer". Si vous ne déclarez pas de valeur avec always_filter, "est une valeur" est le filtre par défaut dans Explorer.

Bon à savoir

always_filter a un impact sur les tuiles existantes du tableau de bord et des styles

Si vous ajoutez always_filter à une définition explore existante, l'ensemble des filtres avec les valeurs par défaut s'applique à toutes les tuiles "Looks", "Explores" ou "Dashboard" basées sur ce explore, y compris les tuiles "Looks" et "Dashboard" basées sur explore.

Si vous souhaitez que les utilisateurs ne puissent pas modifier les filtres, envisagez d'utiliser sql_always_where

Si vous souhaitez qu'une exploration présente des filtres identiques pour tous les utilisateurs et qui ne peuvent en aucun cas être modifiés, vous pouvez utiliser sql_always_where.

Si vous souhaitez utiliser des filtres spécifiques que les utilisateurs ne peuvent pas modifier, envisagez d'utiliser access_filter.

Si vous souhaitez qu'une exploration comporte des filtres spécifiques à chaque utilisateur et qui ne peuvent en aucun cas être modifiés, vous pouvez utiliser access_filter.