今回はCONTAINS(コンテインズ)関数について解説したいと思う。
CONTAINS関数とは?
CONTAINS関数は対象の文字列のデータに特定の文字列が含まれているかを判定してくれる関数だ。
例えば、サンプルスーパーストアにある多くの製品の中で
「はさみ製品だけを抽出してどれくらい売上があるのかを把握したい!」
という時にCONTAINS関数は大活躍する。
サンプルスーパーストアの実際のデータで具体例を見てみよう。下記は製品名の中で「はさみ」という文字列が含まれた製品のみを選別するためにCONTAINS関数を使用している。
製品名の中に「はさみ」というキーワードが入っているデータだけが「真」、「はさみ」というキーワードが入っていないデータは「偽」と表示されている。
このようにCONTAINS関数は対象のフィールドに指定した文字列が含まれていればTrue(真)、含まれていなければFalse(偽)を返してくれる。
この特性を利用すると下記のように「はさみ」製品の売上とそれ以外の売上を分けることができる。
上記はCONTAINS関数とIF文を組み合わせた例だが、「CONTAINS関数はIF文と組み合わせて使うことが非常に多い」というのも頭の片隅に入れておいて欲しい。
IF文に関しては下記記事で詳細を説明しているので是非参考にして欲しい。
【Tableau】IF文の使い方を具体例を含めてわかりやすく解説!
CONTAINS関数の使用方法
CONTAINS関数の使用方法は下記の通りだ。
- 対象の文字列フィールドを最初に指定
- その文字列フィールドの各データに含まれているかを確認したい文字列(1文字でも可能!)を2番目に指定
という形でCONTAINS関数は使用する。
先程の「製品名フィールドの各データに「はさみ」が含まれるかをチェックする計算式」で具体例を見てみると下記のようになる。
CONTAINS関数はこのような形で使用する。
CONTAINS関数の活用シーン
CONTAINS関数は前述の通り、IF文と組み合わせてよく使うが、例えば、下記のような場合だ。
- (IF文と組み合わせて)サイトの各記事のタイトルから記事カテゴリを作る
→Tableauが含まれていればTableauカテゴリという感じで。 - 備考欄に特定の文字列が含まれているユーザーだけをピックアップして分析を行う
個人的にはGoogle Analyticsのデータなどでページカテゴリを作る際などによく使用している。
グループ化との違い
CONTAINS関数は対象のフィールドのデータを特定の用途でまとめる時に使うことが多いので
「グループ化でも代用できるのでは?」
と聞かれることもよくある。
しかし、CONTAINS関数はこれから値の種類が増えていく場合にも対応できる点でグループ化より便利だ。
例えば、商品名フィールドの中で「パン」に関係する商品の売上とその他の商品の売上を分けて把握したい時などだ。
新商品が出てきた場合もCONTAINS関数ならば、名称に「~パン~」と入っていれば、何もしなくても新商品のデータも「パン」に関係する商品とその他の商品に分けてくれる。
一方、グループ化は現状の商品をグループ化するため、新商品が出てきた場合に都度グループ化をする必要があり、現実的ではない。
このように
- 値の種類がどんどん増えていく場合はCONTAINS関数を使用
- 都道府県データから地域(関東地方など)フィールドを作成する場合など値の種類が増えない場合はグループ化を利用
という区分けがおすすめだ。
まとめ
今回はSPLIT関数やLEFT関数などと同じ文字列関数の1つであるCONTAINS関数をご紹介した。
繰り返しになるが、IF文と組み合わせて活用することが本当に多いので、IF文の使い方と合わせて是非覚えてもらえると良いと思う!
他の文字列関数を知りたい方は下記で解説しているのでぜひ読んでほしい。
【Tableau】文字列関数の使い方まとめ!使用頻度別にわかりやすく解説