2K Views
February 22, 25
スライド概要
Global Power Platform Bootcamp 2025 in Japan 登壇資料です
2025年02月22日(土) B03 Power Platformでのアプリ開発のコツ
RPACommunityライトニングトーク支部主催
GLOBAL POWER PLATFORM BOOTCAMP 2025 Japan Power Platform でのアプリ開発のコツ 百合宮 桜 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
百合宮 桜 Yurimiya Sakura • 株式会社 BizOptimars 所属 • Happy Low-Code 主催 • RPACommunity • ライトニングトーク支部 • Power Automate for web 支部 • Power Automate for desktop 支部 • 最近ほしいもの • 身長 • 財力 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
はじめに 本セッションは個人的見解で構成されています。 資料は本セッション終了後に #GPPB2025JP で公開予定です。 ご感想・ご質問・業務改善川柳・コミュニティ限界飯は #GPPB2025JP または 本会議 チャットに投稿お願いいたします。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
目次 • 開発目的の決め方 • 設計のコツ • 開発者の同僚の皆さんへ • 巻末付録 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
開発目的の決め方 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
業務改善=複数の成果のマリアージュ 業務は複数が連携して成果を 出すことが多いです。 それ故に初めてのアプリ開発 ではあとからあれも必要だっ た!これも必要だった! と増 築したが故の無茶な実装や複 雑な構成になりがちです。 これらを避けるために業務同 士の境目や関連性を明らかに することが大事です。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
業務フロー図を描く 業務フロー図とは業務の手順を図に表したものです。図に描き起こすことで、1つの業務だ と思っていたものが実は複数の業務が組み合わさっていることに気がつけます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
時間は左→右に流れる 過去 未来 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
登場人物は縦に、出てくる順に置く 最初 終わり #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
ひとまず矢印と四角だけで描く #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
完了手本は添えておく 現在の業務ではどんな風にデータを作っているかを参考程度に載せておくと、アプリの画 面レイアウトやデータ構成を考えるときに役立ちます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
要望をまとめる 現状できていることでアプリでも必須にしたい機能や今はできていないけれどもアプリ化 するなら実装してほしい機能があります。それらを業務フロー図に追記すると、自然にど んな形のアプリがほしいかが見えてきます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
業務完了に必要なデータを洗い出す それぞれの手順で何のデータが揃えば、次の手順に進めるかを考えて、一覧にまとめま しょう。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
設計のコツ #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
設計とは 開発目的を達成するためにアプリのデザインや機能、データベースなどを決める作業です。 業務フロー図を描いた時に出た要望が実現可能な形式を検討します。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
Power Apps の構成 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
POWER APPS アプリの全体像 Power Apps のアプリはコネクタ経由で外部のデータベースと接続します。ユーザーの要求 はPower Fx の数式でデータベースが理解できる言語に翻訳され、コネクタに送られます。 コネクタがデータベースに問合せ、データベースが結果を返して、それをアプリがユー ザーの見やすい形式に変換して表示します。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データベースとは? 目的のために一定の規則に従って、データを蓄積したものです。規則に則って、データを 入力することで、データ量が増えても管理や活用が簡単になります。 目的 規則 • 誰が何のお弁当を注文したか分かるようにする • 注文者ごとの1か月の合計金額を算出する • 毎朝9時にメニューごとの合計個数を算出する • すべての項目を入力する • 注文日は 2025年02月22日 という表記で入力する • 注文者の名前は「姓 名」の順で入力する #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
コネクタとは? 外部のデータベースからデータを取得し、操作するものです。ユーザーがアプリに対して アクセス許可を与えることで機能します。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
アプリとは? ユーザーとデータベースシステムの橋渡しをするものです。アプリに予め Power Fx の数式 が書かれていたり、コネクタが接続されていることで、ユーザーは画面を操作するだけで 自分の要求を満たすことができます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データベース設計 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データベース設計とは? 業務で利用するデータを格納する基地をデータベースと言います。その基地の中でどの データをどこに置くかを決めるのがデータベース設計です。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
アプリにはリレーショナルデータベース リレーショナルデータベースとは表をたくさん作って(正規化)、複数の表の間にリレー ション(関係)を持たせて、データを管理する方法です。効率的な検索や多重管理の防止 を実現できます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データの正規化=業務改善 データの正規化とは効率よくデータを蓄積できる方法を考えることです。リレーショナル データベースでは必要なデータを意味あるグループに分けて、分けた一覧表の間に主キー でリレーション(関連)を作成します。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
一覧表は管理が煩雑 データベースといって、真っ先に思いつくのが Excel でよく作る一覧表形式のものです。 データを記録することはできますが、注文者の名前のようにデータベース内で常に同じ値 が表示される必要があるものが変更になった時に過去のデータをすべて変更しなくてはな りません。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
リレーションがあれば管理がラク データを正規化し、リレーショナルデータベースでデータを管理すると1つのデータは1か 所で管理できるようになります。その為、データを修正する時も1か所修正すれば、過去の データにも変更が反映されるので、データ管理を効率的に行えます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データの矛盾を防ぐ データの正規化を行わないとレコードを削除した時に付随データも削除されてしまい、現 状とデータの間に矛盾が発生します。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データの正規化 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データ活用目的を決める 今回は弁当の注文業務の効率化が目的です。ただせっかくなのでアプリで入力したデータ は再利用したいとも思っています。+α でどのように活用したいかを考えてみましょう。 価格変更を 管理したい どの部署から の注文が多い か知りたい #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
出力結果を決める アプリでの検索や表示でどのようなデータがほしいかを決定します。業務フロー図を描い た時に出た要望を具体的な画面レイアウトに落とし込んでみましょう。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
繰り返しをなくす 業務フロー図を描いた時にまとめた必要なデータの一覧表から同じ値が繰り返されている 列を探します。一覧表に同じデータを何度も手入力するのは無駄なので、別の表に分けて それを参照する必要があります。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
主キーを作成する 表を分けたら、2つの表を結びつけるための項目を用意し、その項目を両方に追加します。 この項目を主キーと呼びます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
レコードを識別できるか確認する 一覧表のそれぞれのレコードを識別できる一意な値があるかどうかを確認します。一意な 値がない場合は識別するための項目を新たに作成するか、複数の項目の組み合わせ(複合 キー)でレコードを識別します。 注文番号で 識別できる 注文番号と メニュー名を 組み合わせれば 識別できる #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
複合キーは表を分けられる可能性がある 注文明細の主キーは「注文番号」と「メニュー名」の組み合わせです。ただ価格や弁当業 者はメニュー名が分かれば決まります。このように主キー以外で決まるデータは表を分け ることができます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
意味あるグループを作れるか確認する メニューの一覧表には弁当業者名と弁当業者名メールアドレスという弁当業者に関わる情 報のグループがあります。このように一覧表の中で意味のあるグループを作れる時はその グループを別の表として独立させます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
目的に必要なデータが揃っているか確認する 作った一覧表を眺めて、活用目的に必要なデータが過不足なく揃っているか確認しましょ う。メニューの価格変更を管理する項目や従業員の所属部署が分かる項目はありますか? #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
履歴を残しておく 販売価格のような年月によって変化するものはメニュー番号を主キーに履歴を残すように 一覧表を作ると、価格の変化が販売数に与えた影響を分析することができます。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データベース作成の注意点 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
リスト名や列名は半角英数字で作成する SharePoint の場合は表に出ているリスト名や列名の他に内部名というものを持っています。 内部名は日本語で登録するとエンコードされて、非IT職種の人には理解が難しいです。 日本語登録の列 Englishの列 内部列名は最初に登録された列名がそのまま反映されます! 半角英数文字で登録してから日本語に変更しましょう! #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
項目に入力できる値が決まっている データベースは Excel と違って、項目ごとにデータの種類を決めて、その種類のデータし か入らないように設定します。データの種類を数値に設定した項目でテキストを入れるこ とはできませんので、データの種類や文字数などを予め決めておく必要があります。 全角テキストを 入力しようとし てもできない #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
選択肢は変わらない値だけに使う 選択肢は生物学上の性別のような未来永劫変わらないと断言できるデータにだけ使いま しょう。少しでも変更の可能性のある項目を選択肢にしてしまうと、他のリストとリレー ションを組むことができなくなりますので、変更が煩雑になります。 選択肢列 選択肢名称を変 更しても過去の データはそのま ま残る 要件マスタ 来訪受付リスト 参照列 参照元を変え れば自動的に 参照先も変更 される #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
データの種類による制限を意識する テキストや数値、選択肢などデータの種類によって入力できる文字数や桁数に違いがあり ます。また同じ種類の列の追加できる数にも制限があります。これはデータベースの種類 によっても異なりますので、そのデータベースで必要十分を確保できるかを確認します。 ソフトウェアの境界と制限 (SharePoint Server 2016 および 2019) - SharePoint Server | Microsoft Learn #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
自動生成項目を上手に使う データベースによっては ID 値やレコード作成者などの項目列を自動で作ってくれます。利 用できるものは利用して、同じような役割の列を作らないようにすると効率的です。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
開発に取り掛かるその前に #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
レコード識別に使う列の値を考える 注文番号やメニュー番号などレコードの識別に使う番号は単なる連番ではなく、 20250222-001 のような「年月日+通し番号3桁」といった意味のある組み合わせの方が良 いこともあります。 意味のある組み合わせ • 検索で使う場合は覚えやすくて便利 • SharePoint に格納するには技術力がいる 連番 • ただの連番なので覚えにくい • SharePoint には ID 列があるのでそのま ま使える #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
アプリからの削除処理、ダメ絶対! アプリからレコードを削除したい場合は、データベースに削除フラグを作成しましょう。 Power Platform で削除処理を入れてしまうと、意図せぬ削除があった時にそれがユーザー の誤操作なのか、Power Platform の誤作動なのかの区別がつかず、業務に支障をきたす恐 れがあります。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
脱・迷子! ER図を作成しよう リレーショナルデータベースに慣れていないと、どのリストが関連を持っているのかが分 かりにくく、開発途中に混乱することがあります。リストの関連がひと目で分かるように ER 図を作成しましょう。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
開発者の同僚の皆さんへ #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
技術力より業務力! Power Platform の技術はお金で買えますが、業務理解は皆さんの頭の中にしかありません。 開発者の業務理解が浅いと感じたら、業務理解を深められるように教えてあげてください。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
武勇伝は積極的に♪ 「こんな依頼があって困った」「最盛期はこれだけの注文があった」「あまり注文がない けれど実はこんな商品も売っている」などの武勇伝は業務フロー図を描く時に積極的に共 有してください。皆さんの経験がアプリをより強く、便利にします! #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
アプリはガンガン使ってください 同じ業務をしていても、不便だなぁと思うポイントや使いやすいレイアウトはそれぞれ違 うものです。アプリは積極的に活用し、「あったらいいな♪」と思うコトはどしどし共有 してください。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
アプリ開発とかけまして 飲み会とときます #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
巻末付録 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
SHAREPOINT データの種類判別チャート #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP
Thank you for watching. Could you Please provide your feedback on this session and this event. ご視聴ありがとうございました! フィードバックにご協力ください Session survey Event survey 本セッションに対するアンケート イベント全体に対するアンケート 本セッションついて参考になった点や 感銘を受けた点、もっと知りたかったことなどをお寄せください。 運営チームメンバー、登壇者、サポートメンバーに対する 暖かいフィードバックをお待ちしております。 #GlobalPowerPlatformBootcamp #GPPB2025 #GPPB2025JP