Rechercher et filtrer à l'aide des fonctions Analytics
Vous pouvez utiliser les fonctions Analytics pour des recherches et un filtrage puissants et efficaces des données dans les tables.
Instructions pour la recherche ou le filtrage au moyen de fonctions
| Nom des champs |
Au moment de préciser un nom de champ dans lequel effectuer la recherche, il doit s'agir du nom de champ physique dans le format de table, et non du nom d'affichage dans la vue de la table. Astuce Pour voir le nom de champ physique, cliquez avec le bouton droit de la souris sur un titre de colonne dans la vue de la table et sélectionnez Propriétés. |
|---|---|
| Guillemets | Les termes de recherche textuels doivent être entourés de "guillemets". |
| Guillemets inversés | Les termes de recherche DateHeure doivent être placés entre `guillemets inversés`. |
| Format DateHeure |
|
| Champs associés | Pour effectuer une recherche dans un champ associé, vous devez indiquer le nom complet du champ : nom de la table.nom de champ. |
| Règles concernant les fonctions |
Chaque fonction a des règles spécifiques qui les régissent, comme les types de données prises en charge et la sensibilité à la casse. Pour une comparaison détaillée des règles régissant les fonctions de recherche Analytics, consultez la rubrique Comparaison des fonctions de recherche Analytics. Pour des informations détaillées sur une fonction, cliquez sur le lien du nom de la fonction ci-dessous. |
Types de recherches
Vous pouvez utiliser une fonction pour rechercher ou filtrer des données de type texte, numériques ou DateHeure. Toutefois, vous devez utiliser la fonction correcte pour le type de données que vous recherchez ou que vous filtrez :
- Type de données pris en charge par une fonction Les fonctions sont conçues pour un type de données spécifique ou, dans certains cas, plusieurs types de données.
Par exemple, vous pouvez utiliser la fonction ISBLANK( ) avec des données texte (données de type caractère), mais pas avec des données numériques ou DateHeure. Vous pouvez utiliser les fonctions MATCH( ) ou BETWEEN( ) avec des données de type caractère, numérique ou DateHeure.
- Type des données Vous devez connaître le type des données que vous recherchez ou filtrez et utiliser une fonction appropriée. Les nombres et les dates sont typiquement de type numérique ou DateHeure. Ils peuvent toutefois utiliser des données de type caractère.
Remarque
Pour des informations détaillées à propos de la fonction, vous pouvez cliquer sur n'importe quel nom de fonction ci-dessous.
Recherches en mode texte (type de données caractères)
Recherche d'un seul terme textuel
Utilisez : Fonction FIND( )
Description : La fonction de recherche présentant le plus petit nombre de restrictions. Pas sensible à la casse. Permet d'effectuer des recherches sur des enregistrements entiers en plus d'explorer un ou plusieurs champs.
|
Exemple |
Résultat |
|---|---|
FIND("Équipement uni")
|
Isole tous les enregistrements contenant le nom « Équipement uni » à n'importe quel endroit. |
FIND("Équip")
|
Isole tous les enregistrements contenant la chaîne « Équip » à n'importe quel endroit. |
FIND("Équipement uni"; Nom_Fournisseur)
|
Isole tous les enregistrements dont le champ Nom_Fournisseur contient le nom « Équipement uni ». |
FIND("Équipement uni"; Nom_Fournisseur)
|
Isole tous les enregistrements dont le champ Nom_Fournisseur contient le nom « Équipement uni » à l'intérieur de la table Fournisseur associée. |
Recherche de valeurs texte vides
Utilisez : Fonction ISBLANK( )
Description : Permet de rechercher des valeurs vides dans un champ caractère.
|
Exemple |
Résultat |
|---|---|
ISBLANK(Prénom) |
Isole tous les enregistrements pour lesquels le champ Prénom est vide. |
Recherche de plusieurs termes textuels
Utilisez : Fonction FINDMULTI( )
Description : La même que FIND( ), mais qui permet de préciser plusieurs termes de recherche.
|
Exemple |
Résultat |
|---|---|
FIND(RECORD; "Équipement uni"; "Muller Corp.") |
Isole tous les enregistrements contenant le nom "Équipement uni" ou "Muller Corp." à n'importe quel endroit dans l'enregistrement. |
FINDMULTI(RECORD; "équip"; "supp") |
Isole tous les enregistrements contenant les chaînes "équip" ou "supp" à n'importe quel endroit dans l'enregistrement. |
FINDMULTI(Nom_Fournisseur; "Équipement uni"; "Muller Corp.") |
Isole tous les enregistrements contenant le nom "Équipement uni" ou "Muller Corp." dans le champ Nom_Fournisseur. |
FINDMULTI(Fournisseur.Nom_Fournisseur; "Équipement uni"; "Muller Corp.") |
Isole tous les enregistrements contenant le nom "Équipement uni" ou "Muller Corp." dans le champ Nom_Fournisseur dans la table Fournisseur associée. |
Utilisez : Fonction MATCH( )
Description : Fonction de recherche souple permettant de rechercher simultanément dans un champ plusieurs termes de recherche différents ou de rechercher le même terme de recherche dans plusieurs champs. Permet également de rechercher des valeurs correspondantes dans deux champs.
|
Exemple |
Résultat |
|---|---|
MATCH(Ville_fournisseur; "Phoenix"; "Austin"; "Los Angeles") |
Isole tous les enregistrements dans lesquels la valeur du champ Ville_fournisseur correspond exactement à « Phoenix », « Austin » ou « Los Angeles » ou commence par « Phoenix », « Austin » ou « Los Angeles ». |
NOT MATCH(Ville_fournisseur; "Phoenix"; "Austin"; "Los Angeles") |
Isole tous les enregistrements dans lesquels la valeur du champ Ville_fournisseur ne correspond pas exactement à « Phoenix », « Austin » ou « Los Angeles » ou ne commence pas exactement par ces noms de ville. |
MATCH(Code_Produit; "A"; "D"; "F") |
Isole tous les enregistrements dont le champ Code_Produit comporte les codes produit "A", "D" ou "F" ou des codes produit commençant par "A", "D" ou "F". |
MATCH(Code_Produit; "A"; "D"; "F") |
Isole tous les enregistrements dont le champ Code_Produit comporte un code produit à un seul caractère "A", "D" ou "F". L'option Comparaisons exactes de caractères doit être activée. |
|
Remarque Les exemples MATCH( ) supposent que l'option Comparaisons exactes de caractères est désactivée, sauf indication contraire. |
|
Recherche de termes textuels sensibles à la casse
Utilisez : Fonction MATCH( )
Description : Fonction de recherche souple permettant de rechercher simultanément dans un champ plusieurs termes de recherche différents ou de rechercher le même terme de recherche dans plusieurs champs. Permet également de rechercher des valeurs correspondantes dans deux champs.
|
Exemple |
Résultat |
|---|---|
MATCH(Nom_de_Famille; "Smith") |
Isole tous les enregistrements dans lesquels la valeur dans le champ Nom_Fournisseur est "SMITH", tout en majuscules. |
MATCH(Nom_de_Famille; "smith") |
Isole tous les enregistrements dans lesquels la valeur dans le champ Nom_de_Famille est "smith", tout en minuscules. |
MATCH(Nom_de_Famille; "Smith") |
Isole tous les enregistrements dans lesquels la valeur dans le champ Nom_de_Famille est "Smith", avec la première lettre en majuscule. |
Recherche d'un terme textuel dans plusieurs champs
Utilisez : Fonction MATCH( )
Description : Fonction de recherche souple permettant de rechercher simultanément dans un champ plusieurs termes de recherche différents ou de rechercher le même terme de recherche dans plusieurs champs. Permet également de rechercher des valeurs correspondantes dans deux champs.
|
Exemple |
Résultat |
|---|---|
MATCH("Phoenix"; Ville_fournisseur; Ville; Ville_2)
|
Isole tous les enregistrements dans lesquels au moins une des valeurs dans les champs Ville_Fournisseur, Ville ou Ville_2 correspond exactement à « Phoenix » ou commence par « Phoenix ». |
Recherche de termes textuels correspondants
Utilisez : Fonction MATCH( )
Description : Fonction de recherche souple permettant de rechercher simultanément dans un champ plusieurs termes de recherche différents ou de rechercher le même terme de recherche dans plusieurs champs. Permet également de rechercher des valeurs correspondantes dans deux champs.
|
Exemple |
Résultat |
|---|---|
MATCH(Adresse_fournisseur; Adresse_employé) |
Isole tous les enregistrements ayant des adresses fournisseur et employé identiques. Vous devrez peut-être utiliser des fonctions supplémentaires pour normaliser le format des adresses fournisseur et employé. |
Recherche d'une ou plusieurs occurrences d'un caractère spécifique ou d'une sous-chaîne
Utilisez : Fonction OCCURS( )
Description : Permet de rechercher une ou plusieurs occurrences d'une sous-chaîne dans un champ caractère.
|
Exemple |
Résultat |
|---|---|
OCCURS(No_Facture; "-") > 1 |
Isole tous les enregistrements dans lesquels le numéro de facture contient au moins 2 traits d'union. |
OCCURS(Nom_complet; ALLTRIM(Nom))= 1 |
Isole tous les enregistrements dans lesquels la valeur du champ Nom apparaît dans le champ Nom_complet. Inclure la fonction ALLTRIM( ) dans l'expression retire les espaces de début ou de fin dans le champ Nom, ce qui permet de s'assurer que seules des valeurs de texte sont comparées. |
OCCURS(Nom_Fournisseur; "ÉQUIPEMENT UNI") > 0 |
Isole tous les enregistrements dont le champ Nom_Fournisseur contient le nom « ÉQUIPEMENT UNI » en majuscules. À la différence de la fonction FIND( ), la fonction OCCURS( ) est sensible à la casse. |
Recherche d'une sous-chaîne commençant à une position de caractère spécifique
Utilisez : Fonction AT( )
Description : Permet de rechercher une sous-chaîne ou une occurrence ultérieure de la sous-chaîne, dans un champ caractère, et d'indiquer la position de l'octet de départ de la sous-chaîne cible.
|
Exemple |
Résultat |
|---|---|
AT(2; "-"; No_Facture) > 10 |
Isole tous les enregistrements dans lesquels le numéro de facture contient au moins 2 traits d'union et dont le deuxième trait d'union se place après le dixième caractère dans la chaîne. |
Rechercher du texte dans une plage
Utilisez : Fonction BETWEEN( )
Description : Vous permet de rechercher des valeurs de type texte dans une plage.
|
Exemple |
Résultat |
|---|---|
BETWEEN(Nom; "C"; "K") |
Isole tous les enregistrements dans lesquels la valeur du champ Nom commence par l'une des lettres de « C » à « K » incluse. L'option Comparaisons exactes de caractères doit être désactivée. |
Recherche de valeurs texte quasi-identiques (doublons approximatifs)
Utilisez : Fonction ISFUZZYDUP( )
Description : Permet de rechercher des valeurs quasi-identiques (doublons approximatifs) ainsi que des valeurs identiques. Pas sensible à la casse.
Utilisez : Fonction LEVDIST( )
Description : Similaire à ISFUZZYDUP( ), mais sensible à la casse par défaut.
|
Exemple |
Résultat |
|---|---|
ISFUZZYDUP(Nom; "Brun"; 2) |
Isole tous les enregistrements pour lesquels le champ Nom présente le nom « Brun » ou des doublons approximatifs du nom « Brun ». La distance de Levenshtein (degré d'approximation), définie sur 2 dans cet exemple, peut être augmentée ou diminuée. |
LEVDIST(TRIM(Nom); "Brun") < 3 |
Isole tous les enregistrements pour lesquels le champ Nom présente le nom « Brun » ou des doublons approximatifs du nom « Brun ». La distance de Levenshtein (degré d'approximation), définie sur < 3 dans cet exemple, peut être augmentée ou diminuée. Inclure la fonction TRIM( ) dans l'expression retire les espaces de fin dans le champ Nom pour s'assurer que seules des valeurs de texte sont comparées. |
Recherche d'un modèle de base
Utilisez : Fonction MAP( )
Description : Permet de rechercher à l'aide de caractères génériques, de caractères littéraux ou d'un mélange des deux.
|
Exemple |
Résultat |
|---|---|
MAP(No_Facture; "XX99999") |
Isole tous les enregistrements dont les numéros de facture se composent de deux lettres suivies de cinq chiffres ou commencent par deux lettres suivies de cinq chiffres. |
MAP(No_Facture; "AB12345") |
Isole tous les enregistrements comportant les numéros de facture "AB12345" ou comportant des numéros commençant par "AB12345". |
MAP(No_Facture; "AB99999") |
Isole tous les enregistrements dont les numéros de facture se composent des lettres "AB" suivies de cinq chiffres ou commencent par les lettres "AB" suivies de cinq chiffres. |
NOT MAP(SSN; "999-99-9999") |
Isole tous les enregistrements dont le format du champ SSN ne correspond pas au format standard des numéros de sécurité sociale. |
Recherche d'un modèle plus complexe
Utilisez : Fonction REGEXFIND( )
Description : La fonction de recherche la plus puissante et la plus souple. Permet d'effectuer des recherches à l'aide d'expressions ordinaires qui combinent caractères littéraux et métacaractères. Peut être plus compliquée à utiliser que les autres fonctions de recherche.
|
Exemple |
Résultat |
|---|---|
REGEXFIND(Ville_fournisseur; "Phoenix|Austin|Los Angeles") |
Isole tous les enregistrements dans lesquels la valeur du champ Ville_fournisseur contient « Phoenix », « Austin » ou « Los Angeles ». |
REGEXFIND(Code_Produit; "\b\d{3}-[a-zA-Z]{6}\b")
|
Isole tous les enregistrements dont le code produit commence par 3 chiffres, suivis d'un trait d'union et de 6 lettres. |
REGEXFIND(Code_Produit; "\b\d{3,}-[a-zA-Z]{6}")
|
Isole tous les enregistrements dont le code produit commence par au moins 3 chiffres, suivis d'un trait d'union et d'au moins 6 lettres. |
Recherches numériques
Recherche d'un nombre
Utilisez : Fonction MATCH( )
Description : Fonction de recherche souple permettant de rechercher simultanément dans un champ plusieurs termes de recherche différents ou de rechercher le même terme de recherche dans plusieurs champs. Permet également de rechercher des valeurs correspondantes dans deux champs.
|
Exemple |
Résultat |
|---|---|
MATCH(Montant_Facture; 154,00) |
Isole tous les enregistrements avec un montant de facture de 154,00 $. |
MATCH(Montant_Facture; 154,00; 522,00) |
Isole tous les enregistrements avec un montant de facture de 154,00 $ ou 522,00 $. |
NOT MATCH(Valeur_de_stock_au_coût; Coût_x_Quantité) |
Isole tous les enregistrements contenant différents montants dans le champ Valeur_de_stock_au_coût et dans le champ calculé Coût_x_Quantité. |
Rechercher des nombres dans une plage
Utilisez : Fonction BETWEEN( )
Description : Vous permet de rechercher des valeurs numériques dans une plage.
|
Exemple |
Résultat |
|---|---|
BETWEEN(Montant_Facture; 1000, 5000) |
Isole tous les enregistrements ayant un montant de facture compris entre 1000 € et 5000 € inclus. |
Rechercher un nombre dans une table entière
Utilisez : Fonction FIND( )
Description : Permet de rechercher dans des enregistrements entiers en plus d'un ou plusieurs champs individuels.
Utilisez : Fonction FINDMULTI( )
Description : La même que FIND( ), mais qui permet de préciser plusieurs termes de recherche.
Remarque
L'utilisation des fonctions FIND( ) ou FINDMULTI( ) pour rechercher une valeur numérique peut être épineuse. Les fonctions recherchent les caractères exacts dans le fichier de données sources (.fil), qui peuvent avoir une présentation différente dans la vue de la table.
Si les résultats de la recherche vous paraissent incohérents, examinez les données sources dans la boîte de dialogue Format de table.
|
Exemple |
Résultat |
|---|---|
FIND("154,00")
|
Isole tous les enregistrements contenant les caractères exacts 154,00 à n'importe quel endroit de l'enregistrement dans le fichier de données sources. |
Recherche de valeurs DateHeure
Recherche d'une valeur DateHeure
Utilisez : Fonction MATCH( )
Description : Fonction de recherche souple permettant de rechercher simultanément dans un champ plusieurs termes de recherche différents ou de rechercher le même terme de recherche dans plusieurs champs. Permet également de rechercher des valeurs correspondantes dans deux champs.
|
Exemple |
Résultat |
|---|---|
MATCH(Date_Facture; '20170731') |
Isole tous les enregistrements dont la date de facture est le 31 juillet 2017. |
MATCH(Date_Facture; '20170731'; '20170831'; '20170930') |
Isole tous les enregistrements avec une facture datant du dernier jour du mois dans chaque mois du troisième trimestre. |
Recherche de valeurs vides ou invalides
Utilisez : Fonction VERIFY( )
Description : Vous permet de rechercher des valeurs vides ou invalides dans un champ date.
|
Exemple |
Résultat |
|---|---|
NOT VERIFY(Date_Facture) |
Isole tous les enregistrements comprenant une date vide ou invalide dans le champ Date_Facture. |
Rechercher des valeurs DateHeure dans une plage
Utilisez : Fonction BETWEEN( )
Description : Vous permet de rechercher des valeurs DateHeure dans une plage.
|
Exemple |
Résultat |
|---|---|
BETWEEN(Date_facture; `20140930`; `20141030`) |
Isole tous les enregistrements dont la date de facture est comprise entre le 30 septembre 2014 et le 30 octobre 2014 inclus. |
NOT BETWEEN(Date_facture; `20140930`; `20141030`) |
Isole tous les enregistrements dont la date de facture n'est pas comprise entre le 30 septembre 2014 et le 30 octobre 2014 inclus. |
Rechercher une valeur DateHeure dans une table entière
Utilisez : Fonction FIND( )
Description : Permet de rechercher dans des enregistrements entiers en plus d'un ou plusieurs champs individuels.
Utilisez : Fonction FINDMULTI( )
Description : La même que FIND( ), mais qui permet de préciser plusieurs termes de recherche.
Remarque
L'utilisation des fonctions FIND( ) ou FINDMULTI( ) pour rechercher une valeur DateHeure peut être épineuse. Les fonctions recherchent les caractères exacts dans le fichier de données sources (.fil), qui peuvent avoir une présentation différente dans la vue de la table.
Si les résultats de la recherche vous paraissent incohérents, examinez les données sources dans la boîte de dialogue Format de table.
|
Exemple |
Résultat |
|---|---|
FINDMULTI(RECORD; "31/07/2017"; "31/08/2017") |
Isole tous les enregistrements contenant les caractères exacts 31/07/2017 ou 31/08/2017 à n'importe quel endroit de l'enregistrement dans le fichier de données sources. La restriction normale concernant le format DateHeure (AAAAMMJJ, AAMMJJ, hhmmss, hhmm) ne s'applique pas avec l'utilisation de FIND( ) ou de FINDMULTI( ) pour la recherche d'une valeur DateHeure. |
Comparaison des fonctions de recherche Analytics
Les tableaux ci-dessous fournissent une comparaison détaillée des fonctions de recherche Analytics. À mesure que vous créez des expressions de recherche dans Analytics, il peut être utile de savoir comment les règles spécifiques qui régissent chaque fonction peuvent varier.
Types de données dans les recherches
| Types de données prises en charge | Fonction |
|---|---|
|
Caractère |
AT( ) FIND( ) FINDMULTI( ) ISFUZZYDUP( ) LEVDIST( ) MAP( ) OCCURS( ) REGEXFIND( ) |
|
Caractère DateHeure Numérique |
BETWEEN( ) MATCH( ) |
Emplacements de recherche (champ, champs, enregistrement)
| Emplacements de recherche pris en charge | Fonction |
|---|---|
|
Champ unique |
BETWEEN( ) ISFUZZYDUP( ) LEVDIST( ) |
|
Un ou plusieurs champs |
AT( ) MAP( ) MATCH( ) OCCURS( ) REGEXFIND( ) |
|
Un ou plusieurs champs Enregistrement |
FIND( ) FINDMULTI( ) |
Possibilité de recherche des espaces de début
| Possibilité de recherche des espaces de début | Fonction |
|---|---|
|
Oui Les espaces en tête des données peuvent éventuellement être rapprochés dans la chaîne de recherche |
AT( ) BETWEEN( ) FIND( ) FINDMULTI( ) OCCURS( ) |
|
Oui Les espaces en tête des données doivent être rapprochés exactement dans la chaîne de recherche |
MAP( ) MATCH( ) |
|
Oui Espaces d'une chaîne de type données ou de recherche traités comme un caractère |
ISFUZZYDUP( ) LEVDIST( ) REGEXFIND( ) |
Sensible à la casse
| Fonction sensible à la casse | Fonction |
|---|---|
|
Oui |
AT( ) BETWEEN( ) MAP( ) (caractères littéraux) MATCH( ) OCCURS( ) REGEXFIND( ) |
|
Non |
FIND( ) FINDMULTI( ) ISFUZZYDUP( ) MAP( ) (caractères génériques) |
|
Optionnel |
LEVDIST( ) |
Rapprochement partiel
| Rapprochement partiel pris en charge | Fonction |
|---|---|
|
Oui La chaîne de recherche peut apparaître n'importe où dans le champ |
AT( ) FIND( ) FINDMULTI( ) OCCURS( ) REGEXFIND( ) |
|
Oui La chaîne de recherche doit apparaître au début du champ, données de type caractère uniquement |
BETWEEN( ) MATCH( ) |
|
Oui La chaîne de recherche doit être de longueur égale ou inférieure à la valeur des données |
MAP( ) |
|
Oui |
ISFUZZYDUP( ) LEVDIST( ) |
Plusieurs termes de recherche
| Termes de recherche multiples pris en charge | Fonction |
|---|---|
|
Oui |
FINDMULTI( ) MATCH( ) REGEXFIND( ) |
|
Non |
AT( ) BETWEEN( ) FIND( ) ISFUZZYDUP( ) LEVDIST( ) MAP( ) OCCURS( ) |
Affecté par l'option Comparaisons exactes de caractères (SET EXACT ON/OFF)
|
Affecté par l'option Comparaisons exactes de caractères (SET EXACT ON/OFF) |
Fonction |
|---|---|
|
Oui |
BETWEEN( ) MATCH( ) |
|
Non |
AT( ) FIND( ) FINDMULTI( ) ISFUZZYDUP( ) LEVDIST( ) MAP( ) OCCURS( ) REGEXFIND( ) |