アプリ開発の調査にかかる
時間を削減したい
内製化支援サービス
アプリを自分たちで
作成できるようになりたい
DX人材育成プログラム
プロに開発を依頼したい
アプリ開発導入支援サービス
機能拡張サービス
X-SP Feature
デザイン拡張サービス
X-SP Design
モダン化から運用管理までサポート
構築支援サービス
前回は「商品」テーブルを作成し、テーブル作成時の基本的なプロパティ設定について解説しました。
第2回となる今回は、作成したテーブルに「列(Column)」を追加していく手順と、その際の注意点について解説します。
Dataverseには豊富なデータ型が用意されていますが、「どの型を選ぶべきか?」「後から変更できるのか?」といった点は、設計段階で非常に重要になります。
今回は、前回作成した「商品」テーブルを拡張しながら、各データ型の特徴を学んでいきましょう!
【このシリーズの過去回一覧】
弊社はPower Platform(Power Apps・Power Automate)に関するアプリ開発や、
皆様が内製化を行う際の支援サービスを提供しておりますので、
Power
Platformに関する内容でお悩みがある場合は、以下からぜひお問い合わせください。
ハンズオン:列を追加しよう
まずは、前回作成した「商品(Product)」テーブルを開いてみましょう。
テーブルの設定画面には様々なメニューが表示されていますが、今回は「スキーマ」欄の「列」をクリックして開いてください。
すると、このテーブルに追加されている列の一覧が表示されます。
「あれ?まだ列を追加していないのに、たくさんの列が表示されている…」とびっくりするかもしれませんが、これらはテーブルを作成したときに、
Dataverseが自動的に追加してくれたシステム列というものになります。
詳細は記事の後半で解説しますが、データベースとして運用するうえで必須となる項目のため自動的に用意されています。
列の一覧画面を表示できたら、さっそく列を追加してみましょう!
画面上部から「新しい列」をクリックして、列の設定画面を開きます。
列の設定画面では様々な項目がありますが、基本的には以下の項目を設定していくことになります。
- 表示名
ユーザーや開発者に表示される列の名前です。 前回設定したテーブルの表示名と同じく、日本語と英語どちらでも命名できますので、パッと見てどんな列なのかが理解できる名前を設定しましょう。 - 説明
こちらもテーブルの説明と同じく、この列がどういった役割なのかを記載できる欄になります。 必須の設定項目ではありませんが、運用、保守の場面を考えてなるべく設定するようにしましょう。 - データの種類
その列で扱うデータの種類(テキスト、数値、日付、選択肢など)を決定します。 一度設定すると後から変更できない場合も多いので、慎重に選びましょう。 - 必須
データの入力が必須かどうかを設定します。 「必須項目」を設定すると、値が入っていないレコードは保存できなくなります。キーとなる列などは必須にしておくと良いでしょう。 - スキーマ名
システムが内部的に使用する名前です。英数字のみ使用可能です。 テーブル設定のスキーマ名と同様に、Power AppsやPower Automateと連携する際に使用することがあります。 こちらも表示名を英訳したような命名が良いでしょう。
1.商品コード列の追加:1行テキスト
それでは試しに、商品を識別するための商品コード列を追加してみましょう。

-
表示名: 商品コード
-
説明: 商品を識別するためのコード
-
データの種類: 1行テキスト
データの種類にテキストを選択した場合、書式と最大文字数を設定することができます。
-
書式: テキスト
リッチテキストに対応させたり、入力が電話番号やメールアドレスかを評価するバリデーション設定などを行うことができます。
-
最大文字数: 6
この列に格納できる最大文字数を設定することができます。
1行テキストでは最大4,000文字まで受け付けることができますが、可能な限り最低限の文字数を設定することで、誤入力を防いだり、検索のパフォーマンスを向上させることができます。
-
-
必須: 必須項目
-
スキーマ名: ProductCode
保存が完了してテーブルの列一覧を確認すると、「商品コード」が追加されていますね。
2.商品説明列の追加:複数行テキスト
商品の詳細説明を入力するための列です。長い文章が入る可能性があるため、「複数行テキスト」を選びます。
-
表示名: 商品説明
-
説明: 商品の詳細な説明
-
データの種類: 複数行テキスト
複数行テキストでは1行テキスト以上の長文を、改行を保持した状態で保存することができます。
また、複数行テキストは「テキスト」内の「複数行テキスト」から設定することができます。
-
書式: テキスト
-
最大文字数: 2000
複数行テキストの場合、最大1,048,576文字までの文字列を受け付けることができます。
-
-
必須: 任意
-
スキーマ名: Description
3. 価格列の追加:通貨型
-
表示名: 価格
-
説明: 商品の価格
-
データの種類: 通貨
-
必須: 必須項目
-
スキーマ名: Price
なぜ「通貨」型?
金額を扱う場合、単なる「整数」や「小数」ではなく「通貨」型を選ぶことをお勧めします。通貨型を選択することで、通貨記号(¥や$)の表示や多通貨対応などの機能が利用できるようになります。
4. カテゴリ列の追加:選択肢型
次に、商品のカテゴリ(食品、家電など)を管理する列を追加します。
ここでは、ユーザーが決められたリストから選ぶ「選択肢(Choice)」型を使います。
-
表示名: カテゴリ
-
説明: 商品のカテゴリ
-
データの種類: 選択肢
-
グローバル選択肢: はい
-
-
必須: 必須項目
-
スキーマ名: Category
グローバル選択肢の作成
データ型で「選択肢」を選択すると、「グローバルな選択肢と同期しますか?」という設定項目が表示されます。
「選択肢」のデータ型では「グローバル選択肢」と「ローカル選択肢」という概念が存在し、以下のような違いがあります。
-
グローバル選択肢: Power Platform環境全体で共有され、他のテーブルの列でも再利用でき、選択肢の変更も共有されます。
-
ローカル選択肢: 設定したテーブル内の列専用の選択肢で、その他のテーブルや列では使えません。
複数のテーブルや列の間で選択肢の内容を共有できるため、基本的には「グローバル選択肢」が推奨されます。
今回は新しいグローバル選択肢を作成し、設定してみましょう。
「グローバルな選択肢と同期しますか?」で「はい(推奨)」を選択し、「新しい選択」をクリックします。
すると、新しい選択肢の設定画面が表示されるので、以下の通り設定しましょう。

