アーティサン株式会社
  • Dataverse連載
  • Dataverse

Dataverse応用(2)!オートナンバー列で自動採番する-実は多い注意点

この記事の4行要約

  • Dataverseのオートナンバー列を使うと、レコード作成時にシステムが自動で一意の番号を採番してくれる

  • 採番方式は「文字列+連番」「日付+連番」「カスタム」の3種類から選択できる

  • 「既存レコードには採番されない」「値を手動変更できない」「欠番が発生することがある」など運用前に知っておくべき制約がある

  • 本記事では、オートナンバー列の3つの書式と設定手順、注意点をハンズオン形式で解説します。

この記事を書いた人
伊礼圭吾

伊礼 圭吾いれい けいご

Power Platform全般 Power Apps Dataverse Copilot Studio

Power Platformの設計・開発・コンサルティングを担当しています。既存システムからの移行検証や、Power Platformの特性に合わせた再設計はお任せください!

PL-200 PL-400 PL-600

Power Apps・Power AutomateやDataverseの導入・活用でお困りの方は、アーティサンのサービスもあわせてご覧ください。

 

はじめに

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

応用編の第2回となる今回のテーマは、「オートナンバー列の活用」です!

業務で「受注番号」「チケットID」「問い合わせ番号」など、レコードの作成と同時に接頭辞付きで一意の番号を自動で振りたい場面は多いと思います。

従来のExcelでの連番管理だと、手入力によるミスや重複はあるあるかと思いますが、Dataverseではオートナンバー列を活用することで、レコード作成時にシステムが自動で採番を行ってくれます!

ということで今回は、Dataverseにおけるオートナンバー列で「できること」、そして「注意すべき制約」について解説していきます。

 

オートナンバー列とは

オートナンバー列とは、新しいレコードが作成されるたびに、システムが自動的に値を生成する列のことです。

入門編の第2回で解説したデータ型の中には登場しませんでしたが、実はDataverseには「オートナンバー」というデータ型が用意されています。

公式ドキュメント:

Microsoft Dataverse におけるオートナンバー列 – Power Apps | Microsoft Learn

データの種類として、テキストや数値、日付などと並んで「オートナンバー」を選択することができますね。

Dataverse応用_01

このオートナンバー列の大きなメリットは、ユーザーによる値の入力を必要とせずに、一意の値を設定してくれることにあります。

Power AppsアプリやPower Automateフロー経由でも、ユーザーがレコードを作成すると自動的にあらかじめ定義した書式に従った値が設定されます!

これは非常に便利ですね!

 

3種類の自動採番

Dataverseのオートナンバー列では大きく分けて、以下の3つの種類から書式を選択することができます。

  • 文字列が先頭に付加される数

  • 日付が先頭に付加される数

  • カスタム

 

1. 文字列が先頭に付加される数

最もシンプルなパターンで、固定の接頭辞+連番の形式です。

設定項目

設定例

接頭辞

ORD

シード値 (連番のカウント開始位置)

1000

上記の設定は注文テーブルの注文番号を想定したもので、レコードを作成するたびに以下のような値が生成されます。

  • ORD-1000

  • ORD-1001

  • ORD-1002

「受注番号」「問い合わせ番号」など、テーブルの属性を表した接頭辞+連番で管理したいケースに最適です。

 

2. 日付が先頭に付加される数

日付+連番の形式で、レコードが作成された日時が自動で接頭辞に付与されます。

設定項目

設定例

日付の表示形式

2026-18-05

シード値

1000

例えば、2026年5月20日~23日に作成した場合は以下のように採番されます。

  • 2026-21-05-1000

  • 2026-21-05-1001

  • 2026-22-05-1002

  • 2026-22-05-1003

  • 2026-23-05-1004

ここで注意なのが以下の2点です。

  • 連番の箇所は日付ごとにリセットされない

  • 日付部分はレコード作成時点のUTC時間が反映される

日付ごとに採番をリセットしたり、任意のタイムゾーン設定を保有したい場合はオートナンバー列ではなく、テキスト列などに対してPower AppsやPower Automate側で採番を行う処理が必要となります。

一意の値にレコードの作成日を含めることで、「ログとして作成したテーブルを時系列で追いたい」といった要件などに使えます。

 

3. カスタム

上記の2種類では対応しきれない場合に、ユーザーが書式を任意にカスタマイズできるオプションです。

書式は以下の要素を組み合わせて定義します。

要素

説明

記法例

文字列定数

固定の文字列

TICKET-

連番

自動で増加する番号

{SEQNUM:5}(5桁の連番)

日付

書式付きの日付

{DATETIMEUTC:yyyyMMdd}

ランダム英数字

ランダムな文字列

{RANDSTRING:4}(4文字のランダム)

例えば、書式を TICKET-{DATETIMEUTC:yyyyMMdd}-{SEQNUM:5}_{RANDSTRING:4} と定義すると、以下のような値が生成されます。

  • TICKET-20260518-01000_jewy

  • TICKET-20260518-01001_psiu

  • TICKET-20260519-01002_qmkd

