SharePointと違うDataverseのテーブル作成フロー。設計してから建てる順番を知っておこう

SharePointリストは作ってから列を追加していく設計ですが、Dataverseのテーブルは先にすべての列を設計してからCreateボタンを押す設計です。この順番の違いを知らないまま触ると、画面の構成からして戸惑います。

2つの設計思想の違い

SharePointリスト:作ってから育てる

SharePointでリストを作るときは、まず空のリストを作ります。最初はタイトル列だけがある状態で保存され、そこから列を一つずつ追加していきます。後から列の種類を変えたり、削除したりするのも比較的自由です。

Excelで新しいシートを作って、後から列ヘッダーを追加していく感覚に近いです。まず器を作って、中身を後から整えていくイメージです。

Dataverseテーブル:設計してから建てる

Dataverseのテーブル作成画面を開くと、列名と型を入力するフォームが並んでいます。ここですべての列を定義してからCreateボタンを押す流れです。Createを押すまでテーブルは存在しません。

料理でいうと、SharePointは冷蔵庫にあるものを見ながら何を作るか決めるスタイル、Dataverseは最初にレシピを完成させてから買い物に行くスタイルです。どちらが良い悪いではなく、設計の文化が根本的に違います。

もちろん、Createした後に列を追加することは可能です。ただし、タイムゾーン設定のように後から変更できない項目がいくつかあります。その代表例が日付列のタイムゾーン設定で、詳しくはDataverseの日付タイムゾーン設定の記事でまとめています。後悔しないように、設計段階で考えきっておくほうが確実です。

テーブル作成時に選べる3つの方法

make.powerapps.com でテーブルの新規作成を選ぶと、作成方法を選択する画面が表示されます。

Add columns and data(手動)

列名・データ型・必須かどうかなどを自分で設定していく方法です。設計の自由度が最も高く、どんなテーブルでも作れます。初めてDataverseを触る方にはこの方法が一番把握しやすいです。列を一行ずつ定義してCreateを押すシンプルな流れです。

Copilotで作成(自然言語)

どんなテーブルが欲しいかを日本語で説明すると、AIが列の候補を提案してくれます。たとえば申請者・申請日・申請内容・承認者・ステータスを管理する申請管理テーブルと入力すると、それらしい構成を自動で提案してくれます。

ゼロから考えるのが面倒なときのたたき台として便利です。ただしそのまま使えることは少なく、不要な列を削除したり、型を修正したりする作業が必ず発生します。提案を参考にしながら手直しする使い方がおすすめです。

高度なプロパティから作成

スキーマ名(システム名)やオーナーシップタイプなどの詳細設定が必要な場合に使います。特別な理由がなければ最初は不要です。

設定を慎重にすべき3つの項目

Primary column(プライマリ列)——後から変更できません

SharePointリストのタイトル列に相当するのがプライマリ列(Primary column)です。ルックアップ列(他のテーブルを参照する列)を設定したとき、ドロップダウンに表示される名前がこのプライマリ列の値になります。

たとえば社員テーブルのプライマリ列が社員IDだと、申請テーブルのルックアップで社員を選ぶドロップダウンに社員IDの数字が並んでしまいます。氏名にしておけば、ドロップダウンに名前が表示されて直感的に使えます。

プライマリ列の設定はテーブル作成後に変更できないため、最初にしっかり決めておく必要があります。そのテーブルを参照するときに何の値を見せたいか。この一点を先に考えておきましょう。また、プライマリ列はテキスト型のみで、数値型や日付型には変更できません。

Plural name(複数形名)——Power Apps上の表示に影響します

テーブル名の複数形を設定する項目です。Power Appsの数式エディタや管理画面のあちこちで、テーブルは複数形の名前で表示されます。

英語のテーブル名であれば自動で適切な複数形が生成されます。しかし日本語のテーブル名(例:申請管理)では、英語変換が変な形になることがあります。作成前に確認して、わかりにくい場合は修正しておきましょう。後から変更することも可能ですが、既にフローやアプリで参照している場合は影響が出ることがあります。

Schema name(スキーマ名)——API接続時に使います

テーブルのシステム内部名称です。作成環境のパブリッシャープレフィックス(例:cr52a_)が自動で付きます。たとえば申請管理テーブルのスキーマ名は cr52a_shinseikanri のようになります。

Power Automateの行の追加アクションやDataverseコネクタを使うとき、このスキーマ名がドロップダウンに表示されます。普段の開発では気にする必要はほぼありませんが、APIで直接Dataverseにアクセスするケースでは意識する場面があります。

列を設計するときに決めておくべきこと

テーブルを作る前に、以下を整理しておくと作業がスムーズになります。

確認項目検討内容
プライマリ列に何を入れるかルックアップで参照されたとき何を表示したいか
日付列のタイムゾーン設定日付のみ管理する列はTime Zone Independentを選ぶ(後から変更不可)
テキスト列の文字数デフォルト100文字。SharePointの255文字に合わせるなら変更が必要
選択肢列の選択肢後から追加は可能だが、削除は使われているとできない
必須項目Required設定は後から変更できるが、初期設計で決めておくとデータ品質が安定する

SharePointリストは列を後から追加・変更するのが容易で、その感覚のまま来るとDataverseの制約に驚くことがあります。一度テーブルを作り直すのは手間なので、設計に少し時間をかける価値はあります。

SharePointリストとの設計フローの違いまとめ

作業の順番を並べると次のようになります。

手順SharePointリストDataverseテーブル
空のリストを作成・保存テーブル名・プライマリ列を設定
必要な列を一つずつ追加すべての列(名前・型・設定)を入力
保存して即使用可能Createを押してテーブルが作成される
後から列を追加・変更・削除列の追加は可能。一部の設定は変更不可

実際にSharePointリストのCRUD操作に慣れている方が、Dataverseで同様の操作をする際の違いについてはSharePointリストのデータを読み書きする記事もあわせて参考にしてください。また、テーブルを設計した後のフォームでのデータ入力についてはフォームコントロールの記事で詳しく解説しています。

まとめ

  • SharePointは作ってから列を追加する設計、Dataverseは先に列を設計してからCreateを押す設計です
  • プライマリ列はルックアップの表示名になります。作成後に変更できないため、最初に何を入れるか決めておきましょう
  • 日付列のタイムゾーン設定やテキスト列の文字数など、後から変更できない・しにくい設定が複数あります
  • Copilotの自動生成はたたき台として便利ですが、そのまま使わず必ず手直しをしましょう

最初は設計ファーストという感覚が慣れないかもしれませんが、慣れてしまえばむしろきちんと設計してから作る習慣が身につきます。SharePointリストを作る前にもExcelで列を整理するようになったら、Dataverse的な設計思想が自然に身についてきたサインかもしれません。

Dataverseの全体像はDataverseをSharePoint経験者向けに完全解説にまとめています。

Xでフォローしよう