Power Apps Dataverseにデータフローでリレーション付きデータをインポートする|Power Query

データフロー(Power Query)を使用して、リレーション(参照列)を含めてデータをインポートする方法を調査したので、メモ。

スポンサーリンク

やりたいこと

例えばこんな感じで親テーブルと、
子テーブルがあって、
親テーブルと子テーブルが「1:N」のリレーションでつながっているとする。

このときに、CSVとかから子テーブルに「リレーションを含めて(親テーブルを参照列に指定して)データをインポートしたい」ときのお話。

デフォルトではリレーションはインポートできない

何も設定せずに「データフローでデータをインポート」から、
子テーブルに対しデータをインポートしようとすると、
Parentテーブルへの参照列を選択することができない。

解決方法:リレーションを含めたデータをインポートするときは「キー」を指定する

解決方法は、参照される側(親側)のテーブルにキーとなる列を指定すること。

まず、参照される側のテーブル(今回はParentテーブル)に一意の値が入る列(IDとかオートナンバーとか)をつくり、[キー]を押す。
[新しいキー]から先ほどの一意の値が入る列を選択して、キーを保存する(名前はわかりやすければなんでもOK)。
以上で準備は完了。

再度インポートすると

こんな感じで、先ほど設定した親テーブルのキー列の値を含むCSVを用意して、
再度子テーブルに対しインポートをしようとすると、
キー列を指定できるようになっている。
CSVに入力した値とマッピングして、
[公開]を押すと、
無事、リレーションを含めたデータのインポートが完了する。

ということで、リレーションを含めたデータインポートをしたいときは、参照される側のテーブル(親テーブル)にキーを追加する必要がある。

コメント

タイトルとURLをコピーしました