【Power Apps】Dataverse の列定義をExcelインポートでやってみよう

はじめに

この記事では、ローコードで簡単にビジネスアプリケーションを作成できるPower Appsの機能「Excelインポート」を利用してDataverseの列定義をする方法をご紹介したいと思います。

Dataverseの列定義と言えば1列ずつ手作業で表示名やスキーマ名を入力したり、列種を設定したりするイメージがあると思います。従来の1列ずつ作成する方法だと、同じ列を複数テーブル間で共有したい時でもコピー&ペーストはできず、同じものを再度作る必要がありました。また、1件ずつ作るため、列作成の読み込み時間もかかっていました。

Excelインポートによる列定義では、共通する列はコピー&ペーストで作成でき、一気にインポートすることができます。これにより工数の削減が期待できます。

 

Power Appsとは

PowerAppsとは、ローコードで簡単にビジネスアプリケーションを作成できるツールです。ユーザーは単純な操作と、関数を入力するだけでアプリが開発でき、開発したアプリケーションはDynamics 365 Microsoft365との連携や、Power Automateによる自動化にも対応しています。

PowerAppsに関する関連記事もご参照ください。
PowerApps ポータルレコード移行ツールの比較 | BTC RPA

 

Dataverseとは 

Microsoft Dataverseは、Microsoftが提供している情報テーブルなどの構造化データと、メール、企画書、動画などの非構造化データデータ両方の保持、管理やアプリケーションの構築を支援するクラウドベースのプラットフォームです。
特にビジネスアプリケーションを開発する際に利用され、Microsoft Power Platformの一部として位置づけられています。

以下に主要な特徴をまとめます。

1. データの保存
Dataverseは、さまざまな種類のデータを安全に保存するための場所を提供します。データは「テーブル」という形式で整理され、各テーブルには異なるデータの種類(顧客情報、製品情報など)を管理できます。

2. 簡単な操作
直感的なユーザーインターフェースを備えており、ローコードでもデータの管理が可能です。ドラッグ&ドロップで簡単に操作できます。

3. 統合性
Microsoftの他の製品(例:Excel、Power BI)と容易に統合できるため、既存のデータを活用しやすいです。また、さまざまな外部データソースとも接続できます。

4. セキュリティ
Dataverseはデータへのアクセスに対してユーザーごとにアクセス権を設定可能です。これにより、機密情報を保護しつつ、必要な人にデータを共有できます。

5. 自動化と分析
Power Automateを使ってデータの処理を自動化したり、Power BIでデータ分析を行ったりすることができます。これにより、ビジネスインサイトを迅速に得ることが可能です。

6. 拡張性
必要に応じてカスタムアプリケーションを構築できるため、ビジネスのニーズに合わせて機能を拡張できます。

このように、Microsoft Dataverseはデータの管理をより柔軟にセキュアにし、ビジネスアプリケーションの開発を支援する強力なツールです。
非技術者でも使いやすい設計が魅力です。

関連記事
【Power Platform】データフローを利用したDataverseへのデータ投入 | BTC RPA

 

XrmToolBoxとは

XrmToolBoxは、Microsoft Dataverse に接続して動作するオープンソースのWindowsアプリケーションです。環境移行やテーブルスキーマの入力にも使用できます。

今回のDataverseテーブルの列一括定義には、Field Creatorを使用します。

 

Excelインポートを用いた列定義の手順

Excelファイルで列を一括作成するための手順を紹介します。

1 空のテーブルを作成

初めにからのテーブルを作成します。Field Creatorは列の追加しかできないため、テーブル名とプライマリ列は事前に作成する必要があるからです。

手順3B列で使用するテーブルのスキーマ名(写真赤枠)はこちらで定義しますので、控えておきましょう。

 

 

2 Field Creatorの「Download」からExcelファイルをダウンロード

Field Creatorの「Download」からExcelファイルをダウンロードします。ダウンロードした段階で複数の列が入っていますが、こちらは書き換え、もしくは削除してください。

 

3 Excelシートを用いて追加したい列を定義

ダウンロードしたExcelシートに追加したい列の定義を追加していきます。赤字は必須列青字は場合により必須となる列です。 

 

A列:Field Type

 列の型を設定する列です。以下の選択肢から選ぶことができます。

B列:Entity Schema Name

 手順1で作成したテーブルのスキーマ名を入力します。 

C列:Field Label

 列の表示名を入力します。

D列:Field Schema Name

 列のスキーマ名を入力します。後からの変更はできません。

E列:Required Level

 必須項目の設定をします。None(任意)、System Required(必須項目)、Recommended(推奨項目)から選択します。

F列:Solution Unique Name

 テーブルが属するソリューション名を入力します。

G列:Description

 説明を入力します。

H列:Audit Enabled

 編集可能か否かを設定します。

I列:Max Length (Single Line of Text)

 A列でSingle Line of Text1行テキスト)を選択した場合に最大値を設定できます。14000字の範囲で設定できます。設定しない場合は「100字」になりますが、インポート後に変更可能です。

J列:Max Length (Multiple Lines of Text)

A列でMultiple Line of Text(複数行テキスト)を選択した場合に最大値を設定できます。11048576字の範囲で設定できます。設定しない場合は「2000字」になりますが、インポート後に変更可能です。

K列:Max Value (Whole Number)

 A列でWhole Number(整数型)を選択した場合に最大値が設定できます。設定しない場合は「2,147,483,647」が最大値になりますが、インポート後に変更可能です。

L列:Min Value (Whole Number)

