Expressions de filtre Looker

Les filtres d'expression sont un moyen avancé de filtrer les requêtes Looker. Cette page explique comment les écrire. Dans la section "Explorer" de Looker, vous pouvez les utiliser en ajoutant un filtre et en sélectionnant l'option correspond à (avancé). Ils sont également utilisés dans LookML pour les éléments qui acceptent un paramètre filter.

Lorsque vous utilisez des expressions de filtre dans LookML, vous devez les placer entre guillemets (consultez la page de documentation de filters pour savoir comment les utiliser). Cela est particulièrement important pour les valeurs logiques telles que NULL.

Lorsque vous utilisez des expressions de filtre dans la section Explore de Looker, vous n'avez pas besoin de placer l'expression entre guillemets.

Les expressions de filtre ne sont pas prises en charge avec les droits d'accès. Pour en savoir plus, consultez la page de documentation de access_grant.

Chaîne

Les correspondances dans les filtres de chaîne dépendent du paramètre case_sensitive de votre fichier de modèle et de la sensibilité de votre dialecte à la casse. Par exemple, si case_sensitive est activé dans votre modèle, l'expression FOO% ne correspond pas au mot "nourriture". Si case_sensitive n'est pas activé, ou si votre dialecte ne prend pas en charge la sensibilité à la casse, l'expression FOO% correspondra au mot "nourriture".

Exemple Description
FOO est égal à « FOO », exactement
FOO,BAR est égal à « FOO » ou à « BAR », exactement
%FOO% contient « FOO », établit une correspondance avec « buffoon » et « fast food »
FOO% commence par « FOO », établit une correspondance avec « foolish » et « food » mais pas avec « buffoon » ou « fast food »
%FOO se termine par « FOO », établit une correspondance avec « buffoo » et « fast foo », mais pas avec « buffoon » ou « fast food »
F%OD commence par un « F » et se termine par « OD », établit une correspondance avec « fast food »
EMPTY la chaîne est vide (ne contient aucun caractère) ou est nulle (aucune valeur)
NULL La valeur est nulle (lorsqu'elle est utilisée dans une expression de filtre LookML, placez NULL entre guillemets, comme indiqué sur la page de documentation de filters)
-FOO n'est pas égal à « FOO » (est une valeur autre que « FOO »), établit une correspondance avec « pizza », « trash », « fun » mais pas « foo »
-FOO,-BAR n'est pas égal à « FOO » ou à « BAR », correspond à toute valeur sauf « FOO » et « BAR »
-%FOO% ne contient pas « FOO », ne correspond pas à « buffoon » ou « fast food »
-FOO% ne commence pas par « FOO », ne correspond pas à « foolish » ou à « food »
-%FOO ne se termine pas par « FOO », n'établit pas de correspondance avec « buffoo » ou « fast foo »
-EMPTY la chaîne n'est pas vide (contient au moins un caractère)
-NULL La valeur de la colonne n'est pas nulle (lorsqu'elle est utilisée dans une expression de filtre LookML, placez -NULL entre guillemets, comme indiqué sur la page de documentation de filters)
FOO%,BAR commence par « FOO » ou est « BAR » exactement, correspond à « food » et à « bar » mais pas à « barfood »
FOO%,-FOOD commence par « FOO » mais n'est pas « FOOD »
_UF contient n'importe quel caractère suivi de "UF", établit une correspondance avec "buffoon"

Inclusion de caractères spéciaux dans les filtres de chaînes

Pour inclure des caractères spéciaux dans les filtres de chaînes, prenez note des règles suivantes :

  • Pour inclure ", % ou _, faites précéder le caractère d'échappement ^. Exemples: ^", ^% et ^_
  • Pour inclure un - de début, échappez-le sous la forme ^-. Cela n'est nécessaire que si - est le caractère de début. Vous n'avez pas besoin d'échapper - s'il se trouve à l'intérieur de la chaîne.
  • Pour inclure ^, échappez-le en tant que ^^.
  • Pour inclure une virgule dans un filtre de chaîne d'interface utilisateur standard, faites précéder la virgule d'une barre oblique inverse, \. Exemple : Santa Cruz\, CA.
  • Pour inclure une virgule avec l'option correspond à (avancé) dans un filtre, faites précéder la virgule du caractère d'échappement ^. Par exemple : Santa Cruz^, CA.
  • Pour inclure une virgule dans une expression de filtre en LookML, faites précéder le caractère d'échappement ^. Par exemple :
  field: filtered_count {
      type: count
      filters: [city: "Santa Cruz^, CA"]
    }

