FIND函數區分大小寫,不支持通配符
SEARCH 函數不區分大小寫,支持通配符
有這樣一個産品:
注:文本 “KitchenAId 和 Stockwell”内有空格
現在我們看這兩個函數的用法:
1.FIND(find_text,within_text, [start_num])
注意:FIND 始終返回從 within_text 的起始位置計算的字符編号,如果 start_num 大于 1,則會對跳過的字符計數。
示例:
(1) FIND("k",A2)
該公式 從單元格 A2開始查找第一個“k”的位置,返回18
(2) FIND("en?",A2)
該公式 從單元格查找前兩個字符為“en”,由三個字符組成的字符串,第一次出現的位置,返回錯誤 #VALUE!
2.SEARCH(find_text,within_text,[start_num])
示例:
(1) SEARCH("k",A2)
該公式 從單元格 A2開始查找第一個“k”的位置,返回1
(2) SEARCH("en?",A2)
該公式 從單元格查找前兩個字符為“en”,由三個字符組成的字符串,第一次出現的位置,返回 6
二、PowerBI中FIND函數和SEARCH函數的用法在PowerQuery和PBIDesktop裡有相同行為的函數,小編這裡分别演示:
1、 PowerQuery中M語言的Text類函數
Text類函數可以分為判斷、選擇、操作、查看等幾個類型的函數,這裡介紹一個字符串判斷類函數Text.Contains:
Text.Contains(textas nullable text, substring as text, optional comparer asnullable function) as nullable logical
語義:判斷文本 text 是否包含文本 substring。返回布爾值。
示例:
我們将上面的産品名稱複制到PowerQuery中,通過“添加列”選項卡下的“自定義列”功能,新建兩個新列,分别為“自定義1”列和“自定義2”列,查看編輯器返回的結果:
可以看到:
Text.Contains([産品名稱],"s")返回的結果是FALSE
Text.Contains([産品名稱],"S")返回的結果是TRUE
2、PowerBIDesktop中DAX函數的查找匹配函數
DAX函數中查找匹配類函數有FIND、SEARCH、LOOKVALUE、CONTAINS、TREATAS、IN等。
今天介紹兩個簡單函數FIND和SEARCH,PowerBI中這兩個函數的行為和EXCEL中的行為一緻。在語法上,比EXCEL中多一個第四參數,這個參數一般不可省略。
(1) FIND函數
EN語法:
FIND( FindText, WithinText, [StartPosition], [NotFoundValue] )
CN語法:
FIND( 要查找的文本[FL1] ,包含“要查找的文本”的文本[FL2] ,[指定在WithinText中開始搜索的位置],[指定找不到文本時返回的數值[FL3] ] )
語義:返回一個文本字符串(FindText)在另一個文本字符串(WithinText)内的起始位置。FIND區分大小寫。
返回:要查找的文本字符串起點的數字。
(2) SEARCH函數
EN語法
SEARCH( FindText[FL4] , WithinText,[StartPosition], [NotFoundValue] )
CN語法
SEARCH( 要查找的文本,包含要查找文本的文本,[開始查找位置],[找不到文本時返回的數值] )
語義:返回一個文本字符串(FindText)在另一個文本字符串(WithinText)内的起始位置。SEARCH不區分大小寫。
示例:
我們把産品名稱放在PBI中,新建兩個精确匹配的度量值:
"k"的位置_FIND =FIND("k","KitchenAId 和Stockwell",,0)
"k"的位置_SEARCH =SEARCH("K","KitchenAId 和Stockwell",,0)
在報表窗口,我們可以看到,和EXCEL中返回的結果一緻。
同時我們新建兩個模糊匹配的度量值:
"k"的位置_FIND_模糊匹配 = FIND("en?","KitchenAId 和Stockwell",,0)
"k"的位置_SEARCH_模糊匹配 = SEARCH("en?","KitchenAId 和Stockwell",,0)
可以看到,和EXECL裡的結果一樣。因為我們這裡指定了第四參數,所以FIND的返回結果為0。
無論是在EXCEL和PBI中,還是在PowerQuery和PowerBIDesktop中,會有很多相同行為的函數。EXCEL裡支持的通配符和PBI中SEARCH函數所支持的通配符相同:
問号“?”,代表任意一個字符
星号“*”,代表任意多個字符
注意一定要在英文狀态下輸入哦!
本期内容就是這些,小夥伴們下期再見!
* PowerPivot工坊原創文章,轉載請注明出處!
延伸閱讀:
使用DAX控制切片器顯示
DAX驅動可視化——使用DAX自定義KPI圖
Power BI可視化 | 自定義可視化頁面主題
一文了解Power BI中DAX公式編輯器的常用快捷鍵
利用DAX實現動态顯示圖表标題
如果您想深入學習微軟Power BI,歡迎登錄網易雲課堂試聽學習我們的“從Excel到Power BI數據分析可視化”系列課程。或者關注我們的公衆号(PowerPivot工坊)後猛戳”在線學習”。
長按下方二維碼關注“Power Pivot工坊”獲取更多微軟Power BI、PowerPivot相關文章、資訊,歡迎小夥伴兒們轉發分享~
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!