本記事は、Power Platform 未経験だが IT エンジニアとしての基礎知識はある人が、PL-900 にどの程度の学習時間で合格できるのか、また学習過程で整理した知識をメモとして残すことを目的に書いています。
私は日本の省庁・公共分野で Power Platform 活用が進んでいるという話を聞き、「このプラットフォームがなぜ選ばれるのか」を把握する目的で PL-900 を受験しました。
これから PL-900 を受験する方、とくに「業務でパワプラ触る前に全体像を短時間で把握したいエンジニア」の参考になれば幸いです。
想定読者と筆者の前提
筆者のバックグラウンド
- Power Platform は ほぼ初見
- ただし IT エンジニアとしての経験あり
- 趣味でいくつかの言語でアプリ/ツール開発経験あり
- 別のローコード製品を使ったことはある
- スクラムマスタとしてPower Platform 以外のローコード製品の経験あり
- Pega Platform
- OutSystems
学習時間と試験結果
学習時間
- 合計:約6時間10分
試験結果
- 合格ライン:70%
- 実際のスコア:80%
半日やったら合格、ぐらいの感覚です。
学習方法は「練習問題3回解いた」だけ
使用した教材
-
Microsoft 公式の PL-900 プラクティス試験のみ
学習手順
- プラクティス試験を 1問ずつ解く
- 「回答を確認」を押す
- 表示される解説文を読む
- 解説の意味が分からない場合
- Microsoft Learn の該当ドキュメントを読む
- ChatGPT と会話しながら理解を確認する
- スコアが 90% を超えるまで繰り返す
私は 3回目でスコアが 90% に到達しました。
学習して得られたもの
- Power Platform の
- 製品構成
- レイヤ構造
- 設計思想(データ中心・ガバナンス重視)
- こういう課題ならPower Platform で解決できそうという勘所
- Power Apps 開発者プランでハンズオンしてみよっかなーという気持ち
パワプラを業務で触る前の全体把握や、パワプラが 解決したい課題に対して適当かを判断するには非常にコスパが良い資格だと思います。
まとめ
- 半日(6時間)くらいかけたら
- Power Platform の全体理解ができたので、
- 「業務で触る前の地図作り」として PL-900 は非常に有用
学習ノート
以下はおまけで、6時間で作成した雑な学習ノートです
[業務アプリ/業務自動化レイヤ]
- Power Automate
- 業務フローを自動化。各製品に組み込める実行エンジン的役割。
- Power BI
- 名前の通りBIツール。チャートやダッシュボードの作成
- Microsoft Copilot Studio
- ユーザが対話できるAIボットの作成
- Power Apps
- アプリ作成ツール。キャンバスアプリ、モデル駆動型アプリが作れる。
- Microsoft Power Apps Studio で作る
[共通データ/AIレイヤ]
-
Dataverse
- RDBとかNoSQLの類のデータストア
- UIや列挙子もセットで持つローコードチックなデータ型が特徴
- Power Automate や Power App から参照できる
- データへのアクセス権限はアプリ側ではなくDataverse側で制御する思想
- ロールベースのアクセス制御
-
AI Builder
- OCR、テキスト分析、画像認識、予測などを提供
コネクタ
- サードーパーティー製品と Power Automate(とエンジンであるLogic Apps) / Powaer Apps をつなぐ部品。
- 接続先がオンプレ環境にある場合はオンプレミス データ ゲートウェイが必要
- 標準コネクタとはMS365ライセンスだけで使える以下のようなコネクタと
- Shard Point
- OneDrive
- Excel Online
- Outlook
- Temas
- Planner
- ToDo など
- 組み込んだ場合にはエンドユーザ分だけプレミアムライセンスが必要なプレミアムコネクタがある。
- 業務システム・外部サービスと本格的につなぐ系
- SQL Server
- AI Builder
- Power BI データセット
- On-premises Data Gateway 経由の接続
- REST汎用コネクタ
- カスタムコネクタ
Power Automate
- フローは動く場所で3分類される
-
クラウドフロー
- メール受信などのイベント起動: 自動フロー、自動化されたフロー
- ボタン押下などの手動起動: インスタントフロー、即時フロー
- 日付・時刻によ起動: スケジュールされたフロー
-
デスクトップフロー
- いわゆるRPA
-
ビジネスフロー
- いわゆるステージ/ステップ設計によるワークフローのこと
- 承認依頼を監視するなら TemasとPower Automate ポータルで見れる。
-
クラウドフローのエラーハンドリングは「再試行」と「失敗時だけ実行するアクション」が基本
- 再試行ポリシー:何回まで再実行するか
- "Run after"(以降の実行)を設定したアクション
- Tryするアクションの直下に置き失敗したときに実行されるCatch的なアクション
- "has failed"
-
Microsoft Dataverse
-
テーブル種別
- スタンダード(標準)テーブル
- すぐに使えるテーブルとも呼ばれる
- 取引先、部署、連絡先、ユーザーなど
- すぐに使えるテーブルとも呼ばれる
- アクティビティ(活動)テーブル
- 「時系列で発生する行為」を表現するための特殊テーブル群
- 予定、タスク、電子メール、電話など
- Outlook,Teams連携に良い
- 「時系列で発生する行為」を表現するための特殊テーブル群
- バーチャル(仮想)テーブル
- 外部ソースからのデータを設定
- エラスティック テーブル
- 大規模データストア。NoSQL的に扱える高スループット・低レイテンシ
- カスタムテーブル
- スタンダードテーブルの派生。ユーザが同時定義できる。
- スタンダード(標準)テーブル
-
RDBぽくないDataverseのデータ型
- Choice / Choices 列挙と選択UIが一体化した型
- Owner 責任主体が 個人かチームかのポリモーフィック参照
- Customer 顧客が 法人がコンシューマーかのポリモーフィック参照
- Currency 為替込みの金額管理
- Duration 時刻ではなく時間の長さの型
- Calculated 業務式としての列
- Rollup 非同期集計列
-
条件付き必須チェックや入力制御はテーブルのビジネスルールで
- データに関するビジネスルールはアプリ側でなくDataverse側に保存する思想
- ただし中にはモデル駆動アプリだけで動作、のようなルールも存在する。
- 列に値を設定する
- エラーメッセージを表示する
- 列の要件レベルを設定する
- ビジネスインテリジェンスに基づいてレコメンドを表示する(モデル駆動アプリでのみ動作)
-
データが含まれるテーブルのスキーマは依存関係が壊れるのを防ぐために変えられない。列の表示名を変えることでスキーマ変更を実現する。
-
テーブル間の関係を定義するリレーションシップ。RDBの単純な「外部キーによる関係」よりビジネス寄りな「業務オブジェクトの関係定義」ができる。
- 外部キーは 参照 と呼ばれる
エンドユーザが自然言語で質問できるアプリは?
- Power BI
- ダッシュボードQ&A/レポートQ&Aでは自然言語で質問すると可視化してくれる機能がある
- Microsoft Copilot Studio
- ユーザーが対話できるボットが作れる
パワプラ系の連携相手としてたまに出てくるMicrosoft Dynamics 365 Sales って?
CRMソリューション。SalseForceとかと同ジャンル。
Microsoft Dynamics 365 はSales(CRM) /Business Central(ERP) / Customer Service(コールセンター) なんかがある。
パワプラ環境を管理する権限、アプリ作成する権限
[ Power Platform 環境 ]
├─ 環境管理者
│ └─ セキュリティロールを作る・割り当てる
├─ 環境作成者
│ └─ アプリ・テーブル・フローを作る。アプリをほかのユーザに使わせる
├─ 代理管理者
│ └─ デリバリパートナーが管理者を代行する場合に使う
├─ システム管理者
│ └─ 完全な管理権限
└─ Dataverse
├─ セキュリティロール
│ └─ データ操作の可否を制御
├─ アプリセキュリティロール
│ └─ モデル駆動アプリの利用可否を制御
データ損失防止(DLP)ポリシーとは、
「このデータを、この外部サービスと一緒に使ってよいか/いけないか」を、環境横断で制御する仕組み。
つなげられるコネクタの組み合わせを制御して、「ビジネス」と「非ビジネス」を分ける仕組み
Power Apps
-
キャンバスアプリ
- UI主導アプリ
- Dataverse以外にシェアポ、Excel、SQLなんかが使える
- コントロールの種類と編集の可否
- スクリーン:すべてのルート要素
- 編集フォーム(Edit Form):関連付けたデータソースに編集保存できる
- 表示フォーム(Display Form):保存のみ
- データテーブル:表形式。表示のみ。リッチな表現は不可。
- ギャラリー、垂直コンテナー:レイアウト要素
-
モデル駆動型アプリ
- データモデル主導
- データソースはDataverse一択
- UIの自由度は低いが一貫性と堅牢制が高い。CRMや業務基幹系アプリによい
- ビジネスプロセスフローを利用してユーザをガイドする
- データ一覧をどう見せるかはビューで制御
- ビューデザイナーで編集
- 行、列、ソート
- ビューの種類
- 個人ビュー
- システムビュー
- パブリックビュー
- ビューデザイナーで編集
- フォームは1レコード単位で参照・編集する画面
- メインフォーム:基本的なレコード操作フォーム
- クイックビューフォーム:
- クイック作成フォーム:必須項目だけ並べたInsert用フォーム
- カードフォーム:コンパクトなデータ表示
- キャンバスアプリを埋め込める
-
PowerFX(数式)
- エクセルチックな関数
- コードにあたる。
- 計算、代入、行フィルタなど評価、データソースへのデータ保存(SubmitForm Patch)に使われる
Power Apps個人別開発環境
- パワプラ利用組織で管理者が許可していれば Power Apps Developer Plan 版が使える。期限は無し
- 個人でもPower Apps Developer Plan は使える。ただ組織のリソースにはもちろんアクセスできない。
- Trial版は30日限りの試用環境。開発者にとってはあまり意味がない。
Power Pages
- Dataverseに接続できる外部公開向けWebアプリ基盤
- Power Pages デザインスタジオで操作
- https://make.powerpages.microsoft.com/
- ページテンプレの種類
- 空白ページ
- スターター(始動装置)レイアウトテンプレート
- ホーム、サブ、お問い合わせ、検索結果
- ソリューション(解決策)テンプレート
- プログラム登録
- よくある質問
- 会議のスケジュールと管理
- アプリケーション処理テンプレート(申請送信)
- Dynamicss365
- カスタムページテンプレート
- HTML、CSS、Liquid(テンプレ言語) を使って作る