Partager via


Fonction SEARCH (DAX)

Retourne la position à laquelle un caractère ou une chaîne de texte spécifique est trouvé pour la première fois, en allant de gauche à droite. La fonction SEARCH respecte la casse.

Syntaxe

SEARCH(<find_text>, <within_text>, [start_num])

Paramètres

Terme

Définition

find_text

Texte que vous souhaitez rechercher.

within_text

Texte dans lequel vous souhaitez rechercher find_text, ou une colonne contenant le texte.

start_num

(facultatif) Position de caractère dans within_text à laquelle vous souhaitez commencer la recherche. En l'absence de spécification, il s'agit de la valeur 1.

Valeur de propriété/valeur de retour

Numéro de la position de départ de la première chaîne de texte à partir du premier caractère de la deuxième chaîne de texte.

Notes

Cette fonction vous permet de localiser une chaîne de texte dans une seconde chaîne de texte et de retourner la position de départ de la première chaîne de texte.

Vous pouvez utiliser la fonction SEARCH pour déterminer l'emplacement d'un caractère ou d'une chaîne de texte dans une autre chaîne de texte, puis utiliser la fonction MID pour retourner le texte ou utiliser la fonction REPLACE pour modifier le texte.

Si find_text est introuvable dans within_text, la formule retourne une erreur. Ce comportement est identique à celui d'Excel, qui retourne #VALEUR si la sous-chaîne est introuvable. Les valeurs Null dans within_text seront interprétées comme une chaîne vide dans ce contexte.

Exemple : recherche dans une chaîne

Description

La formule ci-dessous recherche la position de la lettre « n » dans le mot « printer ».

Code

=SEARCH("n","printer")

Commentaires

La formule retourne 4 car « n » est le quatrième caractère dans le mot « printer ».

Exemple : recherche dans une colonne

Description

Vous pouvez utiliser une référence de colonne comme argument de SEARCH. La formule suivante recherche la position du caractère « - » (trait d'union) dans la colonne, [PostalCode].

Code

=SEARCH("-",[PostalCode])

Commentaires

Le résultat obtenu est une colonne de nombres, qui indiquent la position d'index du trait d'union.

Description

La formule de l'exemple précédent échoue si la chaîne recherchée est introuvable dans chaque ligne de la colonne source. Par conséquent, l'exemple suivant montre comment utiliser IFERROR avec la fonction SEARCH, pour faire en sorte qu'un résultat valide soit retourné pour chaque ligne.

La formule suivante recherche la position du caractère « - » dans la colonne et retourne -1 si la chaîne est introuvable.

Code

= IFERROR(SEARCH("-",[PostalCode]),-1)

Commentaires

Notez que le type de données de la valeur que vous utilisez comme sortie d'erreur doit correspondre au type de données du type de la sortie sans erreur. Dans ce cas, vous indiquez une valeur numérique à fournir en sortie en cas d'erreur, car SEARCH retourne une valeur entière.

Toutefois, vous pouvez aussi retourner un espace (chaîne vide) en utilisant BLANK() comme deuxième argument d'IFERROR.

Voir aussi

Référence

Autres ressources