Dans certains cas, vous pouvez également avoir besoin d'ignorer ou d'inclure des caractères spéciaux dans les filtres de chaînes lorsque vous utilisez des détails personnalisés dans le contenu Looker. Pour en savoir plus, consultez la section Éléments à prendre en compte lors de la création d'une association à du contenu Looker sur la page des paramètres Link.

Date and Time (Date et heure)

Le filtrage de date de Looker permet d'utiliser des expressions en anglais au lieu d'utiliser des fonctions de date SQL.

Structure de base des filtres de date et d'heure

Pour les exemples suivants :

  • {n} est un entier.
  • {interval} est un incrément de temps (heures, jours, semaines ou mois, par exemple).

    La formulation que vous utilisez détermine si {interval} doit inclure des périodes partielles ou complètes. Par exemple, l'expression 3 days inclut le jour partiel actuel, ainsi que les deux jours précédents. L'expression 3 days ago for 3 days inclut les trois jours complets précédents et exclut le jour partiel actuel. Consultez la section Dates relatives pour plus d'informations.

  • {time} peut indiquer une heure au format AAAA-MM-JJ HH:MM:SS ou AAAA/MM/JJ HH:MM:SS, ou une date au format AAAA-MM-JJ ou AAAA/MM/JJ. Lorsque vous utilisez la forme YYYY-MM-DD, veillez à inclure les deux chiffres du mois et du jour, par exemple 2016-01. La troncation d'un mois ou d'un jour en un seul chiffre est interprétée comme une soustraction, et non comme une date. Par exemple, la valeur 2016-1 est interprétée comme 2016 moins un an, ou 2015.

Voici toutes les combinaisons possibles des filtres de date :

Combinaison Exemple Remarques
this {interval} this month Vous pouvez utiliser this week, this month, this quarter ou this year. Notez que this day n'est pas accepté. Si vous souhaitez obtenir les données de la journée en cours, vous pouvez utiliser today.
{n} {interval} 3 days
{n} {interval} ago 3 days ago
{n} {interval} ago for {n} {interval} 3 months ago for 2 days
before {n} {interval} ago before 3 days ago
before {time} before 2018-01-01 12:00:00 before n'inclut pas l'heure que vous spécifiez. L'expression before 2018-01-01 renvoie les données de toutes les dates antérieures au 01/01/2018, mais pas celles du 01/01/2018.
after {time} after 2018-10-05 after inclut l'heure que vous spécifiez. Ainsi, l'expression after 2018-10-05 renvoie les données du 05/10/2018 et toutes les dates ultérieures au 05/10/2018.
{time} to {time} 2018-05-18 12:00:00 to

2018-05-18 14:00:00
La valeur de date/heure initiale est inclusive. La dernière valeur de date/heure ne l'est pas. Ainsi, l'expression 2018-05-18 12:00:00 to 2018-05-18 14:00:00 renvoie des données dont l'heure est comprise entre "2018-05-18 12:00:00" et "2018-05-18 13:59:59".
this {interval} to {interval} this year to second Le début de chaque intervalle est utilisé. Par exemple, l'expression this year to second renvoie les données depuis le début de l'année où la requête est exécutée jusqu'au début de la seconde. this week to day renvoie les données depuis le début de la semaine où la requête est exécutée jusqu'au début du jour où la requête est exécutée.
{time} for {n} {interval} 2018-01-01 12:00:00 for 3 days
today today
yesterday yesterday
tomorrow tomorrow
{day of week} Monday Le fait d'indiquer un jour de la semaine avec un champ Dimension Group Date (Date du groupe de dimensions) renvoie la date la plus récente correspondant au jour de la semaine spécifié. Par exemple, l'expression Dimension Group Date matches (advanced) Monday renvoie le lundi le plus récent.

Dans ce contexte, vous pouvez également utiliser {day of week} avec les mots clés before et after. Par exemple, l'expression Dimension Group Date matches (advanced) after Monday renvoie le lundi le plus récent et tout ce qui suit le lundi le plus récent. L'expression Dimension Group Date matches (advanced) before Monday renvoie tous les jours précédant le lundi le plus récent, mais pas le lundi le plus récent.

