コボットPortal

データテーブルをマージ

2つのデータテーブルを結合する「データテーブルをマージ」アクテビティについてです。

目次
  1. アクティビティのプログラム名
  2. 説明
  3. プロパティ
  4. 使い方(列定義が同じ場合)
  5. 使い方(列定義が異なる場合)


1. アクティビティのプログラム名

RCA.Activities.Core.MergeDataTable


2.説明

  クイックアクセス: 「ツールボックス」 > 「データテーブル」 > 「データテーブルをマージ」

2つのデータテーブルを結合するアクティビティです。

※動作を確認したコボットStudioのバージョン:2.0.1.6
※バージョンによって文言などが一部異なる場合がございます


3.プロパティ

プロパティ項目プロパティ名入力欄説明
オプションスキーマがない時の動作ドロップダウン選択マージしたいテーブルの列定義が異なる場合のマージ方法を選択。
「Add」…「ソース」「マージ先」に存在するすべての列で構成される。
「Ignore」…「ソース」のみに存在する列は無視する。
「Error」…「ソース」「マージ先」の列定義が異なる場合はエラー。
「AddWithKey」…「ソース」「マージ先」に存在するすべての列に主キー情報を追加し列定義を構成。
その他パブリックチェック項目ログにアクティビティ内の変数と引数がログファイルに書き込まれ、Centerにプッシュされる。
表示名値を入力(String型)デザイナーパネルのアクティビティ名に反映される。
入力ソース
値を入力
(DataTable型)
「マージ先」のデータテーブルにマージされるデータテーブルを指定。
マージ先値を入力
(DataTable型)
「ソース」のデータテーブルのマージ先データテーブルを指定。


4.使い方(列定義が同じ場合)

マージしたい2つのデータテーブルが同じ列定義の場合、上の説明のように、「マージ先」のデータテーブルの後ろに「ソース」のデータテーブルが追加されます。

「データテーブルをビルド」で作成したデータテーブルに、同じ列定義のデータテーブル「addRateData」を結合しましょう。

「データテーブルをビルド」で作成したデータテーブル「rateTable」

●結合したいデータテーブル「addRateData」

アクティビティ「データテーブル > データテーブルをマージ」を、ツールボックスからデザイナーパネルにドラッグ&ドロップで配置します。

プロパティの「入力 > ソース」に、追加データとなるデータテーブルの変数「addRateData」を指定します。プロパティの「入力 > マージ先」に、追加先データテーブルの変数「rateTable」を入力します。

「ホーム > スタート」をクリック、または、「F5キー」押下で実行すると、データテーブル「rateTable」に「addRateData」のデータが追加されます。

※データテーブルを出力し確認する場合は、「データテーブルを出力」で文字列に変換し「1行を書き込む」で出力パネルに表示したり、「行ごとに処理」でメッセージボックスに表示してください。

※例では、マージ先に指定した「rateTable」をデータテーブルに出力することにより、元々の「rateTable」にソースに指定した「addRateData」が結合された内容が出力されています。



5.使い方(列定義が異なる場合)

マージしたい2つのデータテーブルの列定義が異なる場合、オプション「スキーマアクションがない時の動作」のプロパティ値により、マージ後の列定義が変わります。

以下は、「マージ先」データテーブルと「ソース」データテーブルの、プロパティ値別マージ結果になります。(※プロパティ値「AddwithKey」についてここではふれません。列の定義は「ソース」「マージ先」に存在するすべての列と主キー情報です。)

●「マージ先」データテーブル

社員番号氏名部署名
0001コボット001経理

●「ソース」データテーブル

社員番号氏名勤務地
0002コボット002本社


・プロパティ値が「Add」の場合

「ソース」「マージ先」に存在するすべての列が定義されます。追加された列の値は、規定値が設定されている列の場合は規定値で補完され、規定値が設定されていない場合はNullで補完されます。そのため、Null値を許可せず、かつ、規定値の指定がない列を補完する場合エラーとなります。

社員番号氏名部署名勤務地
0001コボット001経理
0002コボット002
本社


・プロパティ値が「Ignore」の場合

「ソース」のみに存在する列(この場合は「勤務地」)は無視されます。「ソース」に定義されていない列の値は、規定値が設定されている列の場合は規定値で補完され、規定値が設定されていない場合はNullで補完されます。そのため、Null値を許可せず、かつ、規定値の指定がない列を補完する場合エラーとなります。

社員番号氏名部署名
0001コボット001経理
0002コボット002


・プロパティ値が「Error」の場合

「マージ先」と「ソース」の列定義が異なる場合、マージされずエラーとなります。この例では、エラーとなります。

印刷
松本 is the author of this solution article.

この回答は役に立ちましたか? はい いいえ

フィードバックを送信
お役に立てなくて申し訳ありません。フィードバックを残し、このアーティクルを改善するのにどうかご協力ください。