【MotionBoard】データソース（テーブル）の結合方法と結合条件の設定

# はじめに
MotionBoardではチャートのデータソースとして複数のデータソース（テーブル）を結合して１つのデータソースのように扱うことができます。
（ウイングアーク１ｓｔ社の公式マニュアル上では[結合データソース](https://cs.wingarc.com/manual/mb/6.3/ja/UUID-4e2d2d42-6a03-fe34-826e-3025d782c0c4.html#UUID-6503c85a-e984-f214-5284-f4fe135030d1_section-idm4543371222848032878864727605 "https://cs.wingarc.com/manual/mb/6.3/ja/UUID-4e2d2d42-6a03-fe34-826e-3025d782c0c4.html#UUID-6503c85a-e984-f214-5284-f4fe135030d1_section-idm4543371222848032878864727605")という呼び方をしているようです。）
この記事では、データソース（テーブル）の結合方法と結合条件について説明します。
なお、画面キャプチャはバージョン6.0のものですが、他のバージョンでも基本的には共通していると思います（細かい部分で違いがあったらすみません）。

# データソースの結合方法

データソースエディタ画面の[データソース選択]から、DS1・DS2・DS3...タブに、結合したいデータソース（テーブル）をセットします。※タブは「＋」ボタンをクリックすると更に増やせます
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/b8d4b266-eb71-08a5-1c41-812afeddff4a.png)
データソースエディタ画面で、行項目・列項目・集計項目に項目をセットします。
DS1のデータソース（テーブル）を基準として、行項目・列項目にセットした項目が結合キーとなり、選択した結合条件に従いDS1～DS3...のデータが結合され、集計項目にセットした項目で集計されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/5bdec964-7fdf-af73-cca3-23c9ac1ac50b.png)

:::note info
補足
・[項目一覧]の項目はデータソース（テーブル）ごとに異なる文字色で表示されます（上記例では黒字がDS1、赤字がDS2、緑字がDS3の項目です）。
・「DS2以降にDS1と同じ名前の集計項目があれば合計する」にチェックを入れると同名の集計項目の値が合算されます。
・結合キーとして各データソース（テーブル）に同一名称の項目が必要です。
もし名称がテーブルごとに微妙に異なって一致しない場合は、項目の別名にDS1と同様の名称を設定することで結合キーとして認識されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/7de3dcec-b314-0a53-8a8e-a20800df0673.png)
:::

# 結合条件

MotionBoardのデータソース（テーブル）結合条件には、下記の４種類があります。
データソースエディタの[結合条件]のプルダウンから指定します。

① 左外部結合
② 内部結合
③ 完全外部結合
④ 完全内部結合
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/6d30720d-c8d7-5a53-a049-0ae42afc4b79.png)


# ① 左外部結合

DS1の全データと、DS2以降の結合キー（行・列項目）で結合されたデータが表示されます。
例えば下記3つのデータソース（テーブル）を左外部結合すると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/44731f24-a84b-247d-fa39-c6fd430f3438.png)
チャートは下記のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/0b108663-7288-8f6e-651c-1a21f31b0f5d.png)

:::note info
「DS2以降にDS1と同じ名前の集計項目があれば合計する」にチェックを入れておくことで、東北支店の予算がDS1の"100"とDS3の"300"が合算されて"400"になります。
:::

# ② 内部結合

DS1と、DS2以降の各データソース（テーブル）間で結合キー（行・列項目）で結合されるデータが表示されます。
例えば下記3つのデータソース（テーブル）を内部結合すると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/d5630b6e-58fe-b13d-af44-b8abeece1e9d.png)
チャートは下記のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/4348538d-53bd-a494-6fd5-d93e796f1700.png)

# ③ 完全外部結合

全データソース（テーブル）の全データが表示されます。
例えば下記3つのデータソース（テーブル）を内部結合すると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/d997cf65-50ca-f687-150a-e50a60dba930.png)
チャートは下記のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/84bf8f33-5a6f-e1b8-1c63-4b522c71e715.png)

# ④ 完全内部結合

全データソース（テーブル）を通じて結合キー（行・列項目）で結合されるデータのみが表示されます。
例えば下記3つのデータソース（テーブル）を内部結合すると、
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/66959ce6-1e74-8946-8309-64e34053f25d.png)
チャートは下記のように表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2780637/6cb17c43-6bfe-37e6-1909-ff34c89eb7e5.png)

以上となります。
結合データソース、チャート作成のお役に立てたら幸いです。