Si vous spécifiez un jour de la semaine avec un champ Dimension Group Day of Week (Jour de la semaine du groupe de dimensions), cela renvoie tous les jours correspondant au jour de la semaine spécifié. Ainsi, l'expression Dimension Group Day of Week matches (advanced) Monday renvoie tous les lundis.
next {week, month, quarter, fiscal quarter, year, fiscal year} next week Le mot clé next est unique en ce sens qu'il nécessite l'un des intervalles énumérés précédemment et ne fonctionne pas avec d'autres intervalles.
{n} {interval} from now 3 days from now
{n} {interval} from now for {n} {interval} 3 days from now for 2 weeks

Les filtres de date peuvent également être combinés :

  • Pour obtenir la logique OU:saisissez plusieurs conditions dans le même filtre, en les séparant par une virgule. Par exemple, today, 7 days ago signifie "aujourd'hui ou il y a 7 jours".
  • Pour obtenir la logique ET:saisissez vos conditions une par une dans plusieurs filtres de date ou d'heure. Par exemple, vous pouvez inclure after 2014-01-01 dans un filtre Created Date (Date de création), puis before 2 days ago dans un filtre Created Time (Date de création). par exemple "à partir du 1er janvier 2014 et avant les deux jours précédents".

Dates absolues

Les filtres de date absolue utilisent les valeurs spécifiques de date en vue de générer des résultats de requête. Ils sont utiles lorsque vous créez des requêtes pour des plages de données spécifiques.

Exemple Description
2018/05/29 le 29/05/2018
2018/05/10 for 3 days du 10/05/2018 à 00:00:00 au 12/05/2018 à 23:59:59
after 2018/05/10 le 10/05/2018 à 00:00:00 et après
before 2018/05/10 avant le 10/05/2018 à 00:00:00
2018/05 au cours du mois complet 05/2018
2018/05 for 2 months au cours des mois complets 05/2018 et 06/2018
2018/05/10 05:00 for 5 hours du 10/05/2018 à 05:00:00 au 10/05/2018 à 09:59:59
2018/05/10 for 5 months du 10/05/2018 à 00:00:00 au 09/10/2018 à 23:59:59
2018 l'année 2018 complète (du 01/01/2018 à 00:00:00 au 31/12/2018 à 23:59:59)
FY2018 année fiscale complète à partir de 2018 (si vos développeurs Looker ont indiqué que votre année fiscale débute en avril, cette date s'étend du 01/04/2018 à 00:00 au 31/03/2019 à 23:59)
FY2018-Q1 premier trimestre de l'année fiscale commençant en 2018 (si vos développeurs Looker ont indiqué que votre année fiscale débute en avril, cette date s'étend du 01/04/2018 à 00:00:00 au 30/06/2018 à 23:59:59)

Dates relatives

Les filtres de date relative vous permettent de créer des requêtes avec des valeurs de date glissantes relatives à la date actuelle. Ils sont utiles lorsque vous créez des requêtes qui se mettent à jour à chaque fois que vous exécutez la requête.

Pour tous les exemples ci-dessous, supposons que la date d'aujourd'hui soit Friday, 2018/05/18 18:30:02. Dans Looker, les semaines commencent le lundi, sauf si vous modifiez ce paramètre avec week_start_day.

Secondes

Exemple Description
1 second la seconde actuelle (18/05/2018 à 18:30:02)
60 seconds 60 secondes auparavant pendant 60 secondes (du 18/05/2018 à 18:29:02 au 18/05/2018 à 18:30:01)
60 seconds ago for 1 second 60 secondes auparavant pendant 1 seconde (18/05/2018 à 18:29:02)

Minutes

Exemple Description
1 minute la minute actuelle (du 18/05/2018 à 18:30:00 au 18/05/2018 à 18:30:59)
60 minutes 60 minutes auparavant pendant 60 minutes (du 18/05/2018 à 17:31 au 18/05/2018 à 18:30:59)
60 minutes ago for 1 minute 60 minutes auparavant pendant 1 minute (du 18/05/2018 à 17:30:00 au 18/05/2018 à 17:30:59)

