技術情報ブログ
Power Platform
2024.04.17

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

Power Apps・Power Automateの勉強方法(1)
小刀稱知哉

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

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

弊社でもMicrosoftのローコードツールである「Power Automate/Power Apps」のコンサルティングやアプリ開発を通じて、 多くの企業様の支援をさせていただいております。

また、少し前に市民開発者の方を支援するDX教育プログラム内製化支援サービスを立ち上げました。

このブログを見てくださっている皆さんはPower Apps・Power Automateの開発や推進に携わっているかと思いますが、皆さんはどのようにして勉強していますでしょうか?

今回はPower Platform歴2年半である私がPower Platformに出会ったばかりの頃にどのように知識を習得したかお伝えしようかと思います。

市民開発者になりたいが、どの用に勉強すればよいかわからない方や、市民開発者の育成を推進していく方に読んでいただきたい内容となっています。

 

前提:私のスペック

小刀稱知哉

最初に私の自己紹介をさせてください。

私は、大学院までは情報工学を専攻しておりました。

しかし、大学院卒業後はITとはあまり関係ない分野(メーカーの技術営業)で4年半ほど働いておりました。
その後、30歳の頃にIT企業に転職し、1年半ほどSEとして業務を行っておりました。
更にその後、アーティサンに転職しPower Platformに出会ったという流れです。

よって、Power Platformに出会った頃のITの経験値としては、大学院までの知識+1年半のIT企業での業務経験という程度です。
大まかに言うと、SE2年生程度でしょうか。(基本的かつ局所的な知識は理解しているが、全体網羅性は低く、応用力はない状態)

 

Day 0:自分の立ち位置を明確化する

なぜ上記のように自分の経験値についてお伝えしたかというと、 「これからPower Apps・Power Automateを勉強したい人」と一口に言っても、そのスタートラインは様々だと考えているからです。

ITの基本的な知識(具体的に言うと、DBやシステム設計の知識)がある場合には、Power Apps・Power Automateそのものの勉強から始めても良いと思います。 一方、上記の知識がない場合には、Power Apps・Power Automateの前に、ITに関する基本的な知識を習得する必要があると私は考えています。

詳細については、以下ブログを参考にしてください。

私自身は、DBに関する基本的な知識は持っていたため、システム設計に関するから勉強していきました。

今回、DBやシステム設計に関する勉強方法は割愛します。
上記システム設計に関する知識はPower Platformに限った話ではないので、ネットや書籍をもとに勉強することを推奨いたします。
※上記のブログも参考にしていただければと思います!!

少し前置きが長くなってしまいましたが、今回の本題であるPower Apps・Power Automateの勉強方法について、私の体験談を交えお伝えします。

 

Day 1_前半:ネットで調査+書籍で情報収集

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

このブログを読んでいただいている皆さんは、「Power Apps・Power Automateについては大まかには知っているけど、細かい情報についてはまだあまり知らない」という状態だと思います。

最初の日に行うべきことは、ネットや書籍を用いて情報を仕入れることです。 私は電子書籍にてPower AppsやPower Automateの本を購入し、とりあえず目を通してみました。

ネットだけで調査すれば良いか?という議論はありますが、私は書籍も用いることをおすすめしています。 理由としては、書籍を活用すると、体系的に情報を得ることができると考えているからです。

ネットの場合、調査したい事項が明確にある際は効果的に情報を習得できます。 一方でそもそもの疑問が明確でない場合は、何を検索ワードに入れればよいのか不明であることが多いと思います。よって、結果的に本を読む方が早いというのが私の経験則です。

本フェーズでのポイントとしては以下です。

  • なるべく新しい本を購入する

    Power Apps・Power Automateは日々機能が向上したり、編集画面が変わってゆきます。
    古い書籍で勉強すると、どうしても画面が異なる事態が発生し、勉強速度が遅くなる可能性があります。

    よって、なるべく新しい本を購入することをおすすめいたします。

  • 書籍は1日で読み切る(全部理解しようと思わない)

    書籍は1日で読み切ることがポイントです。
    本フェーズの段階では、書籍の内容をすべて理解する必要はありません。
    あくまで情報収集ですので、本をペラペラとめくり全体概要を掴みます。

    ※私の経験則ですと、技術本の場合は序盤に全体概要・コラム欄に有用なナレッジが記載されている事が多いので、そちらを重点的に読みます。

  • 疑問点は書き出す

    ネット+書籍で情報収集を行う上でいちばん重要な内容ですが、調査しながら疑問に思った点を書き出すことです。

    様々な情報を集めている段階では、色々な疑問点が浮かぶと思います。

    浮かんだ疑問点を都度調査すると、情報収集の速度が落ちるので、一旦紙に書いて記憶の外に押し出します。


    私は付箋に以下のような疑問点をひたすら書き出していました。

    • Power Apps・Power Automateの立ち位置(Power Platformとの関係性)

    • ライセンスは何がある?

    • どういうアプリをつくるのか?

    • 他システムと比較した際の優位性は?

  • 固有名詞を覚える

    言わずもがなだと思いますが、Power AppsやPower Automateで用いられる固有名詞を覚えるということは、とても重要なポイントですね。
    (例:ギャラリー・ボタン・コンボボックス・トリガー・アクション など)

    固有名詞を理解できていないと、他者との情報共有もできませんし、ブログなどの技術資料を読んでいても内容を正確に把握できないと思いますので、必ず固有名詞は覚えるようにしてください。

    書籍での情報収集では、固有名詞とその内容が掲載されているので、効果的に覚えることができるのではないでしょうか?

 

