Tableau CONTAINS関数の使い方|文字列を含むかどうかを判定する方法

TableauのCONTAINS関数は、文字列の中に特定の語句が含まれているかどうかをチェックできる便利な関数です。検索・分類・フィルタ処理など、さまざまな場面で活用できます。

目次

CONTAINS関数とは?

CONTAINS(文字列, 検索語) の形式で、指定された文字列に特定の語句が含まれているかどうかを判定し、TRUEFALSE を返します。

CONTAINS("東京都", "都")   // TRUE

まるでワイルドカードのように使うことができ、文字列の部分一致チェックが可能です。

IF関数との組み合わせ例(Tableau if contains)

CONTAINSは単体でも使えますが、IF関数と組み合わせることで、より柔軟な処理ができます。

IF CONTAINS("東京都", "都") THEN "都を含む" ELSE "都を含まない" END

フィールドに対して使う:ディメンションやメジャーの活用

文字列フィールドにも同じように使えます。

IF CONTAINS([都道府県], "都") THEN "都を含む" ELSE "都を含まない" END

フィールド × フィールドの比較も可能

検索語を別フィールドにしても動作します。

IF CONTAINS([都道府県], [都判定]) THEN "都を含む" ELSE "都を含まない" END

ここでは [都判定] が例えば “都” を含む単一文字列であることを想定しています。

複数語句を含むかをチェックしたい場合(Tableau contains 複数条件)

複数の条件をチェックしたい場合は、ORまたはANDで複合条件を作ります。

IF CONTAINS([地域], "関東") OR CONTAINS([地域], "首都") THEN "主要地域" ELSE "その他" END
IF CONTAINS([説明], "東京") AND CONTAINS([説明], "都心") THEN "都心関連" ELSE "その他" END

CASE関数との併用不可?エラー例と回避策

CASE関数ではCONTAINSのような論理式(TRUE/FALSEを返す関数)をそのまま使うことはできません。そのため、以下のように書くとエラーになります:

// NG例:CASE内で論理式を使用(エラー)
CASE CONTAINS([地域], "関東")
    WHEN TRUE THEN "関東圏"
    ELSE "その他"
END

このような場合は、先にIF文で判定し、その結果を文字列で返しておくことで回避できます。

// OK例:IFで変換してからCASE的に扱う
IF CONTAINS([地域], "関東") THEN "関東圏" ELSE "その他" END

Tableauでは、CASE WHEN CONTAINS()のような構文はサポートされていないため、必ずIF文で構造化しましょう。

よくある用途・実務例(Tableau 文字列 含む)

  • 商品名や説明文に特定キーワードが含まれているかを分類(例:”高級”含む)
  • 都道府県や地域名から、「都道府県区分」「主要地域」などの分類を自動生成
  • 住所から都道府県名を抽出してグルーピング(Tableau 計算フィールド 文字列 含む)
  • 業種名などのフリーテキストから重要語の有無を判定

注意点まとめ

  • CONTAINS完全一致ではなく部分一致(サブストリング)
  • 大文字・小文字は区別しません(”tokyo” でも “Tokyo” にマッチ)
  • 数値には使えません。“で文字列に変換してから適用する必要があります
  • Tableau CASE WHEN CONTAINS のような書き方はできません

まとめ

項目内容
関数名CONTAINS
判定対象文字列フィールド、リテラル文字列など
戻り値TRUE または FALSE
よく使う場面フリーテキスト検索、部分一致フィルタなど
複数条件に対応AND / OR で対応可能
CASEとの併用不可(IFで代替処理)

CONTAINS関数は、Tableauでの文字列操作・フィルタ・分類において非常に柔軟かつパワフルな関数です。特に部分一致での分類や検索条件構築の際には、if contains tableautableau 文字列 含むといった検索ニーズに応えるためにも活用価値は非常に高いです。

検索キーワードに応じた柔軟な条件設定に、ぜひ活用してみてください。

Comment

コメントする

目次