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 |