次の方法で共有


SEARCH

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

特定の文字またはテキスト文字列が最初に見つかった文字の番号を返します。左から右に読み取ります。 検索では大文字と小文字が区別され、アクセントが区別されます。

構文

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

パラメーター

用語 定義
find_text 検索するテキスト。

find_textでは、ワイルドカード文字 (疑問符 (?) とアスタリスク (*) を使用できます。 疑問符は任意の 1 文字と一致します。アスタリスクは任意の文字シーケンスと一致します。 実際の疑問符またはアスタリスクを検索する場合は、文字の前にチルダ (~) を入力します。
within_text find_textを検索するテキスト、またはテキストを含む列。
start_num (省略可能)検索を開始する within_text の文字位置。 省略した場合は 1。
NotFoundValue (省略可能ですが、強くお勧めします)操作で一致する部分文字列 (通常は 0、-1、または BLANK( ) が見つからない場合に返される値。 指定しない場合は、エラーが返されます。

戻り値

2 番目のテキスト文字列の最初の文字からの最初のテキスト文字列の開始位置の番号。

解説

  • 検索機能では大文字と小文字が区別されません。 "N" を検索すると、最初に出現する 'N' または 'n' が見つかります。

  • 検索機能はアクセントを区別します。 "á" を検索すると、最初に出現する 'á' が見つかりますが、'a'、'à'、または大文字のバージョン 'A'、'Á' は見つかりません。

  • SEARCH 関数を使用して、別のテキスト文字列内の文字またはテキスト文字列の位置を特定し、MID 関数を使用してテキストを返すか、REPLACE 関数を使用してテキストを変更できます。

  • within_textfind_text が見つからない場合、数式はエラーを返します。 この動作は Excel に似ています。部分文字列が見つからない場合は#VALUE が返されます。 within_text の null は、このコンテキストでは空の文字列として解釈されます。

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

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

SEARCH では大文字と小文字が区別されません。 この例では、find_text 引数に "cycle" または "Cycle" が使用されている場合、どちらのケースでも結果が返されます。 大文字と小文字を区別するために FIND を使用します。

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

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 Position of cycle
Volume Bike Sellers Warehouse
Mass Market Bikes 付加価値リセラー
Twin Cycles 付加価値リセラー 6
Rich Department Store Warehouse
Rental Gallery Specialty Bike Shop
Budget Toy Store Warehouse
Global Sports Outlet Warehouse
Online Bike Catalog Warehouse
ヘルメットとサイクル 付加価値リセラー 13
Jumbo Bikes Specialty Bike Shop

FIND REPLACE Text 関数