カスタム・フィルタ: ANDとORを組み合わせた条件を設定したい

Exploratoryのフィルター機能では、通常のUIで設定できる条件に加えて、カスタムフィルターを設定することでAND条件とOR条件を組み合わせた複雑なフィルター条件を設定することができます。これにより、より柔軟なデータ抽出が可能になります。

役立つ人

複数の条件を組み合わせてデータをフィルタリングしたい方にお役立ていただける機能です。

問題

チャートで複数の条件を設定する際、通常のUIではすべてAND条件またはすべてOR条件として設定することはできますが、「性別が男性で、かつ年齢が40歳以上または管理職」のようなAND条件とOR条件が混在する複雑な条件を設定することができません。

解決方法

カスタムフィルター(フィルタダイアログのカスタムタブ)を使用することで、AND条件とOR条件を組み合わせた複雑なフィルター条件を設定することができます。

今回は1行が1人の従業員のアンケート回答を表し、列には性別、年齢、管理職などの属性と5段階評価の回答項目が含まれているデータを利用します。

また今回はこのようなデータを使ってあらかじめ、以下のようなデータフレームの内容をそのまま表示したテーブルをチャート・ビューで作成しています。

今回は、チャートを例に基本的なフィルターの使い方を確認します。

チャートフィルターを追加するため、フィルターボタンをクリックします。

フィルターダイアログが表示されたら、列に「性別」を選択し、演算子に「等しい」を選択し、値に「男性」を選択して実行ボタンをクリックします。

これで性別が男性のデータのみが表示されるようになりました。

複数条件のフィルター設定

次に複数の条件を追加してフィルターを設定します。

プラスボタンをクリックして、新しいチャートフィルターを追加します。

列に「年齢」を選択し、演算子に「以上」を選択し、値に「40」を入力して実行ボタンをクリックします。

これで2つの条件でフィルターすることができました。この時、左側にAND記号が表示されており、「性別が男性」かつ「年齢が40歳以上」という条件になっています。

ANDとORの切り替え

AND条件をOR条件に変更したい場合、AND記号をクリックしてORに変更することができます。

OR条件はRの記法に従い、縦棒(|)で表されます。この場合、「性別が男性」または「年齢が40歳以上」という条件になります。

カスタムフィルターの使用

ここからが本題で、「性別が男性で、かつ年齢が40歳以上または管理職」のような複雑な条件を設定する方法を説明します。

新しくフィルターを追加するため、プラスボタンをクリックし、「カスタム」を選択し、カスタムフィルターのダイアログが開いたら、条件式を入力していきます。

入力すべき条件は通常のフィルタダイアログからの確認が可能です。例えば、年齢フィルターのダイアログでは、フィルタのダイアログに下部に「年齢 >= 40」という条件式が表示されています。

同様に性別フィルターのダイアログを確認すると、「性別 == “男性”」という条件式が表示されています。

入力すべき条件式を理解できたので、カスタムフィルターの入力欄に条件式を記述していきます。まず「性別 == “男性”」と入力します。

半角スペースを入力するとサジェストが表示され、AND条件かOR条件かを選択できます。性別が男性であることは共通条件なので、ANDを選択します。

続けて「年齢 >= 40」と入力します。

再び半角スペースを入力してサジェストを表示し、今度はOR条件を選択します。

最後に管理職の条件を「管理職 == “はい”」と設定します。

括弧によるグループ化の重要性

ここで重要なポイントがあります。このまま実行すると、AND条件が優先されるため、「性別が男性かつ年齢が40歳以上」または「管理職がはい」という条件になってしまい、女性の管理職もデータに含まれてしまいます。

意図した条件である「性別が男性で、かつ(年齢が40歳以上または管理職)」とするためには、括弧を使って条件をグループ化する必要があります。年齢と管理職の条件を括弧で囲むことで、OR条件を先に評価させることができます。

条件式を「性別 == “男性” & (年齢 >= 40 | 管理職 == “はい”)」のように修正し、実行ボタンをクリックします。

カスタム以外で設定していたフィルタは不要なので削除します。

結果の確認

フィルター結果を確認します。年齢をソートして確認すると、上は69歳、

下は21歳までのデータが含まれています。

20代や30代のデータを確認すると、これらの人たちは全て管理職が「はい」になっています。

一方、40歳以上の人たちは、管理職であってもそうでなくても全てデータに含まれています。

また、どの行を確認しても性別は全て男性になっており、意図した通りのフィルター条件が適用されていることが確認できます。

ビデオ

参考情報

Export Chart Image
Output Format
PNG SVG
Background
Set background transparent
Size
Width (Pixel)
Height (Pixel)
Pixel Ratio