記事公開日
XrmToolBoxの「Clone Field Definitions」でDataverseの列を一括コピーする方法

Dataverseのテーブル設計において、複数のテーブルで同じような列が必要となる場面も多いと思います。
それぞれのテーブルに列を一つずつ作成し、スキーマ名/表示名/データ型 などを都度確認・設定するのは
時間と手間がかかり、設定ミスのリスクもあります。
そこで今回は、一度作成した列を別テーブルへ複製できる便利ツールをご紹介します。
XrmToolBoxのダウンロードや、Tool Libraryから今回使用するClone Field Definitions などのツールを
インストールする方法については、前回ブログをご確認下さい。
Clone Field Definitions
Clone Field Definitionsは、Dataverseのテーブルにある「列(フィールド)」の設定を、
別のテーブルへ簡単にコピーできるツールです。
Dataverseで複数のテーブルに同じような列を作る時に便利なツールとなっています。
実践:Dataverseテーブル間で列をコピー
Clone Field Definitionsのインストールが完了したら、さっそく使ってみます。
今回は、SampleTable1の選択している5列を、SampleTable2にコピーしてみます。
SampleTable2は事前に作成しておきます。
「Tools」タブから、インストールした「Clone Field Definitions」を選択します。
初期画面は以下状態です。
画像の赤枠部分を、以下設定にしていきます。
(接続している環境のテーブル一覧がプルダウンから選択可能です。)
・Source Entity:コピー元のテーブル
・Target Entity :コピー先のテーブル
テーブルを選択すると、「Source Entity」で設定したテーブルのクローン可能な列が表示されます。
コピーしたい列にチェックを付け、「Clone selected Fields」をクリックします。
クローン中は以下画像のように、進捗状況が表示されます。
Success画面が出たら、クローン完了です。
列コピー後のテーブルの確認
Sample2を確認してみます。
左がコピー元のテーブルの列で、右がコピー先のテーブルの列です。
表示名や説明、スキーマ名などが元の設定通りにコピーできていることが確認できます。
はいいいえ列についても、基本的にはコピーできておりますが、
「必須項目」となっていた部分が、コピー後には「任意」と設定されていました。
整数列の最小値・最大値は設定値通りにコピーできています。
ただし、コピー後の必須設定は任意と変更されています。
検索列もコピーできてます。
選択肢列についても、グローバル選択肢の設定がきちんとコピーできていました。
まとめ
いかがでしたでしょうか。
「Clone Field Definitions」を使えば、Dataverseの列作成作業を簡略化できます。
手作業で列を一つずつ設定する際、表示名/スキーマ名/データ型/選択肢 といった設定を1から繰り返すのは
手間と時間がかかるうえ、設定ミスも起こりやすくなります。
本ツールを活用することで、こうした単純作業を減らし、開発効率を向上させることが可能です。
ただし、完璧にすべての設定値がコピーされるわけではない点にご注意ください。
特に、今回の検証から、必須設定(必須/推奨項目/任意)はコピーされず「任意」となるケースがあるため、コピー後に手動での再確認・修正が必須となります。
その他の設定についても、想定外の挙動がないか、利用される際はコピー後の設定値をきちんと確認いただくようお願いいたします。
※このブログで参照されている、マイクロソフト製品およびサービスは、米国およびその他の国におけるマイクロソフトの商標または登録商標です。
※その他の会社名、製品名は各社の登録商標または商標です。