【初心者向き】PowerAppsでユーザーによって画面を出し分ける方法~画像付き~
PowerAppsで複数画面を実装するときに、ユーザーごとに画面を制御したいと思うことがあると思います。
今回は、使用しているMicrosoft365のアカウントによって、表示する画面を変更する方法を紹介します。
実際の画面画像とコードを使い、初めての人でも実装ができるように紹介していきます。
内容は私が実際に実装している内容を元にしていますので、安心して使ってもらえればと思います!
目次(クリックで読みたい部分にジャンプできます)
全体の流れ
まずは、実装に入る前に全体の流れを把握していきましょう。
全体の流れ
①キャンバスアプリでアプリを作成。
②ユーザーごとに出し分けるコード記述
今回は、キャンバスアプリを用いて行います。
キャンバスアプリは自由度が高いので、ロール管理に便利です。
では、早速見ていきましょう。
①キャンバスアプリを作成
まずは、キャンバスアプリを作成していきます。
サイドバーから「アプリ」を選択。
「+新しいアプリ」から「ページデザインで開始する」を選択します。
すると、いくつかの形式のアプリが選択肢として出てきます。
好きなものを選びましょう。
選択すると、キャンバスアプリが作成されます。
PowerAppsのアプリ形式には、もう一つ「モデル駆動型」があります。
こちらは、データに対してデザインが決まっており拡張性が少ないです。
そのため、今回のようなユーザーによって画面を出し分けるというのが難しいと思います。
②ユーザーごとに出し分けるコード記述
キャンバスアプリが起動したら、左側のメニューから「ツリービュー」を開きます。
その中の、Appを選択してください。
Appを選択後、関数の中の「StartScreen」を選択します。
右側のfxの中にこれからコードを書いていきます。
コードを記述
fxの中に以下のようなコードを書きます。
Switch(
User().Email,
"example1@onmicrosoft.com", Screen1, //Screen1に飛ぶ
"example2@onmicrosoft.com", Screen2, //Screen2に飛ぶ
"example3@onmicrosoft.com", Screen3, //Screen3に飛ぶ
Screen4 // それ以外の画面
)
User().Emailにより、ログインしているアカウントのEmailを取得することができます。
そこから当てはまる画面に遷移させることができます。
このコードでは、ログインIDが「example1@onmicrosoft.com」の方は、Screen1が最初の画面として表示されます。
「example2@onmicrosoft.com」はScreen2が表示されるようになります。
グループごとに表示を区別したい
一人一人コードに記述していくのは、管理しづらいと思います。
そのためユーザーにグループを割り振って、グループ情報から画面を区別することも可能です。
同じようにStartScreenの部分を編集していきます。
今回は、テーブルの中に以下のようなメールアドレスと部門が記載してあるとします。
メールアドレス | 部門 |
---|---|
example1@onmicrosoft.com | 情報システム部 |
example2@onmicrosoft.com | 経理労務部 |
example3@onmicrosoft.com | 人事労務部 |
example4@onmicrosoft.com | 情報システム部 |
そして、メールアドレスに当てはまる部門を抽出していくようなコードになります。
Switch(
LookUp(テーブル名, メールアドレス = User().Email).部門,
"情報システム部", Screen1,
"経理労務部", Screen2,
"人事労務部", Screen3,
Screen4 // それ以外の画面
)
LookUp関数により、テーブル名から、カラム名「メールアドレス」の列から、User.Email(ログインしているアカウントのメアド)に等しいものを抽出し、その「部門」を抽出しています。
そして、部門名が「情報システム部」だったらScreen1を出し、「経理労務部」だったらScreen2を出すようにしています。
以上により、部門ごとに表示を切り分けることも可能になります。
PowerAppsを学ぶにはUdemyがおすすめ
この記事では
「【初心者向き】PowerAppsでユーザーによって画面を出し分ける方法~画像付き~」を詳しく解説しました。
この知識も私がUdemyで学んだことから得られたものです。
実は、Udemyでは本には載っていない専門的な分野や最新の技術トレンドに関する豊富なコースが用意されています。
これらのコースを通じて、私は多くの実践的なスキルを身につけることができました。
あなたもUdemyで新しい技術を学び、キャリアや趣味に生かしてみませんか?
興味のあるコースを探して、今すぐ学び始めることができます。
下記のリンクからアクセスして、あなたに合ったコースを見つけてください。
PowerAppsのさらに深い理解と実践的なスキルを身につけるために、Udemyのコースを活用することをお勧めします。
まとめ
今回は、PowerAppsでユーザーごとに画面を切り分ける方法を解説していきました。
この切り分けによって、ユーザーのロール管理が可能になります。
ぜひ試して見てくださいね!では、また!