Day 1_後半 疑問点を調査する

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

Day 1の前半で情報収集を行いましたが、その際に疑問点を書き出したかと思います。
Day 1の後半は、疑問点を調査していきます。
こちらは、ネットで調査することになるかと思います。

ポイントとしては、以下となります。

  • 他者に説明できるようになるまで理解する

    調査を行う際に、どの段階まで調査すればよいのか?という議題があるかと思いますが、私は他者に説明できるようになるまで理解するというレベルまで調査する必要があると考えています。


    他者に説明する際には、必要となる知識の背景や似ている概念との相違点なども含めて体系的に説明する必要があります。

    私の場合は、いつも一人でブツブツ言いながら、調査した内容を空気に向かって説明しています(笑)

  • 要約する

    前項と少し似ている内容となりますが、調査した内容は要約して覚えることも重要です。
    イメージとしては、「要するに、〇〇は✕✕のこと」と理解することです。

    この際、内容が合っているかはあまり気にしてません。

    自身の今までの知識をもとに要約していきます。


    例えばですが、私がノートに記載していた要約は以下です。

    • Power Appsは、要するにMVCのVを指す

    • Power Automateは、要するにMVCのCを指す

    • Power Appsは、要するにコントローラーのプロパティに関数を入れることでアプリを構築する

  • 疑問点から発生した新たな疑問点も書き出し、再び調査を行う

    知識は比較と分類を行うことで、加速度的に習得することができます。

    よって、疑問点を調査する上で発生した新たな疑問点も付箋に書き出し→再調査→新たな疑問点を付箋に書き出し→・・・という作業を行うことが重要です。

    経験上、ここの手間を省く方が多い印象があります。
    ここの手間を省くと、情報が「点の状態」で終わってしまうため、網羅的な知識(=情報が「面の状態」になる)を習得するまでに時間がかかってしまいます。

    一時的には手間がかかると思いますが、後から振り返ると、この手間を省かないほうが近道であると私自身は思っています。

 

Day 2-3 書籍の内容を実践する

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

Day 1を終えると、Power Apps・Power Automateの固有名詞や全体概要について把握できているが、実際のアプリを作ることはできない状態となっていると思います。

そこでDay 1で用いた書籍を再度読み直し、そこに記されているサンプルアプリを作成します。

くれぐれも全体概要や固有名詞を理解できていない段階で始めないようにしてください。
全体の中で、今何をやっているのか?がわかっていない状態でサンプルアプリを始めても、得られるものが少ないと思います。

以降では、実際にPower Apps・Power Automateを作成していきます。

Microsoft 365の環境がない方や、会社の環境では好き勝手にアプリを作成できない方は、「Microsoft 365 開発者プログラム」がありますので、そちらを使用することをおすすめいたします。

Microsoft 365 開発者プログラム

サンプルアプリを作成する際のポイントとしては、以下です。

  • 短期間で行う

    本フェーズの目的は、以下だと考えています。

    • アプリの編集画面の操作方法を把握する

    • 前項で把握した固有名詞について、実物を知る

    この段階でアプリを作成できるようになる必要はないため、短期間に作成することが重要です。
    私の場合は、基本的に1日~2日程度で完了させることを心掛けています。

    (余談ですが、この段階で実際に動くものができるため、すごく嬉しかったことを覚えています。)

  • 疑問点は書き出す

    実際にアプリを作成していくと、どんどん疑問点が発生します。
    前フェーズでも記載しましたが、発生した疑問点は都度調査するのではなく、一旦付箋などに書いて棚上げしましょう。

    ちなみにこの段階で発生する疑問点は、前述した事項と比べ、より具体的な内容となっているのではないでしょうか。


    私のノートには以下のような記述がありました。

    • SearchByColumns/Search/Filter/LookUpの違いは?

    • SubmitForm/Patchの違いは?

    • データソースに”@”があったりなかったりするけど、その違いは?

    • Parent/Selfとかってなに?

    • Excel/SharePoint Listの違いは?

    • エラー発生時のデバッグ方法は?

    サンプルアプリの作成が完了したら、上記疑問点も一気に調査しましょう。

 

