SEARCH

適用於:導出數據行計算數據表Measure視覺計算

傳回 first 找到特定字元 or 文字字串的字元數,讀取 leftright。 Search 不區分大小寫 and 區分腔調字。

語法

DAX
SEARCH(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])  

參數

詞彙 定義
find_text 您要 find的文字。

您可以在 find_text中使用通配符 - 問號 (?) and 星號 ≦ 。 問號會符合任何單一字元;星號會符合任何字元序列。 If 您想要 find 實際問號 or 星號,請在字元前面輸入圖格(~)。
within_text 您要在其中 searchfind_text的文字,or 包含文字的數據行。
start_num (選擇性)您要開始搜尋的字元位置 within_text。 If 省略,1。
NotFoundValue (選擇性,但強烈建議)當作業 notfind 相符的子字串時,應該傳回的 value,通常是0、-1、orBLANK()。 If not 指定時,會傳回 error。

傳回 value

second 文字字串 first 字元中 first 文字字串的起始位置數目。

備註

  • search 函式不區分大小寫。 搜尋 “N” 將會 find 'N' or 'n' first 出現。

  • search 函式區分腔調字。 搜尋 “á” 將會 find 'á' first 出現,但不會發生 'a'、'à' or 大寫版本 'A'、'Á'。

  • 您可以使用 SEARCH 函式來判斷字元 or 文字字串在另一個文字字串中的位置,and 然後使用 MID 函數傳回文字,or 使用 REPLACE 函數來變更文字。

  • If 在 within_text中找不到 find_text,公式會傳回 error。 此行為就像Excel,它會傳回 #VALUEif 找到子 not 字串。 within_text 中的 Null 將會在此內容中解譯為空字串。

  • 在匯出數據行中使用 or 數據列層級安全性 (RLS) 規則時,支援此函式 not 用於 DirectQuery 模式。

範例

下列 DAX 查詢會在 contains 轉銷商名稱的字串中,尋找 「cycle」 first 字母的位置。 If not 找到時,會傳回 Blank。

SEARCH 不區分大小寫。 在此範例中,if 「cycle」 or 「Cycle」 用於 find_text 自變數中,則會針對任一案例傳回結果。 使用 FIND 區分大小寫。

本文中的範例可以搭配 sample Adventure Works DW 2020 Power BI Desktop 模型使用。 若要取得模型,請參閱 DAXsample 模型

DAX
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

FIND
REPLACE
文字函式