Heures

Exemple Description
1 hour l'heure actuelle (du 18/05/2018 à 18:00 au 18/05/2018 à 18:59)
24 hours la même heure de la journée que 24 heures auparavant, pendant 24 heures (du 17/05/2018 à 19:00 au 18/05/2018 à 18:59)
24 hours ago for 1 hour la même heure de la journée que 24 heures auparavant, pendant 1 heure (du 17/05/2018 à 18:00 au 17/05/2018 à 18:59)

Jours

Exemple Description
today le jour actuel (du 18/05/2018 à 00:00 au 18/05/2018 à 23:59)
2 days les journées d'hier et d'aujourd'hui complètes (du 17/05/2018 à 00:00 au 18/05/2018 à 23:59)
1 day ago seulement hier (du 17/05/2018 à 00:00 au 17/05/2018 à 23:59)
7 days ago for 7 days les 7 derniers jours complets (du 11/05/2018 à 00:00 au 17/05/2018 à 23:59)
today for 7 days le jour actuel, à partir de minuit, pendant les 7 jours à venir (du 18/05/2018 à 00:00 au 24/05/2018 à 23:59)
last 3 days 2 jours auparavant jusqu'à la fin du jour actuel (du 16/05/2018 à 00:00 au 18/05/2018 à 23:59)
7 days from now dans 7 jours (du 25/05/2018 à 00:00 au 25/05/2018 à 23:59)

Semaines

Exemple Description
1 week du début de la semaine actuelle à la fin de la semaine actuelle (du 14/05/2018 à 00:00 au 20/05/2018 à 23:59)
this week du début de la semaine actuelle à la fin de la semaine actuelle (du 14/05/2018 à 00:00 au 20/05/2018 à 23:59)
before this week n'importe quelle période avant le début de cette semaine (avant le 14/05/2018 à 00:00)
after this week n'importe quelle période après le début de cette semaine (à partir du 14/05/2018 à 00:00)
next week du lundi suivant à la semaine suivante (du 21/05/2018 à 00:00 au 27/05/2018 à 23:59)
2 weeks du lundi de la semaine précédente à la fin de la semaine actuelle (du 07/05/2018 à 00:00 au 20/05/2018 à 23:59)
last week synonyme de "il y a 1 semaine"
1 week ago du lundi de la semaine précédente à la fin de la semaine précédente (du 07/05/2018 à 00:00 au 13/05/2018 à 23:59)

Mois

Exemple Description
1 month le mois actuel (du 01/05/2018 à 00:00 au 31/05/2018 à 23:59)
this month synonyme de "il y a 0 mois" (du 01/05/2018 à 00:00 au 31/05/2018 à 23:59)
2 months les deux derniers mois (du 01/04/2018 à 00:00 au 31/05/2018 à 23:59)
last month tout le mois 04/2018
2 months ago tout le mois 03/2018
before 2 months ago n'importe quelle période avant le 01/03/2018
next month tout le mois 06/2018
2 months from now tout le mois 07/2018
6 months from now for 3 months du mois 11/2018 au mois 01/2019

Trimestres

Exemple Description
1 quarter le trimestre actuel (du 01/04/2018 à 00:00 au 30/06/2018 à 23:59)
this quarter synonyme de "il y a 0 trimestre" (du 01/04/2018 à 00:00 au 30/06/2018 à 23:59)
2 quarters les deux derniers trimestres (du 01/01/2018 à 00:00 au 30/06/2018 à 23:59)
last quarter le premier trimestre complet (du 01/01/2018 à 00:00 au 31/03/2018 à 23:59)
2 quarters ago le dernier trimestre complet de l'année dernière (du 01/10/2017 à 00:00 au 31/12/2017 à 23:59)
before 2 quarters ago n'importe quelle période avant le dernier trimestre de l'année dernière
next quarter le trimestre suivant complet (du 01/07/2018 à 00:00 au 30/09/2018 à 23:59)
2018-07-01 for 1 quarter le troisième trimestre complet (du 01/07/2018 à 00:00 au 30/09/2018 à 23:59)
2018-Q4 le dernier trimestre complet (du 01/10/2018 à 00:00 au 31/12/2018 à 23:59)

