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
  • Les termes de recherche DateHeure doivent utiliser le format AAAAMMJJ ou AAMMJJ.
  • Une portion heure doit utiliser le format hhmmss et être précédée d'une seule espace, de la lettre 't' ou 'T'. Par exemple : `t183000`
  • N'utilisez aucun séparateur comme les barres obliques (/) ou les deux points (:) entre les composants individuels des dates ou des heures.
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

Emplacements de recherche (champ, champs, enregistrement)

Possibilité de recherche des espaces de début

Sensible à la casse

Rapprochement partiel

Plusieurs termes de recherche

Affecté par l'option Comparaisons exactes de caractères (SET EXACT ON/OFF)