事務職がアプリ導入に挑戦した話

## はじめに
この記事は、[Power Apps Advent Calendar 2023](https://qiita.com/advent-calendar/2023/powerapps) 12月21日担当分の記事です。
事務仕事をしていた私が、今年初めてPowerApps導入に挑戦し
ましたのでその内容を記載します。

## 学習方法
元々SharePointやExcelVBAは少し学んでいたのですが、PowerAppsは初めてのためどのように学んで構築したのか記載します。
### 書籍での学習

https://www.shoeisha.co.jp/book/detail/9784798170558

PowerAppsを使用する上でまず押さえておくポイントが記載されているので
私のような初学者にはおすすめの一冊です。
２つ作りましたが、２つ目のアプリについてはギャラリー部分を書籍と同じようなレイアウトにするなど模倣させていただいた部分もあります。

- **アプリ設計やデータ設計**
まず何をしたら良いかを記載いただいたのが大きいです。
ノートに下書きでアプリの絵を書いたりExcelで表を作りデータ設計を行えました。
- **自動生成アプリ**
登録から更新、削除の一連の流れを自動生成アプリを通して学べました。
最低限必要な関数もここで一気に学べました。
- **委任**
事前に委任問題について押さえられるのは大きいです。
<br>

https://bookplus.nikkei.com/atcl/catalog/23/02/13/00679/

応用した使い方が記載されており、少し難しいところもありますが
アプリ改善を行う際に大変参考になりました。

- **編集フォームの入力チェック**
入力項目の関連チェックを行えました。
- **コレクション関連**
データ退避を行う関数について学べました。
- **SharePointリストフォーム構築**
リストフォームへの構築を学べました。

### コミュニティへの参加
上司や同僚は開発経験が無く誰にも相談できません。
最初は参加する事に内心躊躇していたのですが思い切ってコミュニティに参加しました。

https://kimamani.connpass.com/

たなさん、Miyakeさん、石川さん、ようさん、ふらりさんが開催してくださっているコミュニティです。
PowerAppsとPowerAutomateとの連携、Teamsコネクタ、SharePointコネクタ、Dataverse、GraphAPIなどたくさんお話をしてくださいました。
参加していなければ苦労していたことは目に見えております。
また、PowerPlatformは奥が深く今後も継続して学びたいと思うようになりました。
<br>

https://gatsudemy.connpass.com/event/284770/

出戻りガツオさんのイベントです。
Excelもデータソースに指定できるということをお教えいただけました。
入力時の項目「希望納期」にExcelカレンダーテーブルを用意し
休日祝日チェックを行う方法を実現できました。
<br>

https://gatsuo.connpass.com/event/291029/

同じく出戻りガツオさんのイベントです。ギークさんと合同で開催いただきました。
AIは使用している環境の都合で実現できなかったのですが
コンテナなど新たなコントロールをお教えいただき導入できました。
<br>

https://youpowerplatform.connpass.com/event/282783/

ようさんのイベントです。
PowerAppsでSharePointリストを操作するデモをお教えいただきましたが
PowerAutomateのPowerAppsV2トリガーを初めてお教えいただけました。
当初SharePointリストのポーリングトリガーでの実装でしたので
デモの際に少し待ってくださいとなっていたのが、スムーズに実現できました。

<br>

https://www.docswell.com/s/yousei/K4Q4GY-2023-08-05-235610

ヨウセイさんが気ままに勉強会で登壇いただいたイベントです。
PowerAutomateとPowerAppsとの連携について詳しくお教えいただきました。

「入力した情報をExcel帳票に移せないか」という無茶振り要望を
実現させてくださいました。
作成したExcel帳票はSharePoint上に格納したためPowerAutomateでExcelファイルのURLをPowerAppsに戻す必要がありましたがその際のエラー制御まで詳しく説明いただいた事で実現できました。
<br>

https://oujasan-to-issho.connpass.com/

おうじゃさんのコミュニティです。
モデル駆動型についてたくさんお教えいただきありがとうございます。
SharePoint以外のデータソースの選択肢としてDataverseに大変興味が持てました。

## コミュニティに感謝
コミュニティに参加させていただいて感謝しかないのですが
本当にたくさんの恩恵を受けさせてくださって大変ありがとうございます。

- **繋がりを感じた**
職場では利用者は要望は言いますが、技術的なことが分かっていないので
相談はできないどころか本当の意味で共感もしてもらえません。
コミュニティを通して知りあった方々からコメントをいただくのは
精神的な面で本当に心の支えになりました。

https://twitter.com/DemodoriGatsuo/status/1658610123420635138?t=ShKm8Myg7ZPS9HtcB2-AUA

https://twitter.com/youseibubu/status/1688002516020342784?s=20

- **アドバイスに感謝**
精神的な面ではなく、技術面でお教えいただけたこともあります。
アプリができると「あれも作れ、これも作れ」という要望があり
土日にPowerAppsで試すもののうまく行かず、途方にくれたポストをしていると
ヨウセイさんやあんこ先生がアドバイスくださいました。
的確で惜しみなくアドバイスをしてくださったおかげで実装できました。
本当に感謝しかございません。
支えられてアプリ実装ができたとつくづく感じております。

https://twitter.com/youseibubu/status/1693617179424416140?s=20

https://twitter.com/ankoromochi7793/status/1693607428594782243?s=20

<br>

- **知らないことを知れた**
コミュニティに参加していると知らない知識がたくさん出てきます。
モデル駆動型アプリ、Dataverse、開発者環境など最初は何？って思いましたが
何回も言葉にしていただけることで「そういったものがある」という感覚になり
今は、まだまだ使いこなせていないものの実際「開発者環境」で試すことができています。
実際、書籍だけであればアプリの実装も厳しかったですし
知っている範囲の知識も狭いものになっていたとつくづく感じております。

## 反省点
反省点は職場で自分一人でアプリを作っていたことです。
そして異動時に引継ぎで苦労することになります。

後任の方はSharePoint、PowerAppsも知らないため、動画などを用いて
学習（就業時間内で）してもらうようにお願いしましたが、なかなか知識の伝達を行うのが難しく引継ぎがスムーズにできませんでした。

今後は勉強会を積極的に上の人に持ちかけ、後任の方にはデモをお願いいただくような機会を取っておくなど、知識の共有をしていくことが今後の課題です。
たとえ、そんな時間が無いと言われたとしてもやろとすることが重要に思えます。

## 最後に
最近はPowerApps、PowerAutomateの書籍も充実しており
コミュニティでも知識を得ることができて、本当に恵まれていたと感じております。
また、今までは事務職の仕事とアプリ構築を並行しておりましたが
コミュニティに支えていただいたおかげでありがたいことに異動先では
ITチームに所属することができPowerPlatformを活用した仕事をさせていただいております。

今後は、社内外でインプットだけではなくアウトプットもしていき
コミュニティや職場に還元していきたいと思います。