固定文字列を接頭辞ではなく接尾辞として指定したり、任意の桁数の連番やランダム文字列なども対応可能で、自由度の高い採番を行うことができます!

 

ハンズオン:オートナンバー列を追加してみよう

それでは実際にオートナンバー列を作成していきましょう!

今回は入門編で作成した「商品テーブル」に、管理用の通し番号を付けるための「管理番号」列を追加してみます。

 

1. テーブルに新しい列を追加する

入門編で作成した「商品」テーブルで「新しい列」を追加して列の設定画面を開きます。

新しい列の追加方法についてはこちらの記事で解説しています!

Dataverse:Dataverse入門(2)!テーブルに列を追加してみる-列の型の決め方

 

2. オートナンバーの設定を行う

以下の通り設定してみましょう。

Dataverse応用_02
  • 表示名: 管理番号

  • データの種類: 自動付番

  • オートナンバーの種類: 文字列が先頭に付加される数

  • 接頭辞: PRD

  • 最小桁数: 4

  • シード値: 1000

  • スキーマ名: ManagementNumber

 

3. 採番イメージを確認する

オートナンバーの種類や接頭辞、シード値などを設定すると、設定画面上でプレビューとして採番イメージが表示されます。

Dataverse応用_03

採番イメージに問題がなければ「保存」をクリックします。

 

3. 動作を確認する

列の作成が完了したら、実際にテーブルにレコードを追加してみましょう!

Dataverse応用_04

管理番号列以外の必須入力列を入力して新しいレコードを作成すると、「管理番号」列に PRD-1000 のような値が自動的に設定されることが確認できますね!

今後もレコードを追加するたびに PRD-1001PRD-1002 と連番が自動で振られていきます!

 

オートナンバー列の注意点と制約

使いこなせると非常に便利なオートナンバー列ですが、事前に把握しておくべき制約事項もありますので、ここで整理しておきます。

 

既存のレコードには採番されない

オートナンバー列を追加しても、既に存在しているレコードには採番が行われません

自動採番が行われるのは、あくまで列の作成後に新しく作成されたレコードのみになりますので、可能な限りテーブル作成前の設計段階でオートナンバー列の要否について検討を行っておくことを強く推奨します。

もし既存レコードへの採番が必要な場合は、Power Automateなどを使って別途対応する必要があります。
また、ユーザー側で採番した値に関係なくオートナンバー列に指定したシード値から採番されるので、ユーザー側の採番と自動採番で番号が重複しないように注意しましょう。

 

値の手動変更はできない

一度自動採番された値を、後から手動で書き換えることはできません

「採番ミスがあったので修正したい」という運用には向かないため、オートナンバー列に依存する業務フローを設計する際には十分に注意が必要です。

 

欠番が発生することがある

オートナンバーの値は、レコードの作成が開始された時点でデータベースが事前に番号を割り当てます。

そのため、エラーなどによりレコードの作成を途中でキャンセルした場合でも、割り当てられた番号は消費されたままになり、欠番が発生します。

また採番が行われたレコードを削除した場合も、削除された番号が再利用されることはありません

オートナンバー列では欠番のない完全な通し番号を保証することはできませんので、欠番に対して柔軟に対応したい場合はPower AppsやPower Automate側の処理で対応する必要があります。

 

まとめ

最後に、ここまでにご紹介したオートナンバー列の「できること」と「できないこと」をまとめると以下の通りになります。

項目

内容

レコード作成時の自動採番

できる

接頭辞や日付の付与

できる

書式のカスタマイズ

ある程度できる(ユーザー定義)

既存レコードへの採番

できない

値の手動変更

できない

欠番のない連番の保証

できない

 

おわりに

以上、Dataverse応用編の第2回では「オートナンバー列」を解説しました!

設定自体はとても簡単で、列を追加してデータ型に「自動付番」を選ぶだけで自動採番を実現できます。

一方で、「既存レコードには採番されない」「欠番が発生する可能性がある」「値を手動で変更できない」など、運用上注意すべき制約もいくつかあります。

これらの制約を理解したうえで、連番管理が必要だけれど厳密な欠番管理が不要なケース、例えば「問い合わせ番号」「チケットID」「社内管理番号」などに対してオートナンバー列は、Power AppsやPower Automate側の処理を減らして保守性を向上することができる、非常に便利な手段です!

逆に欠番が許されない値や、既存データとの連番管理が必要なケースでは、Power AppsやPower Automate側で要件に則した処理を実装して実現する必要があります。

非常に便利な機能ですが、皆さんの要件にフィットしているかを慎重に判断したうえで活用いただければと思います!

それでは!

もし記事を読んで「Power Apps・Power AutomateやDataverseの導入をサポートしてほしい」と思った方は、アーティサン株式会社の各種サービスをご活用ください。
現場の課題やご要望に合わせて、Power Platformの設計・導入・運用をサポートいたします。

 

こちらも合わせて読みたい