記事公開日
最終更新日
Power BIで使えるユーザーマスタを考える(AADUserテーブル編)

新たにマスタを用意するのは手間ですし、365を利用されている環境であれば最新のユーザー情報はAzure Active Directory (AAD) に集約されているでしょうから、これをマスタとして使えたら便利ですよね。
しかしながら、現時点ではPower BIにAADコネクタはありません(オンプレミスのADのみ)
では、別途ユーザーマスタを作成しないといけないのでしょうか?
いえ、もしかしたらもっと簡単にユーザー情報の一覧が使えるかもしれません。
というわけで、今回はDataverseに含まれているAAD Userテーブル(aaduser)をご紹介します!
1.AAD Userテーブルとは?
AAD Userテーブルとは、Dataverseに含まれている仮想テーブルの一つです。仮想テーブルとはDataverseの機能の一つで、外部のデータソースのデータをDataverseテーブルのように扱うことが出来ます。
標準のテーブルと違い、データの実態はDataverse上には持ちません。
AAD Userテーブルでは、Microsoft Graphを利用して取得したAAD組織内のユーザーに関する情報を取得出来ます。
実際に確認してみましょう。
Power Platformの「Dataverse >テーブル> すべて」を選ぶと、テーブルの一覧にAAD Userが表示されていると思います。
※Dataverseが使える環境でないと利用することが出来ません。また、組織内のユーザーに対してGraphのアクセス許可も必要になります。表示されない場合はまずこれらのアクセス許可をご確認ください。

選択してみると、通常のDataverse のテーブルを選択した時と同じように、データや列の定義などを見ることが出来ます。

残念ながら列の編集は出来ませんが、ここに含まれている項目であれば利用可能です。
表示名やメールアドレス、アカウント名など基本的な情報は含まれていますので、いろいろと活用できそうですね。
ただし部署やグループの情報は含まれていないため、これらの情報を使用したい場合は別の手段を検討する必要がありそうです。
詳細はMicrosoft のドキュメントをご確認ください。

2.Power BIから接続してみる
では実際にPower BIから接続してみましょう。通常はDataverseコネクタを使用しますが、Dataverseコネクタはまだ仮想テーブルに対応していないため、Common Data Serviceコネクタを使用します。

将来的にはDataverseコネクタで接続出来るようになるようですので、その時はDataverseコネクタに変更しましょう。
詳細はこちらをご確認ください。
コネクタを選んだらURLを入力し、OKを選択して接続します。

テーブルが表示されますので、aaduserを選択し、読み込みます。

取得出来ました。

あとは好きなデータを追加してレポートを作成するだけです。
データ量が多いとエラーになることがありますので、その場合は取得する列や条件を絞り込んで調整しましょう。
3.ユーザー(SystemUser)テーブルとの違い
Dataverseにはもうひとつ、「ユーザー(SystemUser)」というテーブルがあります。こちらも中身を見るとユーザー情報らしきものが含まれており、一見するとよく似ています。
項目もSystemUserテーブルの方が多いので、「これのテーブルだけで十分では?」と思うかもしれません。
しかし、大きく以下のような違いがあります。
AAD Userテーブル ⇒ Azure Active Directory組織上のユーザー が含まれます。
SystemUserテーブル ⇒ そのDataverse環境に追加されているユーザー が含まれます。
AADのアカウントがあっても、Dataverse環境に追加されていないユーザーはSystemUserテーブルには含まれません。
また、SystemUserテーブルはDataverse環境ごとに実態を持っているため、どの環境のテーブルを参照するかでも結果が異なります。
目的に合わせて選択していきましょう!
4.まとめ
いかがでしょうか。取得出来る項目など制限はあるものの、Dataverseが利用できる環境であれば新たな構築作業やメンテナンスは不要なため、覚えておいて損はないかと思います。今回はPower BIから利用する観点でご紹介しましたが、もちろんPower Appsからも利用可能ですので、アプリ開発でも活用できそうですね。
QESでは、Microsoft製品やAWS製品に関するソリューションに取り組んでおります。
他プロダクトに関するブログも投稿しておりますので、下記のリンクから是非ご覧ください。
また、QESでは採用活動を強化しております。
ブログを読んで弊社の業務内容に興味を持っていただけましたら、採用情報にもお目通しいただければ幸いです。
https://www.qes.co.jp/recruit.htm
QESでは現在PowerPlatformに力を入れて取り組んでいます。
PowerPlatformの導入やPowerAppsによるアプリケーション開発も行っていますので、お困りの際はぜひお問い合わせください。