次の方法で共有


FIND

適用対象: 計算列計算テーブルメジャービジュアル計算

別のテキスト文字列内の 1 つのテキスト文字列の開始位置を返します。 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 には、1 バイト文字セット (SBCS) 言語と 2 バイト文字セット (DBCS) 言語に対応する複数のバージョンの FIND 関数があるのに対し、DAX は Unicode を使用し、各文字を同じ方法でカウントします。したがって、文字の種類に応じて異なるバージョンを使用する必要はありません。

  • この関数は、計算列または行レベル セキュリティ (RLS) 規則で使用する場合、DirectQuery モードでは使用できません。

  • FIND はワイルドカードをサポートしていません。 ワイルドカードを使用するには、SEARCHを使用します。

次の DAX クエリは、リセラー名を含む文字列内の "Bike" の最初の文字の位置を検索します。 見つからない場合は、空白が返されます。

FIND では大文字と小文字が区別されます。 この例では、find_text 引数で "bike" を使用した場合、結果は返されません。 大文字と小文字を区別しない場合は、SEARCH を使用します。

この記事の例は、Adventure Works DW 2020 Power BI Desktop モデルのサンプルと共に使用できます。 モデルを取得するには、サンプル モデル 参照してください。

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"}
)

収益

リセラー ビジネスの種類 自転車の位置
ボリュームバイク販売者 倉庫 8
マスマーケットバイク 付加価値リセラー 13
ツイン サイクル 付加価値リセラー
リッチ 百貨店 倉庫
レンタル ギャラリー スペシャルティバイクショップ
予算おもちゃストア 倉庫
グローバルスポーツアウトレット 倉庫
オンラインバイクカタログ 倉庫 8
ヘルメットとサイクル 付加価値リセラー
ジャンボバイク スペシャルティバイクショップ 7

SEARCH テキスト関数