このページは解答編です。
↓ネ
↓タ
↓バ
↓レ
↓防
↓止
答えと解説
設問はこちらでした。
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"
コメント