データサイエンス100本ノックをAlteryxで。8日目(解答)

100本ノックタイトル 100本ノック

このページは解答編です。

↓ネ

↓タ

↓バ

↓レ

↓防

↓止

答えと解説

設問はこちらでした。

P-008: レシート明細データ(receipt.csv)から売上日(sales_ymd)、顧客ID(customer_id)、商品コード(product_cd)、売上金額(amount)の順に列を指定し、以下の全ての条件を満たすデータを抽出せよ。

  • 顧客ID(customer_id)が”CS018205000001″
  • 商品コード(product_cd)が”P071401019″以外

解答ワークフローは以下のようになります。

特定のフィールドの特定の条件に一致したレコードを抽出する場合は、フィルターツールを使用しますが、今回は条件2つです。

1. 複数のフィルターツールで結果を出す

まずは、二つの条件ということで複数のフィルターツールで実行してみたいと思います。ワークフローとしてはこのような形になります。

シンプルな検索条件の場合は、「基本フィルター」を使用します。

まず1つ目のフィルターツールです。フィールドは「customer_id」、演算子は「等しい」、値は「CS018205000001」となります。

次に2つ目のフィルターツールです。フィールドは「product_cd」、演算子は「等しくない」、値は「P071401019」となります。今回のポイントは、こちらの条件が「以外」ということかと思います。要するに一致しない、ということなので「等しくない」という演算子を選びます。

2. 複数条件を一つのフィルターツールで実現

次に、1つのフィルターツールで完結する方法を紹介します。ワークフローとしては以下のような形になります。

複数条件を1つのフィルターツールで実現する場合は「カスタムフィルター」を使います。

それぞれの条件式は、以下の通りとなります。

まず、最初の条件は「顧客ID(customer_id)が”CS018205000001″」です。

[customer_id] = "CS018205000001"

次の条件は、「商品コード(product_cd)が”P071401019″以外」です。「以外」の場合は「一致しない」ということなので、「!=」という演算子になります。

[product_cd] != "P071401019"

この二つを組み合わせるには、今回両方を満たす条件ということで、「AND」条件となります。つまりこの二つの条件をANDで結合します。

[customer_id] = "CS018205000001" AND
[product_cd] != "P071401019"

解答ワークフローダウンロード

コメント

タイトルとURLをコピーしました