技術情報ブログ
Microsoft
2024.02.28

【2024年2月更新】Power Apps の実践的なノウハウ まとめ

【2024年2月更新】Power Apps の実践的なノウハウ まとめ
小刀稱知哉

こんにちは。アーティサン株式会社の小刀稱(ことね)です。

近年はコーディングスキルを伴わない「ローコード技術」という分野が盛んになっており、 システム開発経験の無い方(=市民開発者)がローコードを用いてシステムを開発するというケースが増加しています。

Microsoft社もローコード技術に注力しており、Power Platform(Power AppsやPower Automateなど)という開発基盤を提供しています。

本記事では、Microsoft製品のコンサルティングを通してローコード技術を世の中に浸透させてきた弊社が、 今まで累積してきたPower Appsのノウハウについて紹介いたします。

実際の現場でもかなり有用な内容となっていますので、Power Appsを開発する方すべての人にご覧いただきたい内容です。
※本記事は逐次追加していく予定です。(2024年2月追記)

世界に広がる Power Apps「モデル駆動型アプリ」のココがスゴイ!

Power Platform:経営者がローコード開発をやってみた!

Power AppsとSharePoint連携:SortByColumns関数で日本語列を使用する際の注意点(内部列名と外部列名)

Power Apps で保守性を高めつつギャラリーのタブ切り替えを実装する

