MoreBeerMorePower

Power Platform中心だけど、ノーコード/ローコード系を書いてます。

Dataverseの新しい仮想テーブル AAD Userが便利

Dataverse の テーブルに、新しく "AAD User" という仮想テーブルが追加されていました。

f:id:mofumofu_dance:20220407163219p:plain

このテーブルは読み取り専用で、カラムのカスタマイズなどはできない、システムで用意されたテーブル といった形です。

名前のとおり、AAD上のユーザー情報を返してくれます。

Power Apps上でLookUpに利用できたりしますね。

仮想テーブルについては以下のDocsを参照してください。

仮想テーブルに関する入門情報 (エンティティ) (Microsoft Dataverse) - Power Apps | Microsoft Docs

これまではユーザー情報を取得する際に "Office 365 Users" コネクターの "Searcg for users" アクションを利用していたと思います。

コネクターと比較してどういうメリットがあるかちょっと書き残しておきます。

※なお、このAAD Userについての公式Docsは見当たりませんでした。

ここがいい

まずはAAD Userのいいところから。

通常のテーブル/Power Appsのテーブル型データと同じ感覚で扱える

FilterやSearch関数でレコードを抽出することができます。もちろんLookUpも可能です。並び替え操作も簡単。

f:id:mofumofu_dance:20220407164109p:plain

委任可能な範囲で、Max 1000 ユーザーまで のような制限がない

Office 365 Usersで取得できる最大ユーザー数は1000件です。大きい組織だとこれがなかなかネックで、場合によっては絞り込みしきれないということもありました。

AAD Usersは例えばギャラリーに表示するようなケースでは、委任可能な関数を利用していれば1000件を超えてユーザーを表示可能です。これはかなり大きい。

f:id:mofumofu_dance:20220407164430p:plain

検索可能項目が多い

Office 365 Usersコネクターでユーザー検索を実行する場合、使えるのは以下の属性に限られます。

display name, given name, surname, mail, mail nickname and user principal name

一方で、AAD Usersは利用可能な属性すべてで (たぶん) 絞り込み、検索が可能です。 (Office LocationなどでもFilterできる)

検索・データ取得が高速

Office 365 Usersコネクターよりデータ取得早いように見えます。Filter結果などはリアルタイムでギャラリーに反映されますし、体感的には通常のDataverseのテーブルとそん色ないですね。

ここがいまいち

いいこといっぱい!ではありますが、ちょっとこれからに期待というところも。

ユーザーの属性情報が少ない

よく使いそうなDepartmentやManagerなどの属性はAAD Userテーブルでは利用できません。「この人の部下」みたいな絞り込みができないのは少し残念ですね。今後に期待

読み取り専用

用途によるのでこれが一概に残念ということではないですが、この仮想テーブルは読み取り専用です。

Dataverseが設定されていない環境/テーブルへのアクセス権がないと使えない

当然といえば当然ですが、対象のテーブルへのアクセス権がないとアプリに追加してもエラーがでます。

f:id:mofumofu_dance:20220407162920p:plain

このあたりでOffice 365 Usersコネクターとの使い分けが発生しそうですね。

おわり

ということで、Dataverseに新しく追加されていた仮想テーブル "AAD User" のここがすごかった!という簡単なご紹介でした。(あまり中身がない)

権限や環境の設定、利用する属性によってOffice 365 Usersと使い分けになりますが、個人的な用途ではキャンバスアプリ内のユーザー一覧はこのテーブル1個でいいかなという感じです。

公式のDocsが追加されたらこちらに更新します。