SEARCH
s’applique à :colonne calculéetable calculéemesurecalcul visuel
Renvoie le nombre du caractère auquel une chaîne de texte ou de caractère spécifique est trouvée en premier, en lisant la gauche à droite. La recherche respecte la casse et respecte les accents.
Syntaxe
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Paramètres
Terme | Définition |
---|---|
find_text |
Texte que vous souhaitez trouver. Vous pouvez utiliser des caractères génériques ( le point d’interrogation ( ?) et l’astérisque (*) dans find_text . Un point d’interrogation correspond à n’importe quel caractère unique ; un astérisque correspond à n’importe quelle séquence de caractères. Si vous souhaitez trouver un point d’interrogation ou un astérisque réel, tapez un tilde (~) avant le caractère. |
within_text |
Texte dans lequel vous souhaitez rechercher find_text ou une colonne contenant du texte. |
start_num |
(facultatif) Position de caractère dans within_text à laquelle vous souhaitez commencer la recherche. S’il est omis, 1. |
NotFoundValue |
(facultatif, mais fortement recommandé) Valeur qui doit être retournée lorsque l’opération ne trouve pas de sous-chaîne correspondante, généralement 0, -1 ou BLANK(). Si elle n’est pas spécifiée, une erreur est retournée. |
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.
Remarques
La fonction de recherche ne respecte pas la casse. La recherche de « N » recherche la première occurrence de « N » ou « n ».
La fonction de recherche respecte les accents. La recherche de « á » trouvera la première occurrence de « á », mais aucune occurrence de 'a', 'à' ou les versions majuscules 'A', 'Á'.
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 la
find_text
est introuvable danswithin_text
, la formule retourne une erreur. Ce comportement est semblable à Excel, qui retourne #VALUE si la sous-chaîne est introuvable. Les valeurs Null danswithin_text
sont interprétées comme une chaîne vide dans ce contexte.Cette fonction n’est pas prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées ou les règles de sécurité au niveau des lignes (RLS).
Exemple
La requête DAX suivante recherche la position de la première lettre de « cycle », dans la chaîne qui contient le nom du revendeur. S’il est introuvable, Blank est retourné.
SEARCH ne respecte pas la casse. Dans cet exemple, si « cycle » ou « Cycle » est utilisé dans l’argument find_text
, les résultats sont retournés pour les deux cas. Utilisez FIND pour respecter la casse.
Les exemples de cet article peuvent être utilisés avec l’exemple de modèle Adventure Works DW 2020 Power BI Desktop. Pour obtenir le modèle, consultez DAX exemple de modèle.
EVALUATE
CALCULATETABLE (
ADDCOLUMNS (
TOPN ( 10, SUMMARIZE('Reseller', [Reseller], [Business Type])),
"Position of cycle", SEARCH ( "cycle", 'Reseller'[Reseller], 1, BLANK () )
),
'Reseller'[Business Type] IN { "Specialty Bike Shop", "Value Added Reseller", "Warehouse"}
)
Retourne :
Reseller | Business Type | Position de cycle |
---|---|---|
Volume Bike Sellers | Warehouse | |
Mass Market Bikes | Revendeur à valeur ajoutée | |
Twin Cycles | Revendeur à valeur ajoutée | 6 |
Rich Department Store | Warehouse | |
Rental Gallery | Specialty Bike Shop | |
Budget Toy Store | Warehouse | |
Global Sports Outlet | Warehouse | |
Online Bike Catalog | Warehouse | |
Casques et cycles | Revendeur à valeur ajoutée | 13 |
Jumbo Bikes | Specialty Bike Shop |