Power Platformは“用意された機能”しか使えない?UIや処理の限界と工夫

🧭 はじめに:市民開発の広がりと「できないこと」の現実
Power Platformは、ノーコード/ローコードで業務アプリや自動化フローを作れる強力なツールです。
特に市民開発者にとっては、「用意された部品を組み合わせるだけで開発できる」という手軽さが魅力です。
しかし、実際に業務で使おうとすると、こうした声が聞こえてきます:
- 「この機能、Power Appsにないんだけど…」
 - 「Power Automateでこの処理、どうやってやるの?」
 - 「Excelみたいに関数を自由に使えない…」
 
そう、Power Platformは“用意されている機能”以外は、基本的に簡単には実装できません。
今回はその制約と、どう乗り越えるかを解説します。
❓ Power Platformは「部品を選ぶ」開発スタイル
Power Platformの開発は、以下のような“選択式”のスタイルです:
- Power Apps → 用意された「コントロール(UI部品)」を配置してアプリを作る
 - Power Automate → 用意された「コネクタ」「アクション」を組み合わせてフローを作る
 - Power Fx(Power Platform 全体で使用するローコード言語) → 用意された関数のみ使用可能
 
つまり、「自分で部品や関数を作る」ことは基本的にできません。
⚠️ よくある制約とつまずきポイント
❌ Power Appsに欲しいUI部品がない
- カレンダーの月表示ができない
 - 表形式でデータを表示したいが、柔軟なグリッドがない
 - レスポンシブ対応が難しい(画面サイズに応じたレイアウト調整)
 
❌ Power Automateに欲しいアクションがない
- 特定の業務システムとの連携ができない
 - 複雑な条件分岐やループ処理が難しい
 - ファイル操作やデータ変換が制限されている
 
❌ Power Fxの関数はExcelと違う
Power Appsで使える関数はExcelに似ているが、同じではありません。
| 項目 | Excel | Power Fx | 
|---|---|---|
| 関数の種類 | 数百種類以上 | 約150種類(2025年時点) | 
| 自由度 | VBAやカスタム関数で拡張可能 | カスタム関数は不可(事前定義のみ) | 
| 例 | VLOOKUP, INDIRECT, OFFSET | LookUp, Filter, Patch(構文も異なる) | 
🧩 解決策1:複数の部品を組み合わせて“擬似的に”実現する
Power Platformでは、複数の部品を組み合わせて近い動作を再現するという工夫が必要です。
📌 例:Power Appsで表形式のデータ表示
| 欲しい機能 | 実現方法 | 
|---|---|
| 表形式でデータを表示 | Gallery のネスト(Gallery in Gallery) | 
| 行ごとの操作ボタン | 各行にアイコンを配置し、OnSelectで処理 | 
| 並び替え | 表示しているデータをSort関数で制御 | 
このように、「無いものは作る」のではなく「あるもので工夫する」のが基本です。
🧩 解決策2:HTTPリクエストで外部APIを呼び出す
Power Automateでは、「HTTP」アクションを使って外部のAPIを直接呼び出すことで、
標準コネクタにない機能を補うことができます。
📌 例:社内システムのデータ取得
- Power Automateで「HTTP」アクションを追加
 - APIのURL、認証情報、パラメータを設定
 - 取得したJSONデータを「Parse JSON」アクションで整形
 - 必要な情報を抽出して処理に利用
 
⚠️ 注意点:
- API仕様の理解が必要(エンドポイント、認証、レスポンス形式など)
 - セキュリティ設定(IP制限、トークン管理)に注意
 - エラー処理やタイムアウトの考慮が必要
 
🧩 解決策3:Microsoft Graph APIで高度な操作を実現する
Microsoft Graph APIは、Microsoft 365の各種サービス(Outlook、Teams、Excel、SharePointなど)にアクセスできる統合APIです。
Power AutomateからHTTPアクションで呼び出すことで、標準コネクタではできない操作が可能になります。
📌 例:Excelファイルにテーブルを追加する
- Graph APIの 
/workbook/tables/addエンドポイントを呼び出す - 対象のファイルと範囲を指定
 - テーブル名や構造を定義
 - Power Automateでそのテーブルを使って処理を実行
 
⚠️ 注意点:
- Azure ADアプリ登録が必要(認証トークンの取得)
 - Graph APIの仕様理解が必要(ドキュメントは英語中心)
 - 権限設定とセキュリティ管理が重要
 
🧩 “再利用”のためのカスタム機能は存在する
Power Appsには、コンポーネントやカスタム関数という機能があります。
これらは「自由に作れる」ように見えますが、実際には既存のコントロールや関数を組み合わせて再利用するための仕組みです。
🔧 コンポーネントとは?
- 複数のコントロールをまとめて再利用できる部品
 - 例:検索バー+ボタン+ラベルを1つの部品として定義
 - 完全な新規UI部品を作ることはできない
 
🔧 カスタム関数とは?
- Power Fxの既存関数を組み合わせて、再利用可能な関数を定義
 - 例:
If(IsBlank(x), "未入力", x)をCheckInput(x)として定義 - 新しいロジックや演算子を追加することはできない
参考:キャンバス コンポーネントのプロパティ - Power Apps | Microsoft Learn 
🧠 市民開発者ができること/できないこと
| 項目 | 市民開発者でも可能 | 開発者の支援が必要 | 
|---|---|---|
| 標準コネクタの活用 | ✅ | - | 
| UIの工夫(Gallery、ラベルなど) | ✅ | - | 
| Power Fx関数の活用 | ✅(制約あり) | - | 
| HTTPアクションの設定 | ⚠️(簡単なAPIなら) | ✅(複雑なAPI) | 
| Graph APIの活用 | ❌(基本的に難しい) | ✅ | 
市民開発者ができる範囲を見極め、必要に応じてIT部門や開発者と連携することが成功の鍵です。
✅ まとめ:「無いものは作れない」が基本。でも工夫と連携で乗り越えられる
| 項目 | 内容 | 
|---|---|
| ❌ 独自のUI部品や関数を追加する | 基本的に不可 | 
| ✅ 複数の部品を組み合わせて再現 | 工夫次第で可能 | 
| ✅ HTTPやGraph APIで拡張 | 開発者の支援があれば可能 | 
Power Platformは「用意された部品を使う」ことが前提のツールです。
無いものは作れない。でも、あるものを組み合わせて近づけることはできる。
そして、必要に応じて外部APIやGraph APIを使って拡張することも可能です。
市民開発者が安心して開発を進めるためには、「できること/できないこと」を正しく理解し、必要に応じて周囲と連携することが重要です。


