从数据到信息
从信息到洞察

SEARCH

返回一个文本字符串在另一个文本字符串中的起始位置。不区分大小写,支持通配符。

语法

SEARCH ( <待查找内容>, <查找范围>, [<起始位置>], [<备选结果>] )
参数 属性 描述
待查找内容 要找的文本。使用双引号(空文本)匹配查找中的第一个字符;支持?和*通配符
查找范围 包含要查找的文本的文本
起始位置 可选 开始搜索的位置;如果省略,则起始位置=1,也就是查找范围中的第一个字符
备选结果 可选 未找到文本时返回的数值,可设为 0、-1 或 BLANK();如果省略,则返回一个错误

返回值

标量 一个整数值

待查文本在查找范围所处的起点位置所代表的数字。

备注

  1. SEARCH 不区分大小写。 搜索“N”,将查找第一次出现“N”或“n”的位置。
  2. SEARCH 区分重音。 搜索“á”会查找第一次出现“á”的位置,但不会查找第一次出现“a”、“à”或大写“A”和“Á”的位置。
  3. 当使用列作为参数的时候,为了避免可能出现未找到的情况而导致错误,请始终设置备选结果。
  4. SEARCH 支持通配符?匹配任何单个字符;*匹配任何字符序列。 如果要查找的是问号或星号本身,可以在字符前键入一个波形符 (~)

示例

以下公式查找字符“-”在列中的位置,并在找不到该字符串的情况下返回 -1

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

扩展阅读:

 

2
说点什么

1000
 
鼓掌微笑开心憧憬爱你色并不觉得吃瓜doge二哈喵喵思考笑哭捂脸悲伤大哭抓狂汗偷笑打脸捂眼黑线问号晕拜拜闭嘴衰咒骂ok作揖
1 评论数
1 被回复的评论
2 订阅评论的人数
 
查看最近回复
查看最热评论
  订阅本文评论  
最新 最旧 得票最多
提醒
成员
Aspass

如果我想写用Filter写出:
‘product'[BrandName] 中 包含字母”o”的结果, 比如品牌名”Contoso”,”Proseware”等.
要怎么写呢? 是用search 函数还是要用 Containrow 函数呢? 要怎么实现呢?
另外 search 函数主要用在什么场景中呢, 请老师解答, 谢谢

DAX 圣经

DAX 函数大全

DAX 查询

DAX 运算符