Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Excel + SharePoint + Power Platform による
ローン返済シミュレーション アプ
リ開発
日時 : 2020/08/29
LogicFlow-ja online #3
平野 愛 | Ai HIRANO
自己紹介
2
平野 愛 (旧姓: 山崎)
前々職のグローバルナレッジ ネットワーク(現トレノケート)株式会
社にて
マイクロソフト認定トレーナーとしてコンテンツ開発や研修実施を
主に行う
• Windows NTおよびActive Direct...
今回のアプリの主役は Excel !
©2020 Ai HIRANO 3
Workbook
今回のアプリの主役は Excel !
©2020 Ai HIRANO 4
Workbook
多くの現状、、、
印刷したときの
見た目
データの
再利用性
レイアウトの簡易さから
印刷時の見た目など重視した利用が多い
データの再利用性を
重視
SharePoint Online と Excel
ドキュメント ライブラリでExcel ファイルを共有、管理
ファイルビューアー Web パーツ
埋め込みWebパーツ
©2020 Ai HIRANO 5
Demo
S H A R E P O I N T 標 準 機 能 と E X C E L
©2020 Ai HIRANO 6
SharePoint と Excel の関係
技術的な変遷を
見ていきましょう!
©2020 Ai HIRANO 7
SharePoint Portal Server 2007
SharePoint Server 2010~
SharePoin...
[参考] Excel Services ってどんなのだったの?
©2020 Ai HIRANO 8
 Excel で作成したワークブックを
◦ Web ブラウザ上で表示。フィルタなどの対話操作ができる
◦ ワークブック内の計算処理はサーバー側...
 Excel Services を構成する 3 つのコンポーネント
– Excel Calculation Services (ECS)
• Excel Services のエンジン
– Excel Web Access (EWA) Web ...
 利点
– 一切コーディングすることなく、Excel シート内にある
ビジネスロジック(計算式)に対して動的に値を渡し結果を
表示できるようになる
 実装方法
– パラメータとして値を設定したいセルに名前を定義し、
Excel Servic...
 Excel Web Service API
– 既定で 用意されている Web サービス
– カスタム アプリケーション内から Excel Services に公開されている Excel データにアクセスで
きる
 Excel Web S...
 主なメソッド
