Simple Data Integrator (SDI) 実践入門：データの監視、検知 (イレギュラーデータや欠落データ、不整合データなどの検知）

# はじめに
Simple Data Integrator (SDI) には、データ連携が成功した場合、失敗した場合、対象データがない場合のそれぞれに通知する機能があります。その機能を活用して、イレギュラーデータや欠落データ、不整合データなどを検知し、通知することができます。

# イレギュラーデータ検知例
イレギュラーデータの検知方法は、イレギュラーデータ検知のSQLを使用してデータを抽出し、CSVへエクスポートします。処理が成功した場合はメールで通知します。

## データチェック要件例
社員マスタの中で、誕生日が現在日付以降のデータをチェックして抽出します。

## マッピング処理フロー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/77b32148-b369-11cc-6b80-8190c532a419.png)

## 設定方法
### コネクション設定
SourceおよびTargetへの接続を設定します。
SourceはOracle、TargetはCSVファイルです。
設定方法については、下記の記事を参照してください：
https://qiita.com/RiCCT/items/787a41bb54277a3b26c2

|ソースコネクション名|ターゲットコネクション名|
|-|-|
|HRMS_ORACLE<br /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/cef61245-bd0d-a64c-0953-f050df793b57.png" width="300">|CSV_EXPORT<br /><img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/220da700-5350-684e-afd4-c6e3fb95742d.png" width="300">|

### マッピング設定
#### 1 .「新規マッピング」ボタンをクリックして、マッピング設定画面を開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/a55e5ced-619b-975f-37db-4a50437b4993.png)

#### 2 . ソースコネクション、クエリ、ターゲットコネクション、CSV名を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/113b70cb-2e2d-7594-bfb7-835008702228.png)


|No|項目|説明|
|----|----|----|
|1|マッピング名 |マッピング名を入力します。任意の名前を設定できますが、システムは名前の重複チェックを行わないため、管理上ユニークな名前の設定をお勧めします。 |
|2|ソースコネクション| HRMS_ORACLEを選択|
|3|タイプ |クエリを選択|
|4|クエリのSQL詳細 | SELECT * <br />  FROM EMP<br /> WHERE BIRTHDAY>SYSDATE|
|5|コネクションコネクション| CSV_EXPORTを選択|
|6|CSVファイル名| 出力のCSVファイル名を入力|
|7|カラム一覧取得 |`カラム一覧取得`ボタンをクリックして、テーブル定義明細を取得します。|
|8|マッピング対象 |CSVファイルに出力するカラムを選択します。|


#### 3 . メール送信設定
##### 3.1 `詳細設定`　ボタンをクリックして、詳細設定画面を開くます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/1a5cb4b6-1134-988c-bc9e-ac3a35ad8a11.png)

##### 3.2 処理フロー画面上、処理成功時処理　`Yes` を選択。その下の`詳細設定`ボタンをクリックして、メール送信内容を設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/cb0f7f66-d19e-7c14-bf3d-fb562116e342.png)

##### 3.3 メール内容設定 
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/11068b18-9284-35c9-c48a-99ba3cd66800.png)

:::note info
注意
:::
メール送信のために、送信メールサーバーの設定が必要です。詳細については、下記のページを参照してください。
https://ja.sdi.ricct.com/userguide/mailsetting/


|No|項目|説明|
|----|----|----|
|12|メール送信 |メール送信をチェックします |
|13|メール詳細 |送信先、件名、本文などを設定します。※複数のチェックで送信内容が類似する場合、テンプレートを設定できます。|
|14|出力されたファイル添付チェック |イレギュラーデータのCSVをメールに添付したい場合は、チェックしてください。|

 メール設定画面と処理フロー画面の`OK` ボタンをクリックして、マッピング画面に戻ります。

#### 4 . テスト実行
`マッピング実行` ボタンをクリックして、動作確認します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/402e62a6-e3ac-d3ab-d234-2a6dda6b61af.png" width="400">

イレギュラーデータが存在する場合、設定された内容のメールが送信されることを確認します。

#### 5 . 保存
`保存` ボタンをクリックして、マッピング設定を保存します。
<img src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/d2b2b877-ed05-7a27-608f-728ba61e275d.png" width="400">

#### 6 . スケジューラーに登録
適切な頻度で自動チェックするため、スケジューラーを作成してマッピングを登録します。スケジューラー設定につきましては、下記のページを参照してください。
https://ja.sdi.ricct.com/userguide/schedule/

# 欠落データのチェック
`欠落データ` - 存在するはずのデータがないことを指します。
 
欠落データチェックの場合、チェック用のSQLを用意すれば、イレギュラーデータチェックと類似の設定方法で実現できます。

メール送信の設定は`対象データない場合処理`に設定します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/8cf6de59-3e18-b6d8-a447-6427f99aab9a.png)

## マッピング処理フロー
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560129/278e3989-fda3-1cd3-771d-56e4f52e637e.png)

# 不整合データのチェック
不整合データチェックの場合、チェック用のSQLを用意すれば、イレギュラーデータチェックと同じ設定方法で実現できます。

以上です。

SDIのインストール、設定、活用方法に関するその他の情報については、下記のページをご参照ください。
[Simple Data Integrator (SDI) 実践入門](https://qiita.com/RiCCT/items/3dc109ff82546459a8b0 "Simple Data Integrator (SDI) 実践入門")

# 参考資料
[SDI日本語公式サイト](https://ja.sdi.ricct.com/ "SDI日本語公式サイト")
[SDI English Official Website](https://sdi.ricct.com/ "SDI English Official Website")
[SDIマップイング設定](https://ja.sdi.ricct.com/userguide/mapping/ "SDIマップイング設定")