Day 4-7 書籍の内容を1から自力で作り直す

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

さて、実はここからは本番となります。
前項までの段階で、Power Apps・Power Automateについて「分かったつもり」になっている段階ではないでしょうか?

本を読んでも理解できないと仰る方に多いのが、「本を読んでサンプルアプリを作ってみたけど、いざ自分が必要なアプリをつくろうとすると対応できない」という内容です。
こちらは考えてみれば当たり前なんですが、書籍で教えてくれるのはあくまでサンプルアプリの作成方法であり、あなたが欲しているアプリの作成方法ではありません。

(例えるなら、「鍋や包丁の使い方は分かるけど、それらを使ったカレーの作り方はわからない状態」とも言えるでしょうか。)

今後必要になる力は、ネットや書籍で得た情報を「実際にどの場面で、どのように使うことができるのか」という点です。

それを行うために、まずはサンプルアプリを1から自力で作り直すことをおすすめします。
私の場合は、作成したPower Apps・Power Automateについて、そのアプリやフローでやりたいことを再度書籍で読んだ後、1から作り直しました。

おそらく「分かったつもり」になっていたとしても、1から作り直すと、全然理解できていないことが分かるのではないでしょうか。
(私もまったく同じ経験をしました(笑))

本フェーズでのポイントは以下です。

  • 書籍の順番通りに行う必要はない

    書籍に記載されている内容を、順番に対応しようとする方がいらっしゃるかもしれませんが、書籍の通りに行う必要はありません。
    自身が理解している内容を、とにかく実装してみてください。

    わからない部分が発生したら、都度書籍から対象の部分だけ引用し、引き続き自身の力で作成しましょう。

  • 全体の9割が自力で作成できるようになるまで、何度も繰り返す

    1からアプリを自力で作成すると、自身が理解できている・できていない点が明確になったかと思います。
    その状態で再度アプリを作成することをおすすめします。(全体の9割を自力で作成できれるまで繰り返すのが良いのではないでしょうか。)
    ※私の場合は、1アプリに対して、大体3回ほど作り直している気がします。

  • 短期間で行う

    本フェーズにおいても、短期間で行うことをおすすめします。
    1つのアプリを1回/日作り直すくらいのイメージです。

    本フェーズの段階では、まだまだ知識が固まっていない段階ですので、短期間に同じ情報を繰り返すことで記憶の定着化を行います。

私の経験上、ここの手間を省き、「書籍を読みながら実践して終わり」方も多い印象があります。

システムの構築経験がある方は、一度書籍を読んだだけである程度理解できるかと思います。
しかし、これから市民開発者になるぞ!という方は、おそらくあまり前段階の経験値が少ない方なのではないでしょうか?

自分の知らない分野を勉強する際には、「分かったつもり」にならないために、一度試したことを何度も繰り返すことが重要だと考えています。
(学生時代、薄い参考書を何度も繰り返したほうがいいと言われたことはありますか?あれと同じイメージです。)

ちなみに、システム構築経験がある方も、書籍の内容を繰り返すことをおすすめしています。
理由として、Power AppsはCやJava・Pythonなどの言語とは、発想(考え方)が異なるためです。
Power Appsは「リアクティブ」と呼ばれる実装方式であるため、CやJava・Pythonなどの言語とは構築する際の発想(考え方)が逆になります。
詳細な部分に関しては、実際に開発すると理解していただけるかと思いますが、CやJavaを書いたことのある方だと、(私もそうでしたが)最初は戸惑うことになるかと思います。

よって、Power Appsの発想(考え方)に慣れるためにも、同じ内容を何度も繰り返すことは、皆さんとってメリットがあると思います。

 

さいごに

少し長くなってしまいましたので、本日はここまで。

Power Apps・Power Automateの勉強方法について、私が実際行った方法を記載させていただきました。
次回は私が実際に行った勉強方法について、後半部分をお伝えします。

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

小刀稱知哉

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

1990年4月9日生まれ

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

趣味は読書

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

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

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

2024.04.03

非エンジニア【(元)自治体職員】が半年間ローコード開発をしてみたら

2024.03.27

Power Automateのベストプラクティス・アンチパターン(5)【Apply to each×コンカレンシー×変数の設定はNG】

2024.03.20

Power Apps×Teams:Teams上からPower Appsを実行する方法

2024.03.13

Power Apps:SharePointリストと連携したカレンダーアプリを自作してみよう

モデル駆動型アプリ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
ページトップに戻る