日付の列から決算日に応じた四半期の列を作成する(SPSS Modeler データ加工逆引き1-11)

# 日付の列から決算日に応じた四半期の列を作成（スーパーノード）

![スクリーンショット 2022-08-08 15.14.40.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/aa80ea2a-5650-7689-69b9-7ae5a4790194.png)

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

・基礎集計のための前処理
・効果試算/検証のための前処理

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

https://github.com/yoichiro0903n/blue/blob/main/fiscal%20quarter.str?raw=true

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

![スクリーンショット 2023-08-21 8.57.12.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a247111f-8f5c-152c-e997-ff3bc542eca6.png)

a.入力するデータは以下の通りです。
![スクリーンショット 2022-08-08 14.56.51.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/b64f3f50-ba00-9798-a499-68686a63a80a.png)

#### 12月末決算の場合

b.[フィールド作成]ノードを編集します。
![スクリーンショット 2022-08-08 16.54.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/ac93d9dd-3420-9c4c-51b2-3ff54ebd7658.png)

式ビルダーの日付関数を利用すると便利です。
![スクリーンショット 2022-08-08 16.55.00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/29578fdc-de34-46bf-f37d-9be46f8559c0.png)

[プレビュー]します。四半期が求まりました。
![スクリーンショット 2022-08-08 16.55.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/c5e82f07-37e8-ef3c-14fa-2d4635b749c0.png)

c.[フィールド作成]ノードを編集します。
![スクリーンショット 2022-08-08 16.56.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6e536cfa-b93c-8925-70df-0d95db40ef5f.png)

d.[フィルター]ノードを編集します。
![スクリーンショット 2022-08-08 16.57.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/115c74b2-cb07-4455-ad08-e3ae5ac99f0f.png)

[プレビュー]します。
![スクリーンショット 2023-08-21 9.03.52.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/652cb5b5-20a8-71cc-93df-b2a4ebebfabe.png)

#### 3月末決算の場合

e.[フィールド作成]ノードを編集します。

![スクリーンショット 2022-08-08 17.02.55.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/763a08ff-184b-3c95-b710-f1e1be7ba483.png)

f.[フィールド作成]ノードを編集します。1月から3月は前の年になるように調整します。

![スクリーンショット 2023-08-21 8.55.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/b32b3b00-1a4d-25dd-e16c-73ea0e738265.png)

[テーブル]を実行します。
![スクリーンショット 2022-08-08 15.06.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/30ff8c8d-2a6b-981f-1def-fe5f208e937d.png)

####　任意の日付けを決算日としてパラメータから確定する

g.スーパーノードを[ズームイン]します。
![スクリーンショット 2022-08-08 15.21.32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/eca91a1d-41af-5dc5-fb9c-832ba488168e.png)

スーパーノードでは[年]と[月]をそれぞれパラメータとして定義しています。
![スクリーンショット 2022-08-08 17.12.26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/6fbf9195-d839-f500-bf8a-a53984745dcc.png)

スーパーノードとパラメーター設定はこちらの記事で解説しています。

https://www.ibm.com/blogs/solutions/jp-ja/spssmodeler-push-node-20/


g-1.[フィールド作成]ノードを編集します。&#36;P-に続けてパラメータ名を呼び出せます。
![スクリーンショット 2022-08-08 15.21.57.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/27018232-2abc-d6c8-702e-0c2eba3f6931.png)

[プレビュー]します。パラメータの月と日の翌日を決算開始日にしています。年は対象列の年をそのまま使います。
![スクリーンショット 2022-08-08 15.22.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/a23ef3cd-5f50-73e7-2e6a-11b867a313f4.png)

g-2.[フィールド作成]ノードを編集します。決算開始の3ヶ月を計算しています。6ヶ月と9ヶ月も同じ式を利用します。基準日以降の４四半期の開始日を作ります。
![スクリーンショット 2022-08-08 15.26.25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/de91fd8c-8eaa-5c54-b842-fb21dca32a2c.png)

Nヶ月先の計算は少し複雑ですが以下で詳しく解説しています。

https://qiita.com/416nishimaki/items/85d42d7e54a42d426f3e

g-3.[フィールド作成]ノードを編集します。基準日の1年前を求めています。ここは単純に年から1を引いています。
![スクリーンショット 2022-08-08 15.27.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/798fc99c-99d0-8a3c-7206-b98433bd1992.png)

g-4.[フィールド作成]ノードを編集します。基準日の1年後を求めています。
![スクリーンショット 2022-08-08 15.27.56.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/889a81a3-eb54-b5cb-c1d0-ca34384af0b5.png)

[フィールド順序]ノードで[プレビュー]します。基準日からの四半期をtとすると前後4つの四半期の基準日が作成されました。
![スクリーンショット 2022-08-08 15.29.58.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/02d08666-2f3b-3b90-4730-c62b7da5624d.png)

g-5.[フィールド作成]ノードを編集します。対象日がどの基準日の範囲に入るかで分類しています。
![スクリーンショット 2022-08-08 15.30.29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/2b963887-a9a3-7e8d-51a5-5643ad777de2.png)

[プレビュー]します。
![スクリーンショット 2022-08-08 15.04.31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/286322/e37123e9-abde-1ad2-56fc-1fbc83319a0f.png)

#### 注意事項

スーパーノードでは2月29日を決算日にする想定をしていません。2月28日にして計算するか個別に設計ください。それ以外の365日には対応しています。

## 4.参考情報

#### よく使う「日付と時間」関数

https://qiita.com/Makimaki2020/items/72e3b774039327fa4ac4

https://qiita.com/kawada2017/items/c41f443e5246d331bea1

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

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

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

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