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.
Exemple : gestion d'erreurs avec SEARCH
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