– OpenWorkbook: 新しいセッション内で Excel ワークブックを読み込む
– CloseWorkbook : セッションを閉じる
– CalculateA1,Calculate,CalculateWorkboo...
Power Automate と Excel
Excel Online (Busines) コネクターを利用することでワークブックの参照や更新などが可能
©2020 Ai HIRANO 13
ワークブックを更新せず、ロジックだけ
再利用するとい...
Office Scripts v.s. Excel REST API (MSGraph)
©2020 Ai HIRANO 14
Office Scripts
ファイルの参照
ファイルの更新
Excel REST API
ファイルの更新
関数およ...
Excel – Microsoft Graph
15
https://docs.microsoft.com/en-us/graph/api/resources/excel?view=graph-rest-1.0
©2020 Ai HIRANO 16
取得しておくべき情報
以下の情報を Microsoft Graph エクスプローラーで取得しておくとよい
• サイト ID
• リストID
• アイテムID (ファイルのアイテムID)
• ファイルのDriveItem ID
• リストの Dr...
サイトIDの取得
GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com:/sites/Training-
PowerAutomate-Advanced...
©2020 Ai HIRANO 19
リストIDの取得
GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca-
ab07-465b15bb8bfa,7...
©2020 Ai HIRANO 21
アイテムIDの取得
GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca-
ab07-465b15bb8bfa,...
©2020 Ai HIRANO 23
DirveItem
GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca-
ab07-465b15bb8bfa,...
©2020 Ai HIRANO 25
DriveIDの取得
https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca-ab07-
465b15bb8bfa,71d...
DriveID でファイルを取得する
https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.co,eaa1b7f4-c7d1-40ca-ab07-
465b15bb8...
参考 : Excel - PMT (ペイメント) 関数
ローン返済、積立貯金の払込額を求める関数
パラメーター
Rate (利率)…利率
Nper (期間)…返済期間
Pv (現在価値) …借入額
[将来価値]…借入を完済する場合は 0
[支払...
関数を呼び出そう
POST https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.co,eaa1b7f4 -c7d1-40ca-
ab07-465b15bb8bfa,...
Average
POST …/workbook/functions/average
©2020 Ai HIRANO 30
©2020 Ai HIRANO
Excel 内の関数の使い方に関する公式ドキュメント
https://docs.microsoft.com/en-us/graph/excel-use-functions
31
Power
Automate から
の Graph API 呼
び出しのおさら
い
©2020 Ai HIRANO 32
• アプリの登録を行いクライアントID,
クライアントシークレットを生成し、
テナントIDとともにこれらの情報を入
手する...
[参考] アプリのアクセス許可
©2020 Ai HIRANO 33
SharePoint Online + Microsoft Graph + Power Platform
システム構成図
©2020 Ai HIRANO 34
ドキュメント ライブラリ
Microsoft Graph経由
+
Word Onli...
Demo
ロ ー ン 返 済 の シ ミ ュ レ ー シ ョ ン
©2020 Ai HIRANO 35
Microsoft Graph – Excel REST API の呼び出し
©2020 Ai HIRANO 36
PMT関数の呼び出し部分
©2020 Ai HIRANO 37
div(div(variables('rate'),100)
,12)
mul(variables('nper'),
12)
int(concat('-
',variables('...
Word ファイルと PDF ファイルの生成
Word Online コネクターを利用
©2020 Ai HIRANO 38
Word ファイルの生成
テンプレートとして利用する
Word ファイルを事前に用意しておく
必要がある
©2020 Ai HIRANO 39
Word ファイルの準備
©2020 Ai HIRANO 40
PDF ファイルを生成し、メールに添付する
©2020 Ai HIRANO 41
まとめ
Excel はデータの再利用性を考えよう!
SharePoint (OneDrive for Business) + Microsoft 365
Apps + Power Platform の組み合わせ方を
いろいろと研究してみよう
プ...
Próxima SlideShare
Cargando en…5
×

[勉強会資料] Excel + SharePoint + Power Platform によるローン返済シミュレーションアプリ開発

1.226 visualizaciones

Publicado el

2020/8/29 に開催された LogicFlow-ja online 勉強会 (#3) での登壇資料です。

Microsoft Graph API を使って、SharePoint に格納している Excel ファイルを高度な計算を行うためのリソースとして利用し、Power Apps と Power Automate を使ってローン返済アプリを作ってみます。もともとオンプレミスのSharePoint のころに Excel Web Services や InfoPath を使ってデモをしていた内容を、Power Platform を使って置き換えてみるとどうなるだろうという実験でもあります。
中級者以上向けでかつ少々マニアックなところもありますが、実務的な内容です。

Publicado en: Tecnología
  • Sé el primero en recomendar esto

[勉強会資料] Excel + SharePoint + Power Platform によるローン返済シミュレーションアプリ開発

  1. 1. Excel + SharePoint + Power Platform による ローン返済シミュレーション アプ リ開発 日時 : 2020/08/29 LogicFlow-ja online #3 平野 愛 | Ai HIRANO
  2. 2. 自己紹介 2 平野 愛 (旧姓: 山崎) 前々職のグローバルナレッジ ネットワーク(現トレノケート)株式会 社にて マイクロソフト認定トレーナーとしてコンテンツ開発や研修実施を 主に行う • Windows NTおよびActive Directory ドメインなどのシステム管理 • .NET Framework を中心としたアプリケーション開発 • Skype for Business Server の前身製品のシステム管理 • SharePoint, Outlook, OneNote, InfoPath などの情報共有基盤など その後、株式会社イルミネート・ジャパン社に てSharePoint の教育ビジネスの立ち上げに携わる。 2008年4月に独立。 2004年に日本で初めてのSharePoint分野での Microsoft MVP を受賞し、以降現在まで連続受賞 • De:code 2019 ブレイクアウト セッション スピーカ • Microsoft MSTEP 講師 • Microsoft TechEd 講師 • Microsoft 主催の SharePoint の無償セミナー • Japan SharePoint User Conference 講師 • Microsoft Tech Summit Japan 2017 基調講演 講師 主な過去の登壇 その他の執筆活動 • マイクロソフト社の SharePoint 関連のホワイト ペー パー・評価ガイド 書籍執筆 (共著を含む) • ひと目でわかる Office 365 導入・運用管理編 • ひと目でわかる SharePoint Server 2016 • ひと目でわかる SharePoint Server 2013 • ひと目でわかる SharePoint Server 2010 • VSTO と SharePoint Server 2007 による開発技術 • ひと目でわかる SharePoint Server 2007 • ひと目でわかる Microsoft Windows Server 2003 ネットワーク 設定・管理術 • 実践 Active Directory 逆引きリファレンス • Windows Server 2003 完全技術解説 オフィスアイ株式会社 2008年4月設立。Microsoft SharePoint および Office 365 に対応できる SE や 開発者などの 人材育成と、設計、構築、運用、利活用に関しての関する コンサルティング サービスを提供。 特に教育に関しては、日本の現場に即したオリジナル コンテンツを独 自開発し、少人数制のオープンコース(複数組織から参加できる集合研 修)の実施を定期的に実施しているほか、1社向けのカスタマイズ研修な ども提供。 [Official Site] http://www.office-i-corp.jp/ [Blog] http://shanqiai.weblogs.jp/ @ai_yamasaki
  3. 3. 今回のアプリの主役は Excel ! ©2020 Ai HIRANO 3 Workbook
  4. 4. 今回のアプリの主役は Excel ! ©2020 Ai HIRANO 4 Workbook 多くの現状、、、 印刷したときの 見た目 データの 再利用性 レイアウトの簡易さから 印刷時の見た目など重視した利用が多い データの再利用性を 重視
  5. 5. SharePoint Online と Excel ドキュメント ライブラリでExcel ファイルを共有、管理 ファイルビューアー Web パーツ 埋め込みWebパーツ ©2020 Ai HIRANO 5
  6. 6. Demo S H A R E P O I N T 標 準 機 能 と E X C E L ©2020 Ai HIRANO 6
  7. 7. SharePoint と Excel の関係 技術的な変遷を 見ていきましょう! ©2020 Ai HIRANO 7 SharePoint Portal Server 2007 SharePoint Server 2010~ SharePoint Online Excel Services Office Web Apps (Excel Online) Microsoft Graph (Excel REST API) レポーティング機能がメイン Excel Services 編集が可能になった Excel Online
  8. 8. [参考] Excel Services ってどんなのだったの? ©2020 Ai HIRANO 8  Excel で作成したワークブックを ◦ Web ブラウザ上で表示。フィルタなどの対話操作ができる ◦ ワークブック内の計算処理はサーバー側で処理される ◦ Excel Web Service の使用により外部アプリケーションから値を設定または取得したり、 ワークブック内の計算ロジックを利用したりできる  モバイル端末サポート ◦ iOS, Android でも利用可能 「SharePoint Server Enterprise サイト コレクション機能」 のアクティブ化が必要
  9. 9.  Excel Services を構成する 3 つのコンポーネント – Excel Calculation Services (ECS) • Excel Services のエンジン – Excel Web Access (EWA) Web パーツ • ECS の情報を HTML にレンダリング – Excel Web Service API • Excel Services に外部からアクセスするための API フロントエンド Web サーバー アプリケーション サーバー Web ブラウザ Excel Web Access Excel Web Service SQL Server (コンテンツ データベース) Excel Calculation Services UDFs カスタム アプリケーション Excel Services Web フォルダ ファイル共有 MOSS 2007 9
  10. 10.  利点 – 一切コーディングすることなく、Excel シート内にある ビジネスロジック(計算式)に対して動的に値を渡し結果を 表示できるようになる  実装方法 – パラメータとして値を設定したいセルに名前を定義し、 Excel Services 発行時にパラメータを追加した状態で 発行する CRIE Illuminate .INC 10
  11. 11.  Excel Web Service API – 既定で 用意されている Web サービス – カスタム アプリケーション内から Excel Services に公開されている Excel データにアクセスで きる  Excel Web Service API を利用できる 主なアプリケーション – .NET Framework ベースの Windows アプリケーション – ASP.NET Web アプリケーション • SharePoint Web パーツを含む – Office クライアント アプリケーション (VSTO の利用など) – JavaScript コード  Excel Web Service API を利用するには – Web 参照を追加 • http://<サーバ名>/_vti_bin/ExcelService.asmx • http://<サーバ名>/<サイト>/_vti_bin/ExcelService.asmx
  12. 12.  主なメソッド – OpenWorkbook: 新しいセッション内で Excel ワークブックを読み込む – CloseWorkbook : セッションを閉じる – CalculateA1,Calculate,CalculateWorkbook : 計算を行う – GetRangeA1,GetRange : 範囲の値を取得 – GetCellA1,GetCell : セルの値を取得 – SetRangeA1,SetRange : 範囲に値を設定 – SetCellA1,SetCell : セルに値を設定 – GetWorkbook : ワークブックを取得。戻り値はバイト配列  詳細 – http://msdn2.microsoft.com/ja-jp/library/ms572330.aspx 12 //コーディング例 ExcelService xlSrv =new ExcelService(); Status[] status; string sessionId; xlSrv.Credentials=System.Net.CredentialCache.DefaultCreadentials; try{ sessionId=xlSrv.Openworkbook(@”http://moss2007/DocLib/Book1.xlsx”,Empty .String,Empty.String,out status); } SharPoint Online では 廃止!
  13. 13. Power Automate と Excel Excel Online (Busines) コネクターを利用することでワークブックの参照や更新などが可能 ©2020 Ai HIRANO 13 ワークブックを更新せず、ロジックだけ 再利用するというシナリオの実現は難しい
  14. 14. Office Scripts v.s. Excel REST API (MSGraph) ©2020 Ai HIRANO 14 Office Scripts ファイルの参照 ファイルの更新 Excel REST API ファイルの更新 関数およびデータのみの再利用
  15. 15. Excel – Microsoft Graph 15 https://docs.microsoft.com/en-us/graph/api/resources/excel?view=graph-rest-1.0
  16. 16. ©2020 Ai HIRANO 16
  17. 17. 取得しておくべき情報 以下の情報を Microsoft Graph エクスプローラーで取得しておくとよい • サイト ID • リストID • アイテムID (ファイルのアイテムID) • ファイルのDriveItem ID • リストの DriveID ©2020 Ai HIRANO 17
  18. 18. サイトIDの取得 GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com:/sites/Training- PowerAutomate-Advanced ©2020 Ai HIRANO 18
  19. 19. ©2020 Ai HIRANO 19
  20. 20. リストIDの取得 GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca- ab07-465b15bb8bfa,71d54204-f303-4aac-8745-776e48a3ad80/lists ©2020 Ai HIRANO 20
  21. 21. ©2020 Ai HIRANO 21
  22. 22. アイテムIDの取得 GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca- ab07-465b15bb8bfa,71d54204-f303-4aac-8745-776e48a3ad80/lists/87046eb2-e33f-4275-b29b- 3afd1e26ebf3/items?expand=fields ©2020 Ai HIRANO 22
  23. 23. ©2020 Ai HIRANO 23
  24. 24. DirveItem GET https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca- ab07-465b15bb8bfa,71d54204-f303-4aac-8745-776e48a3ad80/lists/87046eb2-e33f-4275-b29b- 3afd1e26ebf3/items/1/driveItem ©2020 Ai HIRANO 24
  25. 25. ©2020 Ai HIRANO 25
  26. 26. DriveIDの取得 https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.com,eaa1b7f4-c7d1-40ca-ab07- 465b15bb8bfa,71d54204-f303-4aac-8745-776e48a3ad80/drives ©2020 Ai HIRANO 26
  27. 27. DriveID でファイルを取得する https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.co,eaa1b7f4-c7d1-40ca-ab07- 465b15bb8bfa,71d54204-f303-4aac-8745-776e48a3ad80/drives/b!9Leh6tHHykCrB0ZbFbuL- gRC1XED86xKh0V3bkijrYCybgSHP- N1QrKbOv0eJuvz/items/01OF6TMESGFKOBVYXTYJDJG56NLIZT5XXJ ©2020 Ai HIRANO 27
  28. 28. 参考 : Excel - PMT (ペイメント) 関数 ローン返済、積立貯金の払込額を求める関数 パラメーター Rate (利率)…利率 Nper (期間)…返済期間 Pv (現在価値) …借入額 [将来価値]…借入を完済する場合は 0 [支払期日]… 返済が期末の場合は省略可能(0)、期首の場合は1 ©2020 Ai HIRANO 28 https://support.microsoft.com/ja-jp/office/pmt-関数-0214da64-9a63-4996-bc20- 214433fa6441?ui=ja-jp&rs=ja-jp&ad=jp
  29. 29. 関数を呼び出そう POST https://graph.microsoft.com/v1.0/sites/officeilearning.sharepoint.co,eaa1b7f4 -c7d1-40ca- ab07-465b15bb8bfa,71d54204-f303-4aac-8745-776e48a3ad80/drives/b!9Leh6tHHykCrB0ZbFbuL- gRC1XED86xKh0V3bkijrYCybgSHP- N1QrKbOv0eJuvz/items/01OF6TMESGFKOBVYXTYJDJG56NLIZT5XXJ/workbook/functions/pmt ©2020 Ai HIRANO 29
  30. 30. Average POST …/workbook/functions/average ©2020 Ai HIRANO 30
  31. 31. ©2020 Ai HIRANO Excel 内の関数の使い方に関する公式ドキュメント https://docs.microsoft.com/en-us/graph/excel-use-functions 31
  32. 32. Power Automate から の Graph API 呼 び出しのおさら い ©2020 Ai HIRANO 32 • アプリの登録を行いクライアントID, クライアントシークレットを生成し、 テナントIDとともにこれらの情報を入 手する • 登録したアプリに必要なアクセス許可 を付与する Azure AD 側 • HTTP要求コネクターを使って呼び出 す Power Automate 側
  33. 33. [参考] アプリのアクセス許可 ©2020 Ai HIRANO 33
  34. 34. SharePoint Online + Microsoft Graph + Power Platform システム構成図 ©2020 Ai HIRANO 34 ドキュメント ライブラリ Microsoft Graph経由 + Word Online コネクター PDF化してメール送信
  35. 35. Demo ロ ー ン 返 済 の シ ミ ュ レ ー シ ョ ン ©2020 Ai HIRANO 35
  36. 36. Microsoft Graph – Excel REST API の呼び出し ©2020 Ai HIRANO 36
  37. 37. PMT関数の呼び出し部分 ©2020 Ai HIRANO 37 div(div(variables('rate'),100) ,12) mul(variables('nper'), 12) int(concat('- ',variables('pv')))
  38. 38. Word ファイルと PDF ファイルの生成 Word Online コネクターを利用 ©2020 Ai HIRANO 38
  39. 39. Word ファイルの生成 テンプレートとして利用する Word ファイルを事前に用意しておく 必要がある ©2020 Ai HIRANO 39
  40. 40. Word ファイルの準備 ©2020 Ai HIRANO 40
  41. 41. PDF ファイルを生成し、メールに添付する ©2020 Ai HIRANO 41
  42. 42. まとめ Excel はデータの再利用性を考えよう! SharePoint (OneDrive for Business) + Microsoft 365 Apps + Power Platform の組み合わせ方を いろいろと研究してみよう プレミアムコネクターにも挑戦してみてください。 ©2020 Ai HIRANO 42

×