-
表示名: 商品カテゴリ
-
選択肢:
選択肢を追加するとき、ユーザーに表示される「ラベル」と、システム内部で利用される「値」の項目を設定することができます。-
食品
-
家電
-
書籍
-
-
説明: 商品カテゴリのグローバル選択肢
-
スキーマ名: ProductCategory
画面左下の「保存」をクリックすると、この選択肢セットが「グローバル選択肢」として保存されます。
保存することができたら、商品テーブルのカテゴリ列で「この選択肢を同期する相手」に「商品カテゴリ」を適用しましょう。

5. 発売日列の追加:日付のみ
商品の発売日を管理する列を追加します。
-
表示名: 発売日
-
説明: 商品の発売が開始される日付
-
データの種類: 日付のみ
-
必須: 任意
-
タイムゾーンの調整: 日付のみ
-
スキーマ名: ReleaseDate
タイムゾーンについて
Dataverseの日付列では、入力された日時の値に対してタイムゾーンを考慮するかどうかの設定を行うことができます。
-
ユーザーローカル
ユーザーが設定しているタイムゾーンに合わせて日時が表示されます。
例として、日本で「12/2 9:00」と入力したデータは、アメリカのユーザーが見ると「12/1 19:00」のように時差が反映された日時が表示されます。会議の時間など、世界共通の「瞬間」を共有したい場合に適しています。 -
タイムゾーン非依存
タイムゾーンに関係なく、入力された日時がそのまま表示されます。
ホテルのチェックイン時間など、誰が見ても同じ「現地の時間」として扱いたい場合に使用します。 -
日付のみ
時間情報を持たず、日付だけを管理します。
誕生日や記念日など、時間が不要な場合に適していて、タイムゾーンによるズレも発生しません。
今回は国内でのみ運用する前提で、タイムゾーンや時刻の考慮をする必要のない「日付のみ」を選択します。
6. 在庫数列の追加:整数
在庫の個数を管理する列を追加します。
-
表示名: 在庫数
-
説明: 商品の在庫の数
-
データの種類: 整数
-
数値のサイズ: 標準
データ型が整数の場合、利用する数値の範囲を設定することができます。
「標準」だとおおよそ±21億ほど、「ビッグ」だとおおよそ±900京ほどの値を指定することが可能です。
基本的には「標準」の方が検索時のパフォーマンスに優れますので、明確な理由がない限りは「標準」を選択することが推奨されます。
-
-
必須: 必須項目
-
スキーマ名: StockQuantity
7. 販売中列の追加:はい/いいえ
その商品が現在販売中かどうかを管理するフラグです。
-
表示名: 販売中
-
説明: 商品が販売中かどうかを管理するフラグ
-
データの種類: はい/いいえ
データ型に「はい/いいえ」を選択した場合、選択肢列と同様にユーザーに表示されるラベルを変更することができます。
今回はユーザーがわかりやすいように、ラベルを「販売停止中」と「販売中」に変更してみます。-
いいえ: 販売停止中
-
はい: 販売中
-
-
既定値: はい
-
スキーマ名: IsActive
追加する列は以上になります!おつかれさまです!
これで商品の管理に必要な列が一通り追加できたかと思います!

システム列について
列の追加が終わったら、もう一度テーブルの列の一覧を見てみましょう。
先ほど少し言及した通り、自分で追加した列以外にも、システムが自動的に作成した「システム列」がいくつかありますね。

例えば以下のような列が見当たると思います。
-
作成日: レコードが作成された日時
-
作成者: レコードを作成したユーザー
-
修正日時: レコードが最後に修正された日時
-
修正者: レコードを最後に修正したユーザー
-
バージョン番号: レコードのバージョン
これらはシステムが自動的に管理する列となります。
なので、「誰が作成したレコードか」、「このレコードが最後に編集されたのは何時なのか」といった情報を個別に記録するための列を開発者が作成する必要はなく、Dataverse側が自動的に管理してくれます。
特にレコードの編集履歴などの情報は重要ですので、ぜひシステム列を活用していきましょう!
おわり
今回は、Dataverseにおける「列の追加」を行うにあたり、主要なデータ型とシステム列について解説しました。
-
1行テキスト: 商品名や商品コードなどの短い文
-
複数行テキスト: 長い説明文
-
通貨: 金額
-
選択肢: カテゴリやステータス(グローバル推奨)
-
日付: 記念日や発売日
-
整数: 個数や回数
-
はい/いいえ: フラグ
今回の記事で解説したデータ型以外にも、Dataverseには多くのデータ型が用意されていて、様々なシーンに対応しています。
データ型の一覧については、公式のドキュメントをご覧いただくと把握できます!
Microsoft Dataverse の列データ型 – Power Apps | Microsoft Learn
適切なデータ型を選択して列を作ることは、データの品質を保ち、アプリのパフォーマンスや保守性を向上させるための第一歩です。
次回はいよいよ、Dataverseの醍醐味である「リレーションシップ(テーブル間の関連付け)」について解説します。
今回作った「商品」テーブルを、注文データと紐付けていきましょう!
それでは!
【こちらも合わせて読みたい】

こんにちは。アーティサン株式会社の伊礼(いれい)です。