
データ分析を行う際、特定の条件を組み合わせたフィルタが必要になる場面が多くあります。特に「AかつB」という複数の条件を満たすデータのみを除外したい場合、単純にフィルターを重ねるだけでは意図しないデータまで削除されてしまうことがあります。
今回は、ECサイトの注文データを例に、Exploratoryを使用して「支払い方法がコンビニ払い」かつ「注文ステータスがキャンセル」という特定の組み合わせのみを除外する方法について解説します。
複数の条件を指定してデータを除外しようとする際、個別に「等しくない」というフィルタにて、演算子にANDを使ってしまうとより多くのデータが除外されることがあります。
例えば、「注文ステータスがキャンセル」を除外するフィルターと、「支払い方法がコンビニ払い」を除外するフィルターを順番に適用すると、ステータスがキャンセルであれば支払い方法に関わらず除外され、また支払い方法がコンビニ払いであればステータスに関わらず除外されてしまいます。
今回使用するデータは、1行が1注文を表すECサイトの注文データです。このデータには「注文ステータス」や「支払い方法」といった列が含まれています。

例えば、注文ステータスがキャンセルで、支払い方法がコンビニ払いの組み合わせのデータのみを取り除きたいとします。
UIで実行をする場合は、列ヘッダメニューの「フィルタ」から「等しくない」といった演算子を使って実行していくことになります。

注文ステータスがキャンセルのデータを除く場合

支払い方法がコンビニのデータを除く場合

これらの複数のフィルタを一つのステップで実行をしていくことで、複数の条件を掛け合わせるときの演算子としてデフォルトではANDが使われます。

しかし、このANDの条件を使ったフィルタでは、注文ステータスが「キャンセル」のもの、支払い方法が「コンビニ」が全て取り除かれています。

今回実施したいことは、注文ステータスが「キャンセル」かつ支払い方法が「コンビニ」のデータのみを取り除きたいです。
そのため、論理演算子を「OR」に変更をします。

これによって注文ステータスが「キャンセル」かつ支払い方法が「コンビニ」のデータのみを取り除くことができました。

しかし、この論理構成は直感的に理解しにくい場合があるため、操作ミスを防ぐためにはAIプロンプトの機能もおすすめです。
Exploratoryの「AIプロンプト」機能を使用することで、複雑な条件式を自分で組み立てることなく、自然言語で指示を出すだけで正確なフィルタが実行できます。
テーブルビューから「AI データ加工」を選択します。

プロンプトには以下のように指定をします。
支払方法が「コンビニ払い」かつ注文ステータスが「キャンセル」の両方を満たすデータを除外してください。その際に欠損値は残してください。

実行ボタンをクリックすると、AIが自動的に適切なRスクリプト(条件式)を生成します。

実行結果を確認すると、これによって注文ステータスが「キャンセル」かつ支払い方法が「コンビニ」のデータのみを取り除くことができています。