Si vos développeurs Looker ont indiqué à l'aide d'un exercice fiscal, vous pouvez saisir fiscal dans ces expressions pour utiliser un trimestre fiscal au lieu d'un trimestre civil. Par exemple, vous pouvez utiliser last fiscal quarter.

Années

Exemple Description
1 year l'année actuelle complète (du 01/01/2018 à 00:00 au 31/12/2018 à 23:59)
this year l'année actuelle complète (du 01/01/2018 à 00:00 au 31/12/2018 à 23:59)
next year l'année suivante complète (du 01/01/2019 à 00:00 au 31/12/2019 à 23:59)
2 years les deux dernières années (du 01/01/2017 à 00:00 au 31/12/2018 à 23:59)
last year l'année 2017 complète
2 years ago l'année 2016 complète
before 2 years ago n'importe quelle période avant le 01/01/2016 (ce qui ne comprend aucun jour entre le 01/01/2016 et le 18/05/2016)

Si vos développeurs Looker ont indiqué à l'aide d'un exercice fiscal, vous pouvez saisir fiscal dans ces expressions pour utiliser un exercice au lieu d'un trimestre civil. Par exemple, vous pouvez utiliser last fiscal year.

Booléen

Pour filtrer des valeurs de type vrai ou faux dans Looker, vous devez savoir avec quel type de valeur vrai ou faux vous interagissez.

Exemple Description
yes ou Yes champ vrai

Développeurs Looker: pour les dimensions type: yesno, utilisez des minuscules. Pour les paramètres filters (comme ceux utilisés dans une mesure ou utilisés dans un always_filter), utilisez des majuscules.
no ou No champ faux

Développeurs Looker: pour les dimensions type: yesno, utilisez des minuscules. Pour les paramètres filters (comme ceux utilisés dans une mesure ou utilisés dans un always_filter), utilisez des majuscules.
TRUE le champ contient « true » (pour les champs qui contiennent des valeurs de base de données booléennes)
FALSE le champ contient « false » (pour les champs qui contiennent des valeurs de base de données booléennes)

Nombre

Les filtres sur les nombres sont compatibles avec les expressions en langage naturel (par exemple, 3 to 10) et les opérateurs relationnels (par exemple, >20). Looker prend en charge l'opérateur OR pour exprimer plusieurs plages de filtres (par exemple, 3 to 10 OR 30 to 100). L'opérateur AND permet d'exprimer des plages numériques à l'aide d'opérateurs relationnels (par exemple, >=3 AND <=10) afin de spécifier une plage. Les filtres sur les nombres peuvent également utiliser la notation d'intervalle algébrique pour filtrer des champs numériques.

La syntaxe des expressions de filtre numérique utilisant NOT peut ne pas être intuitive. Si la première condition de filtre contient un NOT et qu'aucune autre condition de filtre ne contient de NOT, toutes les conditions de filtre seront inversées. Pour en savoir plus, consultez les exemples ci-dessous.

Exemple Description
5 correspond précisément à 5
NOT 5

<>5

!=5
correspond à n'importe quelle valeur sauf à 5 précisément
1, 3, 5, 7 correspond précisément à l'une des valeurs 1, 3, 5 ou 7
NOT 66, 99, 4 ne correspond pas précisément à l'une des valeurs 66, 99 ou 4
>1 AND <100, NOT 2 est supérieur à 1 et inférieur à 100, n'est pas égal à 2
NOT >1, 2, <100 est inférieur ou égal à 1, n'est pas égal à 2, et est supérieur ou égal à 100 (Looker reconnaît qu'il s'agit d'une condition impossible et écrira à la place le code SQL "IS NULL")
5, NOT 6, NOT 7 correspond à 5 et non à 6 ou à 7
5.5 to 10

>=5.5 AND <=10
est supérieur ou égal à 5,5, mais est également inférieur ou égal à 10
NOT 3 to 80.44

<3 OR >80.44
est inférieur à 3 ou supérieur à 80,44
1 to

>=1
est supérieur ou égal à 1
to 10