A列でWhole Number(整数型)を選択した場合に最小値が設定できます。設定しない場合は「-2,147,483,648」が最小値になりますが、インポート後に変更可能です。

M列:Precision

 A列でCurrency(通貨型)やDecimal Number(少数)を選択した際に、小数点以下の桁数を設定します。設定しない場合は少数以下が2桁になります。

N列:Option Set Type

A列でOption Set(選択肢)を選択した場合に設定します。以下の3つから選択します。

New Option Setは新たに1つのテーブルだけで使用できるローカルな選択肢を作成する際に選択します。New Global  Option Setは新たに複数のテーブル間で使用できる選択肢を作成する際に選択します。Existing Global Option Setは既存のグローバルな選択肢を使用する際に選択します。

O列:Option Set Values

A列でOption Set(選択肢)を選択し、かつ、N列で「New Global Option Set」か「New Option Set」を選択した場合に設定します。「os1|os2|os3」のように選択肢を「|」で区切って入力します。

P列:New Global Option Set Display Name

A列でOption Set(選択肢)を選択し、かつ、N列で「New Global Option Set」を選択した場合に設定します。表示名を入力します。

Q列:New Global Option Set Schema Name

A列でOption Set(選択肢)を選択し、かつ、N列で「New Global Option Set」を選択した場合に設定します。スキーマ名を入力します。スキーマ名は後で変更することができません。

R列:Existing Global Option Set Schema Name

A列でOption Set(選択肢)を選択し、かつ、N列で「Existing Global Option Set」を選択した場合に設定します。スキーマ名は後で変更することができません。

S列:Referenced Entity

 A列でLook Up(検索列)を選択した場合に設定します。検索列の関連テーブルのスキーマ名を入力します。

T列:One > N Relationship Schema Name

 A列でLook Up(検索列)を選択した場合に設定します。S列で入力したテーブルと今回作成するテーブルのリレーションシップ名を入力します。
 

4 CSVファイル作成

列定義をしたExcelファイルを「名前を付けて保存」でCSV形式に変換します。ファイルの種類をCSV UTF-8(コンマ区切り)(*.csv)に設定してください。

 

5 Field Creatorにアップロード

Field CreatorBrowseボタンから手順4で作成したファイルを選択し、Submitを押下します。Results/Logsにインポート結果が表示されるので、インポートできた列、できなかった列を確認することができます。

 

Excelインポートで列を作成する際の注意点 

  • データ型によってインポートで作成できない列があります。
    タイムゾーン、選択肢(複数選択を可能にする場合)、画像、ファイル列などはExcelインポートに対応していないため手動で作成しなくてはいけません。

  • Excelインポートで作成できる列でも追加で設定が必要な場合があります。
    以下のような列を作成する場合には手動で追加設定が必要です。

  例1: 検索列の「監査の有効化」
   検索列以外は自動的にオンになりますが、検索列は手動での設定が必要です。
   監査を有効にしておくと、列の編集履歴を残すことができます。

  例2: 日時列の「日付のみ」「日付と時間」の選択
   既定値は「日付のみ」になっているため、
   時間まで表示したい場合は手動での変更が必要です。

Excelインポートで列を作成する際のメリット・デメリット

Excelインポートのメリット・デメリットは以下の通りです。

メリット デメリット
工数削減できる 別テーブルに列を作成してしまう可能性がある
手戻りが少ない 列の定義漏れが生じやすい

 

メリット

Excelインポートを使用しない場合、列の設定を11つ入力していく必要があります。同じ列でもテーブル間でコピーすることはできませんでした。しかし、Excelインポートを用いれば作成した設定をコピー&ペーストして別のテーブルにインポートすることができます。これにより以下のような状況で工数の削減が期待できます。 

  • 同じ列を別テーブルに共通して持たせる。

  コピーしてB列のテーブルのスキーマ名を変更するだけでいくつでも複製できます。

  • 既存のテーブルを基にした別なテーブルの新規作成。

  同じようなテーブルを一気に10個作ることも可能です。

また、手戻りの少なさもメリットの1つです。テーブルを作り直す場合、従来の方法だと列もすべて作り直す必要がありました。Excelインポートで列定義を作成した場合、B列のテーブルスキーマ名を変更し再インポートするだけでテーブルの作り直しをすることができます。

 

デメリット

Excelインポートでは、B列:Entity Schema Nameで列を作成するテーブルを指定しています。そのため、このスキーマ名を間違えてしまうと列の作成が失敗したり、列が意図しない別のテーブルに作成されたりする可能性があります。

また、注意点でも挙げたように、Excelインポートでは設定できない型が存在します。そのため、通常の列定義より列の設定の漏れが生じやすくなります。インポート後に列の定義が正しくできているか確認する必要があります。

 

最後に

今回はDataverseExcelインポートによる列定義について紹介しました。

大量のレコードを作成する場合や複数テーブル間で同じ列を作成したい時に大幅に工数を減らすことができる方法です。

Dataverseの列定義以外にも、ポータルレコードのマルチステップフォームやメタデータの作成にもExcelインポートを活用することができます。

弊社は、Power Platformを用いたアプリ開発、様々なRPAツールを用いたRPAの導入、開発実績がございます。興味がございましたら是非弊社にご相談ください!

最後までご覧いただきありがとうございました。

最新情報をお届けします!

RPAに関する最新コラムやイベント情報をメールで配信中です。
RPA領域でお仕事されている方に役立つナレッジになりますので、ぜび登録してください!

最新情報を受け取る方はこちら

もっと知りたい方はこちら


ページトップ