オープン系でできたこと、MS系でできないこと~ギャップを感じた事例とその対応策~

オープン系でできたこと、MS系でできないこと~ギャップを感じた事例とその対応策~

October 3, 2024

記事の監修

S.Sato

記事の監修


S.Sato

マネジメント&イノベーション事業部 開発部/2グループ グループマネージャー
資格:Microsoft Offiece Specialist Master 2007、ITパスポートなど

2022年よりMicrosoft365とPowerPlatformの案件を担当。
それ以前は業務・Web系システムを要件定義からリリースまでの開発に従事。
IT業界歴15年の経験を活かし、PJを牽引し後続の育成にも力を注ぐ。
趣味は散歩で、思考が煮詰まった際には、近所の緑道を散歩し、新たな発見や自然からのインスピレーションを受けている。

無料ご相談受付中 まずはお気軽にご相談ください

Contents

目次

0.はじめに

私(K.Yoshida)は入社後、主に.Net系言語(VB.Net、C#.Net)で開発・保守・運用するエンジニアとして十数年従事していました。2024年からMS系のローコード開発に従事しています。
10年以上オープン系言語に携わっていたので、MS系のローコード開発スタート直後は慣れないこともあり、いろいろな失敗がありました。
今回はその中の一例をご紹介しようと思います。
普通のプログラム言語だと思って設計・開発に臨むと、とっても痛い目を見たので反面教師として参考にしてください。

1.データフローの使い勝手

Power AppsでExcelファイルをアップロードし、Power Platformのデータフロー機能を用いてDataverse に Excelシートの入力値を登録する仕組みを構築したい。
オープン言語で考えるならば、Excel操作にはC#で「Microsoft.Office.Interop.Excel」ライブラリなどを一般的に利用します。
Excelシートからデータを取得し、DataTableに保存することで入力チェックやDBへの登録など実装者がある程度自由に構築可能です。

しかし、Power Platformではそう簡単にはいきません。

複雑な入力チェックを Power Platform で実現することが困難でした。
Excelシートからデータを取得し、複数行組み合わせてチェックする必要がある場合、何を使うのがよいのか?
データを集計してチェックする必要があるため、データフロー(Power Query)を利用できると考えて実装を進めました。
何とか入力チェック自体は実現できました。しかし、ここで別の問題が生じました。
データフローは別々のユーザが同時に起動することができません。

ユーザAがExcelをアップロードしている間にBがアップロードすると、Aのファイルをデータフローでチェックしている間、Bはずっと処理待ちになってしまいます。
データフローをクラスと同じものと考えていたので呼び出し元が異なればそれぞれで動くことを期待していたが無理でした。
これでは、ABCD…と複数人のユーザが一斉にExcelをアップロードした場合、最後の人は人数分の待ち時間が積み重なってしまうため、実運用には耐えられないでしょう。
(実際には同時に複数人が実行することはまれだと思いますが・・・)

2.その問題への回避策

一般的なアプリと同じようにファイルアップロードから入力チェックや登録処理を並列で動作させることは難しいので別々の処理にすることで回避しました。
まず、Power Apps の画面からファイルアップロードだけを実行するように仕様を変更します。
このとき、ファイルをアップロードした操作ユーザの情報と併せて保存することで誰がアップロードしたかを後から追いかけることができるようにしておいてください。
その後、アップロードしたファイルを Power Automateなどで作業フォルダに移動し、作業フォルダにて入力チェック用のデータフローを実行します。

もしくは、そもそもアップロード画面を作成せず、 SharePoint リストなどでファイルを添付し、 Power Automate を実行するフローにしても良いかもしれません。

次は、入力チェック用のデータフローを実行し、入力チェックの結果をエラー情報のDataverseに格納してください。
エラーが無かった場合は登録用のデータフローを実行するように Power Automateを組んでみましょう。

これにより、データフローの処理完了後、Dataverse にエラー情報が登録されている場合、エラー内容を伝えるメッセージを Teams やメールに送信することができます。
また、Dataverse にエラー情報の登録件数が0件の場合、本来登録するデータの登録結果件数などをTeams やメール送信することができます。
よって、アップロードしたユーザを画面の前で長時間待たせることなくファイルアップロードから入力チェック及びデータ登録が可能になります。

3.まとめ

ファイルアップロードからデータチェック、エラー有無に応じた処理などはオープン言語開発では基本的な考えですが、ローコード開発においてはそのまま実現することは困難かつ、制約などが多くあるため現実的ではありません。
複雑な仕様を構築せず、単純な機能単位に分散して作り上げることを考えてみてください。

無料ご相談受付中 まずはお気軽にご相談ください

Microsoftを導入してコスト効率をよくしたい

Microsoftを導入して
コスト効率をよくしたい

Microsoftに関して気軽に聞ける相談相手が欲しい

Microsoftに関して
気軽に聞ける相談相手が欲しい

Microsoftを導入したが、うまく活用できていない・浸透していない

Microsoftを導入したが、うまく活用できていない・浸透していない

社内研修を行いたいが社内に適任者がいない

社内研修を行いたいが
社内に適任者がいない

Bizwindでは、Microsoft導入支援事業などを中心に
IT・DX推進に関する様々なご相談を承っております。
ご相談・お見積りは無料です。まずはお気軽にお問い合わせください。

無料ご相談はこちら
Ranking

ランキング

Business Efficiency

June 10, 2024

SharePointとは?SharePointの機能や使い方を徹底解説!
SharePointとは?  SharePointとは、マイクロソフト社が提供する企業向けのファイル共有・コラボレーションを行うためのサービスです。  SharePointと比較されるサービスとして、マイクロソフト社が提供するOnedriveがあります。  どちらもファイル共有サービスですが、違いを簡単に述べるとすれば、SharePointは組織向け、OneDriveは個人向けのサービスです。  また、SharePointはポータルサイト(チームサイト)を作成できます。  部署やチーム、プロジェクト毎にファイルや情報を管理する場合により効果を発揮します。  そのためSharePointはビジネスの現場で広く利用されています。 ShrePointでできること  SharePointでできることについてご紹介します。 ポータルサイト(チームサイト)の作成 SharePointでは、チームや部署、プロジェクト毎にポータルサイト(チームサイト)を作成することができます。  作成したポータルサイト上では、情報共有や共同作業を行うことができます。  チームで共有したい情報はポータルサイト上に共有することで、複数人宛に情報を共有することができます。そのため業務効率化に繋がります。  ポータルサイトは、予め特定のビジネスニーズに合わせて設計されているテンプレートが用意されているので、そこから簡単に作成することができます。  チームの特色や業務内容に合わせてカスタマイズすることも可能です。  ポータルサイトは簡単に作成することができ、情報共有を効率化することができます。  ドキュメント管理 SharePointでは、ポータルサイト上で様々なドキュメントや画像などを管理することができます。  マイクロソフトの高品質なセキュリティ対策を活用し、契約書などの重要書類もSharePoint上で管理する企業も増えています。  SharePointでは、ポータルサイトで安全かつ効率的にドキュメントを管理することができます。  ワークフロー SharePointでは、業務フローを自動化することができるワークフローの構築ができます。  例えば、特定のフォルダからファイルが削除された場合は、承認者に承認メールを送信、承認者の承認を得られたらファイルが削除される、といった仕組みです。  このようなワークフローを構築することで、重要なファイルが誤って削除されるミスを防止することができます。  ワークフローを設定することで、日々の業務効率化や誤操作の抑止をすることができます。  モバイルアプリが利用可能 SharePointは、PCだけでなくスマートフォンからもアクセスすることができます。  SharePoint Onlineのモバイルアプリをインストールすることで、自宅や外出先などからでも簡単に情報にアクセスすることができます。  これにより時間や場所を選ばず、いつどこからでも必要な情報にアクセスすることが可能になります。  SharePointの強み SharePointの強みについてご紹介します。 Microsoft製品とのシームレスな連携 SharePointは、マイクロソフトが提供するSaaSのサービスです。  マイクロソフトが提供するその他のサービスとの親和性が高く、連携を行うことでより業務効率化を実現することができます。  例えば、Teamsと連携すればTeams上でファイルを管理することが可能になります。  他にも、Outlookと連携することでスケジュールの共有なども可能になります。  このように、SharePointはマイクロソフト製品との親和性が高く、連携も簡単にできる点が大きな強みです。  万全のセキュリティ対策 SharePointは、マイクロソフトが万全のセキュリティ対策を行っています。  また、管理者はユーザーのアクセス権をコントロールすることができます。  ユーザー毎に適切なアクセス権を付与することで、外部に対するセキュリティ対策に加え内部対策も行うことができるので、より厳重なセキュリティ対策を行うことができます。  SharePointは、マイクロソフト社によるクラウドサービスに対する最適なセキュリティ対策を行っているので、ユーザーは安心してサービスを利用することができます。  バージョン管理 SharePointでは、ドキュメントのバージョン管理をすることができます。  バージョン管理とは、ドキュメントに対する変更履歴を記録するものです。  例えば、SharePoint内のWordファイルを修正した場合、修正前の状態を記憶します。  これにより、修正したWordファイルを修正前の状態に復元することも可能になります。  要するに、SharePointが自動でバックアップをとってくれているということです。  もし、誤ってファイルを修正したり削除したりしてしまってもバージョン履歴から復元できるので安心です。  バージョン管理によって、ユーザーの誤操作にも対応することが可能です。  SharePointの導入方法 SharePointの導入方法についてご紹介します。 SharePoint Online SharePointを単体で利用したい場合は、SharePoint Onlineを契約することで利用することができます。  […]
営業/マーケティング支援

January 12, 2024

Microsoft Dynamics 365とは?その概要を分かりやすく徹底解説!
Dynamics 365とは? Dynamics 365とは、Microsoft が提供するビジネスアプリケーションです。  Dynamics 365は、企業活動を効率的に進めるために必要な業務システムを統合的に提供しています。  Dynamics 365がカバーする領域は様々で、CRM、SFA、ERP、マーケティング、顧客サービスなど、幅広い領域をカバーしています。  Dynamics 365が提供するこれらの機能により、生産性向上や業務効率化の実現をサポートします。  Dynamics 365の強みや導入メリット? Office 製品との連携 Dynamics 365の大きな強みの一つが、 Office 製品との連携が容易にできる点です。 同じ Microsoft 製品ですので 、Microsoft 365を導入していれば、そのアカウントで Dynamics 365を利用することができます。 Microsoft 365のポータル画面上からアクセスすることが可能なので、他の Microsoft 365製品との使い分けも容易にできます。 Outlook の予定表との同期や、SharePoint同期機能を使って、Word, Excel, PowerPoint などのドキュメントを一元管理することができます。 これまで、バラバラに保管していた見積書、注文書、請求書などシステム上で一括管理することもでき、ペーパーレス化の実現もできます。 豊富な導入実績 Dynamics 365は、世界中の様々な規模や業種の企業に導入されています。 その数は、2019年6月時点で約196か国22万社に導入されています。 世界的な企業である Microsoft 社が提供していることもあり、システムに対する信頼度も高く、近年では、三菱地所、住友不動産、森ビル、大東建託、日立など多くの日本企業も導入に踏み切っています。 大手企業のみならず、近年では中小企業の導入も増えており、企業規模や様々な業種の垣根を超えて利用されています。 自社に合わせたカスタマイズが可能 Dynamics 365は様々な業種の企業に導入されています。 その理由の一つがカスタマイズの自由度が高いことです。 多くのSaaS系の業務システムは、既に用意された機能を使って運用していくため、業種によっては必要な機能が不足しているといったこともあるでしょう。 しかし、Dynamics 365では、 Microsoft Power Apps を使うことでノンコーディングでカスタマイズすることができます。コーディングなどの専門知識がないユーザーでもカスタマイズすることが可能です。 自社でカスタマイズを行うことに不安がある場合は、Dynamics […]
Business Efficiency

June 11, 2024

仕事の時短を実現する!エンジニアが教える圧倒的な仕事時短術!
業務効率化とは 業務効率化とは、少ない労力で仕事の生産性をあげることです。 要は、今まで1時間かかっていた仕事を30分で終われるようにすることです。 そうは言っても、そんな簡単なことではありません。 「日々の業務に一生懸命取り組んでいるし、これ以上どうすればいいんだ」 そんな風に感じている人もいると思います。 でも日々の業務を見直せば、誰しも少なからず業務効率化できる部分があります。 そして、最近では業務効率化を手助けしてくれる様々な便利アプリやツールがあります。 今日は、そんな難しい業務効率化を実現できる方法を、現役エンジニアも実際に使っている便利アプリなども含めてご紹介します。 タスク管理 業務効率化と言ってまず最初に見直すべきポイントが、このタスク管理です。 しかし、多くの人は「タスク管理なんて毎日やってるよ」と思っているかもしれません。 そうです。タスク管理は必ず毎日行うものです。 だからこそ、そのタスク管理の方法を見直すことで日々の業務効率化に繋がります。 では、具体的にどうすれば良いのでしょうか。 まずは、その日のタスクと今後のタスクを「目に見える形」にして洗い出すことです。 その際のポイントは、優先順位とざっくりとした所要時間を割り出すことです。 優先順位は、緊急度と重要度を縦軸と横軸に設定し、割り振っていきます。 そして、洗い出したタスクを処理するのにかかるであろう時間を割り出します。 その際のポイントは、緊急度や重要度の指針にしたがってかける時間を設定すること、そしてまずは全てのタスクが就業時間内に終えられるように設定することです。 そうすることで、これから取り掛かるタスクの重要度とそれにかけられる時間を可視化することができます。 例)スパイスカレーを作る場合 例えば、あなたがシェフ見習いだとして「明日のランチまでに」本格スパイスカレーを作るようにシェフから指示を受けたとしましょう。 条件として、本格なスパイスカレーの調理は今回が初の試みで、またスパイスの調達が必須とします。 その際の調理開始までのタスクは以下のようなものがあると思います。 レシピの調査・作成 → 使えそうな具材のチェック → スパイスの調達・必要な具材の調達と仕込み → 自分なりのアレンジを考える 緊急かつ重要なタスク 最も緊急かつ重要なタスクは、「レシピの調査・作成」です。 今回、スパイスカレーは初めて作るので、必要な食材、工程を知るためにもレシピの確認を優先的に行う必要があります。 レシピを知ることは、タスクの洗い出しです。 また、レシピの調査から「スパイスの調達」は、スーパーには売っていないものなどは早めに調達方法を調べる必要があることに気付がつくことができます。 ですから「スパイスの調達」も、緊急かつ重要なタスクと言えすぐに対応すべきです。 これらの所要時間はおよそ1時間くらいに設定しましょう。 緊急だが重要度は低いタスク 緊急だが重要度は低いタスクは、「使えそうな余り物の具材のチェック」です。 このタスクでは使えそうな余り物が冷蔵庫にないかどうかチェックします。 余り物で使えそうな具材を調べることはレシピを作るためにすぐに知る必要がありますが、最悪調達すればいいのでそこまで重要度の高いタスクではありません。 所要時間はおよそ15分くらいに設定しましょう。 緊急ではないが重要なタスク 緊急ではないが重要なタスクは、「具材の調達」や仕込みなどです。 レシピの調査から、スパイス以外の具材は、スーパーなどで簡単に手に入ることがわかりました。 スパイス以外の具材は明日の調理開始までに調達できればいいので、緊急ではありませんが必ず必要なので重要なタスクです。 また具材の仕込みも必ず必要なので重要なタスクです。 優先順位は上記の二つよりは低いが、仕込み時間などもしっかりと計算した上である程度余裕を持って取り組むべきタスクです。 所要時間はおよそ3時間くらいに設定しましょう。 緊急でもなく重要でもないタスク 緊急でもなく重要でもないタスクは、自分好みのアレンジを探したりすることです。 これは時間があれば対応すれば良いことなので、特に緊急でも重要でもありません。 上記のタスクが完了し、時間があれば対応しましょう。 […]

ビズウインドでは、 様々な課題でお困りの お客様に対して、 無料相談を実施しております。

無料相談に申し込む

担当者に今すぐ質問する

簡単な情報入力でBizwind担当者が
お電話にて回答いたします!

すぐに電話で質問
日時指定で折り返し

以下の内容をご記入・送信ください。
確認次第お電話を差し上げます。

    以下の内容をご記入・送信ください。
    確認次第お電話を差し上げます。