<=10
est inférieur ou égal à 10
>10 AND <=20 OR 90 est supérieur à 10 et inférieur ou égal à 20, ou correspond précisément à 90
>=50 AND <=100 OR >=500 AND <=1000 est compris entre 50 et 100, inclusif, ou compris entre 500 et 1 000, inclusif
NULL ne contient aucune donnée (lorsqu'il est utilisé dans une expression de filtre LookML, placez NULL entre guillemets, comme indiqué sur la page de documentation de filters)
NOT NULL contient des données (lorsqu'il est utilisé dans une expression de filtre LookML, placez NOT NULL entre guillemets, comme indiqué sur la page de documentation de filters)
(1, 7) interprétée comme 1 < x < 7, où les points de terminaison ne sont pas inclus. Tandis que cette notation ressemble à une paire ordonnée, dans ce contexte, elle fait référence à l'intervalle sur lequel vous travaillez.
[5, 90] interprété comme 5 <= x <= 90, où les points de terminaison sont inclus
(12, 20] interprété comme 12 < x <= 20, où 12 n'est pas inclus, mais 20 l'est.
[12, 20) interprété comme 12 <= x < 20, où 12 est inclus, mais pas 20
(500, inf) interprété comme x > 500, où 500 n'est pas inclus et où l'infini est toujours exprimé comme "ouvert" (non inclus). inf peut être omis et (500, inf) peut être écrit sous la forme (500,).
(-inf, 10] interprété comme x <= 10, où 10 est inclus et où l'infini est toujours exprimé comme "ouvert" (non inclus). inf peut être omis, et (-inf, 10] peut être écrit sous la forme (,10].
[0,9],[20,29] nombres compris entre 0 et 9 inclus ou entre 20 et 29 inclus
[0,10],20 de 0 à 10 inclus ou 20
NOT (3,12) interprété comme x < 3 et x > 12

Emplacement

Les expressions de filtre de localisation sont basées sur la latitude et la longitude, mais peuvent accepter certains langages naturels pour définir des cases et des cercles dans lesquels limiter une recherche.

Exemple Description
36.97, -122.03 la localisation se trouve précisément à une latitude de 36,97 et à une longitude de 122,03
40 miles from 36.97, -122.03 la localisation se trouve dans un périmètre de 40 miles d'une latitude de 36,97 et d'une longitude de -122,03
inside box from 72.33, -173.14 to 14.39, -61.70 la localisation se trouve dans une case dont l'angle nord-ouest se trouve à une latitude de 72,33, à une longitude de -173,14, et dont l'angle sud-est se trouve à une latitude de 14,39 et à une longitude de -61,70
NOT NULL (works the same as -NULL) Le lieu a une latitude et une longitude non nulles (lorsqu'il est utilisé dans une expression de filtre LookML, placez NOT NULL entre guillemets, comme indiqué sur la page de documentation de filters)
-NULL (works the same as NOT NULL) Le lieu a une latitude et une longitude non nulles (lorsqu'il est utilisé dans une expression de filtre LookML, placez -NULL entre guillemets, comme indiqué sur la page de documentation de filters)
NULL Le lieu a une latitude ou une longitude nulle, ou les deux sont nuls (lorsqu'il est utilisé dans une expression de filtre LookML, placez NULL entre guillemets, comme indiqué sur la page filters de la documentation).

Unités de mesure prises en charge

Pour filtrer dans une zone autour d'une localisation en particulier, vous pouvez utiliser les unités suivantes :

  • Mètres
  • Pieds
  • Kilomètres
  • Miles

Les unités de mesure singulières ne sont pas prises en charge. Par exemple, pour filtrer un rayon d'un kilomètre, vous devez saisir within 1 miles of 36.97, -122.03.

Valeurs d'attributs utilisateur

Pour utiliser la valeur d'un attribut utilisateur dans une expression de filtre, référencez-le avec la variable Liquid _user_attributes:

{{ _user_attributes['name_of_attribute'] }}

Par exemple, supposons que vous deviez appliquer un préfixe sf_ à la valeur de l'attribut utilisateur salesforce_username, car c'est ainsi que les valeurs sont stockées dans votre base de données. Pour ajouter le préfixe à la valeur de l'attribut utilisateur, vous pouvez ajouter un filtre correspond à (avancé) dans le champ concerné et utiliser la variable Liquid _user_attributes dans l'expression de filtre, comme suit:


sf_{{_user_attributes['salesforce_username']}}

Vous pouvez utiliser le même schéma pour insérer des attributs utilisateur dans les filtres de tableau de bord et les filtres d'éléments du tableau de bord LookML.