Power Appsでデータの順位を求める方法(RANK()関数と同等機能の実装方法

Power Appsアプリの多言語化への対応方針

Power AppsアプリをPCとスマホで操作したい時の対応方針

Power Apps の添付ファイルをダウンロードすることなくブラウザ上で閲覧する方法

Power Apps キャンバスアプリを用いて、年月のみで日付を表示・選択する方法

Power Apps キャンバスアプリ:承認機能の設計方針

Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて

Power Apps:ForAll 関数で Set や UpdateContext を使いたい時

Power Apps:動的リストの実装方法

SharePoint×Power Appsフォームのエクスポート・インポート方法

Power Apps コンポーネントで確認ダイアログを作ってみた

Power Power Apps:検索ウィンドウを用いた変数・コレクションの検索

Power Power Apps:セキュリティグループ・Microsoft 365グループのユーザーを取得する方法

削除したPower Apps・Power Automateの復元方法

Power Apps:結局「委任に関する警告」ってなに?

Power Automate:メールの送信元まとめ(Power Apps編)

Power Appsって本当に誰でも作れるの?

市民開発者がアプリを構築するための知識とは?

Power Apps:キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針

Power Apps × SharePoint:500/2,000 件の壁を超えるためには?

Power Apps:縦×横スクロール可能なギャラリーの作り方

【小ネタ】Power Apps:知らなきゃ損!? 便利なショートカットキーの紹介

【追加】 Power Apps・Power Automate:開発と本番環境を用いたアプリ構築手法

 

世界に広がる Power Apps「モデル駆動型アプリ」のココがスゴイ!

Power Apps モデル駆動型アプリについて紹介しています。

「モデル駆動型アプリって何?」という内容や、キャンバスアプリとの違いなどを説明しています。

Power Apps初心者の方が最初に躓くポイントとして、「どの種類のアプリを用いて開発すればよいのか」という点があるかと思います。
そのような時に、この記事を参考としてください。

 

Power Platform:経営者がローコード開発をやってみた!

弊社の代表が、実際にPower Appsに触れて、アプリ開発を行ってみた際の奮闘記(笑)を紹介しています。(現在継続中です。)

「ローコードって誰でも開発できるものなの?」という疑問や、開発する上で必要なポイントなども紹介されています。
これからPower Appsを用いて開発する際の、1つの指針となる内容ですので、是非ご覧ください。

 

Power AppsとSharePoint連携:SortByColumns関数で日本語列を使用する際の注意点(内部列名と外部列名)

Power Appsのデータベースとして、SharePointリストを用いるケースは多いと思います。

本記事では、SharePointの仕様がPower Appsとかみ合わずエラーになる際の原因とその対策について紹介しています。

また、SharePointの内部列名・外部列名についても紹介しています。
Power AppsとSharePointリストを用いたアプリを開発する際には、事前に一読することをおすすめします。

 

Power Apps で保守性を高めつつギャラリーのタブ切り替えを実装する

Power Appsでタブ切り替え機能を実装したいと思ったことはありますか?
本記事では、タブ切り替え機能を実際に作成しながら、作成方法を紹介しています。

また、単純に実装するだけでなく、保守性を意識した実装方法を紹介しています。
保守性が高いアプリを作成することは、安定的な運用を目指す際に必須となりますので、是非ご覧ください。

 

Power Appsでデータの順位を求める方法(RANK()関数と同等機能の実装方法)

本記事では、Power Appsでデータの順位を求める方法についてご紹介しています。

Excelでは、標準で提供されているRANK()関数を用いれば、データの順位を求めることができます。
しかし、Power AppsではRANK()関数をサポートしていません。

そこでPower Appsで使用できる関数を組み合わせ、RANK()関数と同等の機能を実装しています。
このような内容は、「知っていれば一瞬」ですが「知らなければ多くの時間が必要」となります。
本記事を参考にして、一瞬で実装しちゃいましょう!

 

Power Appsアプリの多言語化への対応方針

Power Appsを複数の言語にて実装したいという要望を伺うことがあります。
本記事では、Power Appsアプリの多言語化への対応方針について説明しています。

辞書を手動で追加する方法や、Microsoft Translatorを用いた自動で翻訳する方法を紹介しています。
それぞれの方針におけるメリット・デメリットを記載しておりますので、皆様の環境に応じて選択いただければと思います。

 

Power AppsアプリをPCとスマホで操作したい時の対応方針

Power Appsはブラウザ上で動作するアプリのため、PCとスマートフォンの両方で使用する事が可能です。
本記事では、Power AppsアプリをPCとスマホで操作したい時の対応方針について紹介しております。

アプリの種類に応じたレスポンシブデザインの対応有無や、 レスポンシブデザインに対応していない場合、どのようにアプリを作成すればよいかについて紹介しています。
Power AppsアプリをPCとスマホで操作したいという要望はよく伺う内容ですので、設計される前に是非ご一読ください。

 

Power Apps の添付ファイルをダウンロードすることなくブラウザ上で閲覧する方法

Power Appsキャンバスアプリで、登録した添付ファイルを Power Apps から開こうとすると、標準ではファイルがダウンロードされてしまいます。
ファイルを開くたびにダウンロードしていては、後でファイルを削除する手間が生じるため不便ですよね。

そこで、本記事では添付ファイルをダウンロードすることなくブラウザ上で閲覧する方法を解説しています。

1つ1つ丁寧に手順を紹介していますので、初心者の方でもかなりわかりやすい内容となっています。

 

Power Apps キャンバスアプリを用いて、年月のみで日付を表示・選択する方法

Power Appsのキャンバスアプリで日付を登録する際、「年」と「月」だけ入力し、「日」の入力は省きたいと思ったことはありませんか?

通常このような場合、デートピッカー(DatePicker)を用いることが一般的です。
しかし、デートピッカーは年月日(例:2021年12月7日)までを必ず選択する必要があります。
そこで、本記事ではドロップダウンを用いて、年月のみで日付の表示・選択を行う方法について紹介しています。

Power Appsの構築方法だけでなく、SharePointリストの列の表示を日付(年月のみ)とする方法についても説明しています。
JSONでの書式設定について知りたい方も有用な内容となっておりますので、是非ご覧ください。

 

Power Apps キャンバスアプリ:承認機能の設計方針

Power AppsやPower Automateを用いてアプリを作成する際、特に多いのが「申請・承認アプリ」です。

承認機能を実装する際には、Power Automateの承認アクションを用いることが一般的です。
一方で、「Power Appsのアプリ上で承認したい」という要望を頂くことも多いです。

本記事では、構築や運用の観点から、承認機能を実装する際のメリット・デメリットを紹介しています。

また、各方法における実装方針も記載しております。
構築を行う前に、是非読んでいただくことをおすすめします。

 

Power Apps キャンバスアプリ:選択肢列と参照(ルックアップ)列の違いについて

Power Apps キャンバスアプリとSharePointリストでアプリを作成する際、フォームの入力を選択式にすることがあると思います。
上記を実装する方法として、SharePointリストの選択肢列または、参照(ルックアップ)列を用いることが一般的です。
しかし実はこの2つ、運用や挙動に違いがあります。

本記事は、選択肢列・参照列を用いる際の違いについてお伝えしています。
中級者向けの内容となっているため、少し難易度は高いですが、とても有用な内容となっていますので是非ご覧ください。

 

Power Apps:ForAll 関数で Set や UpdateContext を使いたい時

Power Apps でアプリを作成するとき、ForAll 関数の中で変数を更新したいと思ったことはありませんか?
しかし、ForAll 関数内でSet 関数やUpdateContext 関数を使用することはできません。(2022年3月時点)

本記事では、ForAll関数でSetやUpdateContextを使いたいと思ったときの対応策について紹介しています。
Power Appsでアプリを実装する際のアイデアの1つとしてご覧ください。

 

Power Apps:動的リストの実装方法

Power Apps キャンバスアプリ上で動的リストを実装する方法について紹介しています。

Power Appsでリストの行数を動的に変更したい場面は度々発生するかと思います。

実装方法が分かってしまえば、そこまで難しい訳ではないですが、コレクションやWith()関数などを用いて実装するため、各機能や関数をきちんと理解する必要があります。
本記事を参照し、皆様のペースで理解していただければと思います。

 

SharePoint×Power Appsフォームのエクスポート・インポート方法

SharePointのフォームをPower Appsにてカスタマイズできることをご存知ですか?

標準のフォームより、より細やかな制御を行うことができるため、便利ですよね。
通常のPower Appsだとエクスポート・インポートすることは簡単にできますが、SharePointに付随するPower Appsフォームの場合は、エクスポート・インポートする際、一工夫必要となります。

本記事では、SharePointに付随するPower Appsフォームのエクスポート・インポート方法を説明しています。

 

Power Apps コンポーネントで確認ダイアログを作ってみた

Power Appsを作成する際に、コンポーネントを活用していますか?

アプリを作成する上で、共通の処理を行うことは多いと思います。
その際に、コンポーネントという機能を用いて実装すると、複数アプリや画面にて再利用できるため、いわゆる「車輪の再発明」を防ぐことができます。

本記事は、「Power Apps コンポーネントで確認ダイアログを作ってみた」と題し、コンポーネントの実装方法を説明しています。

Power Apps コンポーネントとは?という内容から、実際にPower Apps コンポーネントを用いた実装方法についても説明しています。
とても有用な内容となっていますので、是非ご覧ください。

Power Apps:検索ウィンドウを用いた変数・コレクションの検索

本記事では、Power Apps キャンバスアプリで使用できる「検索ウィンドウ」機能を紹介しています。

この機能を用いると、Power Apps キャンバスアプリで使用した様々な情報(例:変数やコレクション、データソースなど)の使用場所を検索することができます!

アプリが大規模化してくると、「この変数やコレクションはどこで使ったっけ?」という場面に遭遇します。
グローバル変数やコンテキスト変数は、従来からその使用場所を確認することはできましたが、コレクションはできませんでした。
しかしこちらの機能を用いると、コレクションについてもその使用場所を確認することができるようになったため、とても嬉しい新機能です。

まだ日本語化がうまくいっていない箇所などについて、丁寧に説明しておりますので、是非ご覧ください。

 

Power Apps:セキュリティグループ・Microsoft 365グループのユーザーを取得する方法

本記事ではPower AppsのTipsとして、Power Apps キャンバスアプリでセキュリティグループ・Microsoft 365グループに含まれるユーザーを取得する方法についてお伝えしています。

申請・承認アプリなどを作成する際、Azure ADで登録しているグループ内に含まれているユーザー一覧から承認者を選択したいという場面があるかと思いますので、実装方法の1つとして参考にしてください。

 

削除したPower Apps・Power Automateの復元方法

Power AppsやPower Automateを作成している際、誤って削除したことはありませんか?

削除してしまうと、Power Apps・Power Automateの一覧画面から復元することはできません。
しかし、PowerShellを用いると、復元することは可能です。

本記事では、削除したPower Apps・Power Automateの復元方法について説明します。
復元できるアプリにも制限がありますので、こちらもご参照いただければと思います!

 

Power Apps:結局「委任に関する警告」ってなに?

Power Appsでアプリを作成する際、「委任に関する警告」が表示されたことはありますか?

委任問題は、Power Appsを理解する際の1つの大きな壁だと思います。
委任問題の回避策などは、他の方のすごくわかりやすい記事が多くありますので、
本記事では「そもそも委任問題って何なのか?」という部分について説明しています。

 

Power Automate:メールの送信元まとめ(Power Apps編)

Power Automateで「メールの送信」アクション用いる際、差出人を意識したことはありますか?

共有メールボックスを用いて差出人を変更することはできますが、今回は基本的な部分に立ち戻り、
「結局差出人って誰が設定されるの?」についてまとめてみました。

「メールの送信」アクションを用いるシーンはよくあると思いますので、参考にしてください。
本記事では「Power Apps編」として、Power AppsとPower Automateを連携した際のメール送信元について、調査した結果を紹介します。

 

Power Appsって本当に誰でも作れるの?

昨今、プログラムを極力書かずとも、自分がほしいアプリを作成することができるという理由で「ローコード」の需要が非常に高まっていると感じます。

お客様と会話する中で、Power Appsを全く知らない状態から1ヶ月でアプリを作り上げたという方がいる一方、 Power Appsは誰でもアプリが作れると聞いたけど、実際やってみると思いの外難しかったという方もいらっしゃいました。

そこで今本記事では、様々なお客様と接してきた私の経験から「Power Appsって本当に誰でも作れるのか?」について、私見を述べさせていただきます。
これからPower Appsで開発をやっていこう!という方にはぜひご一読いただきたい内容となっております。

 

市民開発者がアプリを構築するための知識とは?

本記事では「Power Appsでアプリを構築する最低限の知識とはなにか」について私なりの意見を紹介させていただきます。
(あくまで私なりの意見ですので、正確な内容ではないと思いますが、そこはご愛嬌でお願いします(笑))

市民開発者の方や、Power Apps初心者の方に向けた内容です。
上記のPower Appsって本当に誰でも作れるの?とセットでご一読いただきたい内容となっております!

 

Power Apps:キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針

Power Apps はブラウザで動作するアプリのため、PC・スマホで操作することが可能です。

しかし、1つのアプリで PC・スマホの両方に対応するにはレスポンシブ レイアウトという考え方で、アプリを設計する必要があります。

※詳細は以下 URL を参照してください。
Power Apps アプリを PC とスマホで操作したい時の対応方針

そこで本ブログでは、Power Apps キャンバスアプリでレスポンシブ レイアウト対応のアプリを作成する際の設計方針についてまとめてみました。
(全 4 回のシリーズとなっています。)

レスポンシブデザインのアプリを作成する際の参考にしていただければと思います。

 

Power Apps × SharePoint:500/2,000件の壁を超えるためには?

Power Apps でアプリを作成する際、気をつけなければならない 1 つの事項としてデータソースから取得できるレコード数の上限があります。

Power Apps は Dataverse や SharePoint などから最大 2,000 件(デフォルトでは 500 件)のレコードしか取得する事ができません。

よって、委任できない検索条件を用いた場合や、検索後も 2,000 件を超過するような場合は全てのレコードを取得する事ができないということになります。

※委任に関する詳細については、過去にブログを作成したことがあるので、以下 URL を参照してください。
Power Apps:結局「委任に関する警告」ってなに?

しかし、どうしても 2,000 件以上のレコードを取得したい場合があります。
よって本ブログでは、は 500/2,000 件以上のレコードを扱いたい場合の方法について紹介します。

 

Power Apps:縦×横スクロール可能なギャラリーの作り方

Power Appsキャンバスアプリでアプリを構築する際、ギャラリーを使用することはとても多いと思います。
ギャラリーで表示する項目が多い場合、縦スクロールと一緒に横スクロールで表示したいと思ったことはありませんか?

実は通常のギャラリーの場合は、縦スクロールのみ、または横スクロールのみとなっており、縦と横スクロールが同時に可能なギャラリーを実装することはできません。
これではデータの表示項目が多い、かつデータの件数が多い場合に困ってしまいます。

そこで本ブログは、縦×横スクロールが可能なギャラリーの実装方法について紹介します。

 

【小ネタ】Power Apps:知らなきゃ損!? 便利なショートカットキーの紹介

Power Appsにもショートカットキーが設定されていることをご存知でしょうか?

アプリを構築していく際、ショートカットキーを覚えていると作業効率がUPするので、覚えておいて損はないと思います。
ただし、全部のショートカットキーを覚えるのも大変だと思います。

そこで本ブログでは、よく使われるであろうPower Appsのショートカットキーを紹介します。

 

Power Apps・Power Automate:開発と本番環境を用いたアプリ構築手法

Power AppsやPower Automateでアプリを作成する際、開発と本番環境を分けて運用したいという要望を多く伺います。

2つの環境を分けることで、開発環境での対応が本番に影響を与えないため、開発者としてのメリットが大きいのではないでしょうか。
(実際にシステム開発を行う際には、従来から環境を分離することが一般的です。)

そこで、本ブログは全3回に渡り、Power Platformにおける開発と本番環境を用いた開発手法について紹介します。

開発環境の概念や必要なライセンス、環境構築手順、パイプラインを用いたCI/CD環境の構築など詳細に記載しておりますので、とても有用な内容となっているかと思います。 ぜひご一読ください。

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当:小刀稱知哉

小刀稱知哉

大分県出身(温泉大好き)、現在は東京都在住

1990年生まれ

30才でメーカーの技術営業からIT業界にジョブチェンジ!!!

趣味は読書

Power Platform(SharePoint・Power Apps・Power Automate)に関する営業活動や設計、開発などを担当しております!

持ってる資格はPL-200/PL-300/PL-400/PL-600/MS-700/AZ-104/AZ-305

シェアする
記事カテゴリ
最新記事
2024.09.18

Power Automateのベストプラクティス・アンチパターン(6)【Power Automate上でExcelファイルを編集する際の注意点】

2024.06.26

一歩先へ進む企業のためのPower Platform内製化マニュアル:Power Apps・Power Automateの内製化に必要なリンク一覧

2024.06.05

【2024年6月更新】Power Automate 設計・構築時のTips集

2024.05.15

非エンジニア【(元)自治体職員】がローコード開発をして気が付いたこと コーディング規約とPower Platformプレミアムサンプルアプリ集

2024.05.01

Power Apps・Power Automateの勉強方法(2)

モデル駆動型アプリPower AppsPower PlatformSharePointExcelPower AutomateC#attributevalidationローコードAngularAccessInfoPathMatTableAngular Materialデータ構造SortByColumns関数TypeScriptHTMLEF CoreマイグレーションFramework CoreAttribute directivesO/Rマッパーazure sql databaseCase式HTTP RequestCSSxUnit.Net Core 3.1VSCode.Net Core Test ExplorerDataverse for Teamsitem関数Google MapsMarker ClustererRANK()関数Dynamics 365 SalesMicrosoft TranslatorマーカークラスタリングライブラリtailwindcssマルチテナントドロップダウンメニューBreakpointObserverメディアクエリスマホPCレスポンシブ入門初心者中級者キャンバスアプリDatePickerDropdownviewビューアクセス制限承認リマインドSetForAllUpdateContextロードマップ技術It情報技術メッセージIDメールfirst()関数nest入れ子動的リストcollectionコレクション複数の添付ファイル承認フローformエクスポートインポートカスタマイズcomponentダイアログコンポーネントdialogTips新機能変数検索Microsoft 365グループセキュリティグループ送信元メールの送信差出人インスタントクラウドフロー自動化したクラウドフロー委任VBAエラーエクセルerror復元restorePower BI個人列ユーザー列SharePoint Onlineリスト非表示アプリ[市民開発者構築自動化したクラウド フローフローの種類インスタント クラウド フロースケジュール済みクラウド フローレスポンシブ レイアウトresponsive layoutデータ行の制限引き継ぎ退職所有者を変更異動LoopMicrosoftdesignJSONデザインtemplateテンプレート運用選択肢列参照列ChatGPTOpenAIオープンAIチャットGPTgalleryギャラリースクロールコンテナショートカットキーshortcut keyconcat関数文字制限フロー実行開発環境環境本番環境ライセンス環境構築手順pipelineCI/CDパイプラインDevOpsMicrosoft 365簡易在庫管理時間外通知ファイルフィルター クエリドキュメント ライブラリfilter querysortソートmultiple item複数項目シェアポイント便利機能カレンダーCalendarTeamsローコード開発非エンジニア体験談勉強内製化
PageTop
ページトップに戻る