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 choisissant l'option correspondances (avancé). Ils sont également utilisés dans LookML pour les éléments qui acceptent un paramètre filter
.
Chaîne
Exemple | Description |
---|---|
FOO |
est précisément égal à "FOO" |
FOO,BAR |
est égal à « FOO » ou « BAR », exactement |
%FOO% |
contient "FOO", correspond à "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 (si elle est utilisée dans une expression de filtre LookML, placez NULL entre guillemets, comme indiqué sur la page de documentation 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", établit une correspondance avec toute valeur sauf "FOO" et "BAR" |
-%FOO% |
ne contient pas « FOO », n'établit pas de correspondance avec « buffoon » ou "fast-food" |
-FOO% |
ne commence pas par « FOO », n'établit pas de correspondance avec « foolish » ou "nourriture" |
-%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 (si elle est utilisée dans une expression de filtre LookML, placez -NULL entre guillemets, comme indiqué sur la page de documentation filters ). |
FOO%,BAR |
commence précisément par "FOO" ou "BAR", établit une correspondance avec "food" et avec "bar", mais pas avec "barfood" |
FOO%,-FOOD |
commence par « FOO » mais pas de type "ALIMENTATION" |
_UF |
contient un seul 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_
, ajoutez le caractère d'échappement^
en préfixe. Par exemple:^"
,^%
et^_
- Pour inclure un
-
de début, échappez-le en tant que^-
. 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
^
, ajoutez-lui un échappement^^
. - Pour inclure une virgule dans un filtre de chaîne d'interface utilisateur standard, ajoutez une barre oblique inverse (
\
) devant la virgule. Exemple :Santa Cruz\, CA
. - Pour inclure une virgule avec l'option correspond à (avancé) dans un filtre, ajoutez le caractère d'échappement
^
en tant que préfixe. Par exemple :Santa Cruz^, CA
. - Pour inclure une virgule dans une expression de filtre dans LookML, utilisez le caractère d'échappement
^
en préfixe. Par exemple:
field: filtered_count {
type: count
filters: [city: "Santa Cruz^, CA"]
}
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, par exemple des heures, des jours, des semaines ou des mois.La formulation que vous choisissez détermine si l'
{interval}
inclut des périodes partielles ou uniquement des périodes complètes. Par exemple, l'expression3 days
inclut le jour partiel en cours ainsi que les deux jours précédents. L'expression3 days ago for 3 days
inclut les trois jours complets précédents et exclut le jour partiel en cours. Consultez la section Dates relatives pour plus d'informations.{time}
peut spécifier 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 des données correspondant à 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 renverra des données du 05/10/2018 et de 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, mais la valeur de date/heure finale ne l'est pas. Ainsi, l'expression 2018-05-18 12:00:00 to 2018-05-18 14:00:00 renverra des données comportant l'heure "2018-05-18 12:00:00". à "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 du début de l'année au cours de laquelle la requête est exécutée jusqu'au début de l'année suivante. this week to day renvoie les données du début de la semaine au cours de laquelle 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 dans le champ Date du groupe de dimensions renvoie la date la plus récente correspondant au jour de la semaine indiqué. Par exemple, l'expression Dimension Group Date matches (advanced) Monday renvoie le lundi le plus récent.Vous pouvez également utiliser {day of week} avec les mots clés before et after dans ce contexte. 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 une réponse tous les jours précédant le lundi le plus récent, mais pas le lundi le plus récent.Le fait d'indiquer un jour de la semaine dans le champ Jour de la semaine du groupe de dimensions renvoie tous les jours correspondant au jour de la semaine spécifié. Ainsi, l'expression Dimension Group Day of Week matches (advanced) Monday est renvoyée tous les lundis. |
next {week, month, quarter, fiscal quarter, year, fiscal year} |
next week |
Le mot clé next est unique dans la mesure où il requiert l'un des intervalles répertorié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 une logique OR, saisissez plusieurs conditions dans le même filtre, séparées par des virgules. Par exemple,
today, 7 days ago
signifie "aujourd'hui ou il y a sept jours". - Pour obtenir la logique ET:saisissez vos conditions, une par une, dans plusieurs filtres de date ou d'heure. Par exemple, vous pouvez ajouter
after 2014-01-01
dans un filtre Created Date (Date de création), puis saisirbefore 2 days ago
dans un filtre Created Time (Date de création). Cela signifierait "à 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 |
l'exercice complet commençant en 2018 (si vos développeurs Looker ont spécifié que votre exercice commence en avril, il s'agit 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 commence en avril, cette période est 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 suivants, supposons que nous sommes le vendredi 18/05/2018 à 18:30:02. Dans Looker, les semaines démarrent 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 18/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 "1 semaine auparavant" |
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) |
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) |
Booléen
Pour filtrer des valeurs de type vrai ou faux dans Looker, vous devez savoir avec quel type de valeurs 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 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 accepte 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 d'indiquer une plage. Les filtres sur les nombres peuvent également utiliser la notation d'intervalle algébrique pour filtrer des champs numériques.
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 2 |
NOT >1, 2, <100 |
est inférieur ou égal à 1, n'est pas 2, et supérieur ou égal à 100 (Looker reconnaît qu'il s'agit d'une condition impossible et écrira à la place la valeur 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 filters ) |
NOT NULL |
contient des données (si vous l'utilisez dans une expression de filtre LookML, placez NOT NULL entre guillemets, comme indiqué sur la page de documentation 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ée comme 5 <= x <= 90, où les points de terminaison sont inclus |
(12, 20] |
interprétée comme : 12 < x <= 20 où 12 n'est pas inclus, mais 20 l'est |
[12, 20) |
interprétée comme suit : 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 étant "ouvert" (non inclus). inf peut être omis et (500, inf) peut être écrit sous la forme (500,). |
(-inf, 10] |
est interprété comme x ≤ 10, où 10 est inclus et l'infini est toujours exprimé comme étant "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 filters ). |
-NULL (works the same as NOT NULL) |
La latitude et la longitude de l'emplacement ne sont pas nulles (lorsqu'élément est utilisé dans une expression de filtre LookML, placez -NULL entre guillemets, comme indiqué sur la page de documentation filters ) |
NULL |
La latitude ou la longitude de la zone géographique est nulle, ou les deux sont nulles (lorsqu'élément est utilisé dans une expression de filtre LookML, placez NULL entre guillemets, comme indiqué sur la page de documentation filters ) |
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 acceptées. Par exemple, le filtrage d'un rayon de 1 mile doit être rédigé 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, faites référence à cet attribut à l'aide de la variable Liquid _user_attributes
en utilisant la syntaxe requise par le dialecte de votre base de données:
{{ _user_attributes['name_of_attribute'] }}
Supposons par exemple 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 correspondances (avancé) au niveau du 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 de tableau de bord LookML.