FIND

適用於:匯出數據行匯出數據表量值視覺計算

傳回一個文字字串出現在另一個文字字串中的開始位置。 FIND 會區分大小寫。

語法

FIND(<find_text>, <within_text>[, [<start_num>][, <NotFoundValue>]])  

參數

詞彙 定義
find_text 要尋找的文字。 使用雙引號 (空白文字) 來比對 within_text 中的第一個字元。
within_text 文字,其中包含要尋找的文字。
start_num (選擇性) 要開始搜尋的字元位置;如果省略,則 start_num = 1。 within_text 中的第一個字元是字元編號 1。
NotFoundValue (選擇性,但強烈建議) 當作業找不到相符子字串時應傳回的值,通常是 0、-1 或 BLANK()。 如果未指定,則會傳回錯誤。

傳回值

顯示所要尋找文字字串起點的數字。

備註

  • 雖然 Microsoft Excel 為單位元組字元集 (SBCS) 和雙位元組字元集 (DBCS) 語言提供不同版本的 FIND 函式,但 DAX 會使用 Unicode 並以相同方式來計算每個字元;因此,您不需要根據字元類型來使用不同的版本。

  • 在計算結果欄或資料列層級安全性 (RLS) 規則中使用時,不支援在 DirectQuery 模式中使用此函式。

  • FIND 不支援萬用字元。 若要使用萬用字元,請使用 SEARCH

範例

下列 DAX 查詢會在包含轉銷商名稱的字串中,尋找「Bike」第一個字母的位置。 如果找不到,則會傳回 Blank。

請記住,FIND 會區分大小寫。 在此範例中,如果在 <find_text> 引數中使用「bike」,則不會傳回任何結果。 使用 SEARCH 不區分大小寫。

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

EVALUATE
CALCULATETABLE (
    ADDCOLUMNS (
        TOPN ( 10, SUMMARIZE('Reseller', [Reseller], [Business Type])),
        "Position of Bike", FIND ( "Bike", 'Reseller'[Reseller], 1, BLANK () )
    ),
    'Reseller'[Business Type] IN { "Specialty Bike Shop", "Value Added Reseller", "Warehouse"}
)

會傳回:

Reseller Business Type 自行車的位置
大量自行車銷售人員 倉庫 8
大眾市場自行車 Value Added Reseller 13
協力車 Value Added Reseller
Rich 百貨公司 倉庫
租賃庫 Specialty Bike Shop
平價玩具店 倉庫
全球體育購物中心 倉庫
線上自行車目錄 倉庫 8
安全帽與機車 Value Added Reseller
巨無霸自行車 Specialty Bike Shop 7

SEARCH
文字函式