SEARCH
s’applique à :colonne calculéetable calculéeMeasurecalcul visuel
Renvoie le nombre du caractère auquel une chaîne de texte spécifique or caractère est first trouvée, en lisant left à right. Search respecte la casse and sensible aux accents.
Syntaxe
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
Paramètres
Terme | Définition |
---|---|
find_text |
Texte que vous souhaitez find. Vous pouvez utiliser des caractères génériques ( le point d’interrogation ( ?) and 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.
If vous voulez find un point d’interrogation réel or astérisque, tapez un tilde (~) avant le caractère. |
within_text |
Texte dans lequel vous souhaitez search pour find_text , or une colonne contenant du texte. |
start_num |
(facultatif) Position de caractère dans within_text à laquelle vous souhaitez commencer la recherche.
If omis, 1. |
NotFoundValue |
(facultatif, mais fortement recommandé) La value qui doit être retournée lorsque l’opération notfind une sous-chaîne correspondante, généralement 0, -1, orBLANK(). If not spécifié, un error est retourné. |
Retourner value
Numéro de la position de départ de la chaîne de texte first à partir du caractère first de la chaîne de texte second.
Remarques
La fonction search ne respecte pas la casse. La recherche de « N » find l’occurrence first de 'N' or 'n'.
La fonction search respecte l’accentuation. La recherche de « á » find l’occurrence first 'á', mais pas d’occurrences de 'a', 'à', or les versions majuscules 'A', 'Á'.
Vous pouvez utiliser la fonction SEARCH pour déterminer l’emplacement d’un caractère or chaîne de texte dans une autre chaîne de texte, and ensuite utiliser la fonction MID pour retourner le texte, or utiliser la fonction REPLACE pour modifier le texte.
If l'
find_text
est introuvable danswithin_text
, la formule retourne une error. Ce comportement est semblable à Excel, qui retourne #VALUEif la sous-chaîne est not trouvée. Les valeurs Null danswithin_text
sont interprétées comme une chaîne vide dans ce contexte.Cette fonction est not prise en charge pour une utilisation en mode DirectQuery lorsqu’elle est utilisée dans les colonnes calculées or règles de sécurité au niveau des lignes (RLS).
Exemple
La requête DAX suivante recherche la position de la lettre first de « cycle », dans la chaîne qui contains le nom du revendeur. If not trouvé, Blank est retourné.
SEARCH ne respecte pas la casse. Dans cet exemple, if « cycle » or « Cycle » est utilisé dans l’argument find_text
, les résultats sont retournés pour chaque cas. Utilisez FIND pour respecter la casse.
Vous pouvez utiliser des exemples dans cet article avec le modèle sample Adventure Works DW 2020 Power BI Desktop. Pour obtenir le modèle, consultez DAXsample 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 | Value revendeur ajouté | |
Twin Cycles | Value revendeur ajouté | 6 |
Rich Department Store | Warehouse | |
Rental Gallery | Specialty Bike Shop | |
Budget Toy Store | Warehouse | |
Global Sports Outlet | Warehouse | |
Online Bike Catalog | Warehouse | |
Casques and cycles | Value revendeur ajouté | 13 |
Jumbo Bikes | Specialty Bike Shop |