ID毎に初回から3回目までのイベントを列に展開する(SPSS Modeler データ加工逆引き4-22)

# ID毎に初回から3回目までのイベントを列に展開する

![スクリーンショット 2023-08-02 8.13.50.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/cab8ec86-585f-bc1a-7256-d9c300833c5f.png)

## 1.想定される利用目的

・設備のログの順序を特徴量として加工する
・顧客の初動を特徴量として加工する


## 2.サンプルストリームのダウンロード

https://github.com/yoichiro0903n/blue/raw/main/seq_event.str

## 3.サンプルストリームの説明

![スクリーンショット 2023-08-02 8.16.23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a926f8da-54bd-ac7c-358a-493d51de8a71.png)

a.入力するデータは以下の通りです。
![スクリーンショット 2023-08-02 8.16.04.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/3d034275-c166-b990-ff9d-678a5eba5a26.png)

b.[ソート]ノードを編集します。ID毎の時系列に並び替えます。
![スクリーンショット 2023-08-02 8.18.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/94f2e9da-1472-35ad-6029-be2368707bf9.png)

[プレビュー]します。
![スクリーンショット 2023-08-02 8.18.59.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/68a87a2f-4067-746b-7a5b-c9b658c481e5.png)

c.[フィールド作成]ノードを編集します。ID毎に順序番号を作ります。赤枠の[派生]モードを[カウント]にしてカウントアップするための条件を記述します。[@&#xFFF0;OFFSET（ID,1)]は設備の1行上を参照する関数です。IDが1行上と異なったら1つカウントアップすることになります。
![スクリーンショット 2023-08-02 8.19.15.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/0cc8ea1c-4971-eb44-c8e6-a3df9ae7dc8b.png)

式ビルダーのライブラリから@&#xFFF0;関数を探すと簡単に入力できます。
![スクリーンショット 2023-08-02 8.19.44.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/feefb33d-38a8-4a2f-2723-391e62288bf8.png)

[プレビュー]をします。ID毎の順序番号が振られました。
![スクリーンショット 2023-08-02 8.20.10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/ad1daae5-e1f4-b587-0e82-fc258e967174.png)

d.[データ型]ノードを編集します。後続fの準備として強制的に[seq]の型を順序型または名義型にします。変更後　[値の読み込み]ボタンを押します。
![スクリーンショット 2023-08-02 8.21.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/44ece676-f7c9-fb84-e9f2-07f6f210207f.png)

e.[再構成]ノードを編集します。1回目から3回目までを列に展開して、[値フィールド]を[Event]にします。
![スクリーンショット 2023-08-02 8.22.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6a61356e-5d12-ab06-d934-fb88936d43ef.png)

[プレビュー]をします。新しいフィールド（列）が３つ作成されて、該当するセルにイベントが埋められました。
![スクリーンショット 2023-08-02 8.22.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/958166d4-6b2d-55f8-7e95-3a239488d73f.png)

f.[レコード集計]ノードを編集します。本来集計するべき値ではありませんが、最小値か最大値を利用します。
![スクリーンショット 2023-08-02 8.23.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/ed169c8a-5213-7958-3041-87d55f103efb.png)

[テーブル]ノードを実行します。
![スクリーンショット 2023-08-02 8.24.18.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c93ac201-f4ea-8f3a-a236-5f8f3ede252d.png)

#### 注意点

IDから同日にイベントが起きない前提でデータが準備されています。もしそれが起こる場合にはタイムスタンプを利用します。

## 4.参考情報

#### カウント型を解説した記事

https://qiita.com/kawada2017/items/7b3c279963d39043214a#3m-%E3%82%AB%E3%82%A6%E3%83%B3%E3%83%88%E5%9E%8B%E3%82%B8%E3%82%B0%E3%82%B6%E3%82%B0%E3%82%92%E8%B5%B7%E3%81%93%E3%81%97%E3%81%9F%E7%B4%AF%E7%A9%8D%E5%9B%9E%E6%95%B0modeler%E7%89%88

https://qiita.com/416nishimaki/items/8cd1fc55261fd36a9013

#### フィールド（列）への展開を解説した記事

https://qiita.com/416nishimaki/items/2519553c7cce0fc0b0e0


#### SPSS Modeler ノードリファレンス目次

https://qiita.com/416nishimaki/private/503037195081d3323eee

#### SPSS Modeler 逆引きストリーム集（データ加工）

https://qiita.com/416nishimaki/private/4bf813e6cba84b2a1008