Bakery and weather data を使用して、天気と売れ筋商品TOP3をSPSS Modelerで見てみた。（その３ - 天気で売れ筋商品に違いが出てくるか確認）

## はじめに

この記事は、IBMのサンプルデータをSPSS Modelerを使って読み解いていこうというものです。今回は連載３回目となります。この回では、天気で売れ筋商品に違いが出てくるか確認していきたいと思います。

#### シリーズ目次
 
- [Bakery and weather data を使用して、天気と売れ筋商品TOP3をSPSS Modelerで見てみた。（その１- 全データのTOP3を確認する）](https://qiita.com/Asuka_Saito/items/a04e6350a7b056d2fcf3)
 
- [Bakery and weather data を使用して、天気と売れ筋商品TOP3をSPSS Modelerで見てみた。（その２ - データを俯瞰して見る）](https://qiita.com/Asuka_Saito/items/477092d21ffd8f0c90ec)

- [Bakery and weather data を使用して、天気と売れ筋商品TOP3をSPSS Modelerで見てみた。（その３ - 天気で売れ筋商品に違いが出てくるか確認）](https://qiita.com/Asuka_Saito/items/8d49f7d7d5f176144d2c)


#### 1. 天気別にデータを抽出(条件抽出ノード) 

条件抽出ノードを使って、天気別に売上を上位から見ていきたいと思います。
![条件1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/0f0d48ee-b188-8ce6-ed70-c1505cce6d80.png)


##### 1-1. 条件抽出ノードを使うまでの下準備

これまで、使ってきた可変長ファイルノード、レコード集計ノード、ソートノードを使って、条件抽出ノードを使うまでの下準備をします。

初めに、「Bakery and weather data.csv」を、 SPSS Modelerのストリーム領域にドラッグ＆ドロップして追加します。(可変長ファイルノード)

次に、レコード集計ノードをストリーム領域にドラッグ＆ドロップして追加します。

可変長ファイルノードとレコード集計ノードを矢印で繋ぎます。

![条件2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/7a644d7d-4aba-753e-92c5-284635e0b2fc.png)

レコード集計ノードをダブルクリックして設定画面を開き、「キーフィールド」にWeatherとProduct、「集計フィールド」で合計にチェック、「フィールドにレコード度数を含める」にチェックを入れます。「OK」をクリックします。

![条件3.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/935f26f8-6e75-a048-cabc-408733c2d79c.png)

次に、ソートノードをストリーム領域にドラッグ＆ドロップして、レコード集計ノードから矢印で繋ぎます。

![条件4.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/701f6251-ef09-4aef-f76c-f4bafc3074eb.png)

ソートノードをダブルクリックして設定画面を開き、「Sales in USD_Sum」を降順に設定して、「OK」をクリックします。

![条件5.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/0022c85d-624e-da0e-e641-20c470234632.png)

ここまでで、条件抽出ノードを使う準備ができました。ちなみに、この状態でレコードがどうなっているか知りたいときは、テーブルノードをストリーム領域に追加して、ソートノードから矢印で繋ぎ、テーブルノード上で「実行」します。

![条件6.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/f27d7aa5-8f76-9822-e2bc-4a0bfde096d5.png)

![条件7.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/fe9f4a95-7e6c-82ca-e16f-34623f155aea.png)

天候データが混ざった状態でデータが表示されています。

![条件8.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/73b3b71d-d0bb-6799-7303-7c42c0e96be8.png)



#### 2. 天気で売れ筋商品に違いが出てくるか確認する。

##### 2-1. 条件抽出ノードを使って、任意のデータを抽出する。

条件抽出ノードをストリーム領域にドラッグ＆ドロップして、ソートノードから矢印で繋ぎます。

![条件9.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/a1317172-0bcf-382e-5a04-0208384ba5e7.png)

条件抽出ノードをダブルクリックして設定画面を開き、「モード」を含めるに設定して、「条件」で「Weather = "Sunny"」と記載し、「OK」をクリックします。

![条件10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/091b3100-75c0-489c-fa77-260f3326cce3.png)

※同様の手順で、Cloudy , Rainy, Snowy 分の条件抽出ノードを追加します。

最後に、テーブルノードをストリーム領域にそれぞれ追加し、各条件抽出ノードから矢印で繋ぎます。

![条件11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/d4573b81-ae39-f0f1-12c5-dfefc5a72ccb.png)

各テーブルノードに「レコードの強調表示」というものがあるので「@INDEX  <= 3」を設定しておくと見やすいです。

![条件13.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/5cc35b76-d97c-cc18-48cc-30c810aa8820.png)

条件抽出ノードで設定した全てのストリームを一度に実行します。ツールバーの三角マーク（現在のストリームを実行（このストリーム領域にある全てのストリーム））をクリックします。

![条件12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/ab2fbf0c-e537-061d-d46d-ca3d02734e6e.png)

4つの結果を得ることができます。
![条件14.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/9a10ec9b-b26b-bcda-07b9-8bcef9cc2b5f.png)


#### 3. まとめ

4つの天候の売上TOP3商品を確認したところ、どの天候でも 売上こそ違うものの、
🏆　Red Velvet Cupcake
🏆　Cold Brew Coffee
🏆　Light Roast Coffee
ばかり売れていますね。コーヒーとカップケーキの有名店なのでしょうか・・

Sunny以外の天候でも足を運んでもらえるようにするには、この強みを活かして、カップケーキ雨の日割引などした方がいいのでしょうかね。

きょうのおやつはカップケーキ（できるだけ赤いやつ！）とブラックコーヒーをいただきたくなってしまいました。

![cake.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/435996/80dc38b8-6a55-fa39-21dc-d919d47bea13.png)



あまり結果に違いはありませんでいたが、ここまでお付き合いいただきありがとうございました。
:wink::sunny: