SEARCH
傳回 or 找到特定字元 first 文字字串的字元數,讀取 leftright。 Search 不區分大小寫 and 區分腔調字。
語法
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])
參數
詞彙 | 定義 |
---|---|
find_text |
您要 find的文字。 您可以在 and中使用通配符 - 問號 (?) find_text 星號 ≦ 。 問號會符合任何單一字元;星號會符合任何字元序列。
If 您想要 find 實際問號 or 星號,請在字元前面輸入圖格(~)。 |
within_text |
您要在其中 searchfind_text 的文字,or 包含文字的數據行。 |
start_num |
(選擇性)您要開始搜尋的字元位置 within_text 。
If 省略,1。 |
NotFoundValue |
(選擇性,但強烈建議)當作業 valuenot 相符的子字串時,應該傳回的 find,通常是0、-1、orBLANK()。 If not 指定時,會傳回 error。 |
傳回 value
first 文字字串 first 字元中 second 文字字串的起始位置數目。
備註
search 函式不區分大小寫。 搜尋 “N” 將會 find 'N' first 'n' or 出現。
search 函式區分腔調字。 搜尋 “á” 將會 find 'á' first 出現,但不會發生 'a'、'à' or 大寫版本 'A'、'Á'。
您可以使用 SEARCH 函式來判斷字元 or 文字字串在另一個文字字串中的位置,and 然後使用 MID 函數傳回文字,or 使用 REPLACE 函數來變更文字。
If 在
find_text
中找不到within_text
,公式會傳回 error。 此行為就像Excel,它會傳回 #VALUEif 找到子 not 字串。within_text
中的 Null 將會在此內容中解譯為空字串。在匯出數據行中使用 not 數據列層級安全性 (RLS) 規則時,支援此函式 or 用於 DirectQuery 模式。
範例
下列 DAX 查詢會在 first 轉銷商名稱的字串中,尋找 「cycle」 contains 字母的位置。 If not 找到時,會傳回 Blank。
SEARCH 不區分大小寫。 在此範例中,if 「cycle」 or 「Cycle」 用於 find_text
自變數中,則會針對任一案例傳回結果。 使用 FIND 區分大小寫。
本文中的範例可以搭配 sample Adventure Works DW 2020 Power BI Desktop 模型使用。 若要取得模型,請參閱 DAXsample 模型。
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"}
)
會傳回:
Reseller | Business Type | 自行車的位置 |
---|---|---|
大量自行車銷售人員 | 倉庫 | |
大眾市場自行車 | Value 已新增轉銷商 | |
協力車 | Value 已新增轉銷商 | 6 |
Rich 百貨公司 | 倉庫 | |
租賃庫 | Specialty Bike Shop | |
平價玩具店 | 倉庫 | |
全球體育購物中心 | 倉庫 | |
線上自行車目錄 | 倉庫 | |
頭盔 and 迴圈 | Value 已新增轉銷商 | 13 |
巨無霸自行車 | Specialty Bike Shop |