Dataverse「Rows in this table」の設定ミスで権限エラーが出る理由と、唯一のリカバリ手順

「You don’t have permission to this view」——このエラーを見て、まず疑うのはロール設定やセキュリティロールかもしれない。だが原因がテーブル作成時の所有権設定にある場合、ロールをいくら見直しても解決しない。そして、その設定は作成後に変更できない。 結論を先に書く。Power Apps / Dataverse でログインユーザーごとのデータを表示したいなら、テーブル作成時に「Rows in this table」を User or Team(ユーザーまたはチーム) に設定しなければならない。Organization(組織)を選んだ場合、Current User フィルターは構造的に動作しない。そして一度作ったテーブルの所有権は変更できないため、唯一のリカバリ手段はそのテーブルを削除して作り直すことだ。 「Rows in this table」の2択が意味することDataverse でカスタムテーブルを作成するとき、「Rows in this table(テーブルの行)」という設定項目が表示される。選択肢は2つ。 設定値 意味 Owner 列 Organization 行の所有者は「組織」全体。個人別の制御は設計上存在しない 自動付与されない User or Team 各行に Owner 列(所有者列)が自動付与。レコード作成時にログインユーザーが自動入力される 自動付与される この2択はテーブルの性格を決める根幹設定であり、Microsoft の公式ドキュメントは次のように明示している。 “This is a choice that happens at the time the table is created and can’t be changed.” (これはテーブル作成時に決める選択であり、後から変更することはできない) — Microsoft Learn「Types of tables - Power Apps」 ...

2026年6月3日 · 2 分

DataverseでLookup列をやめる判断軸——複数担当者の共有が必要になったとき

Lookup列でテーブルを繋いだのに、チーム共有の要件が出てきた瞬間に設計が崩れる——この問題は、Dataverseで業務アプリを内製化するときに必ず一度ぶつかる。 判断軸は単純だ。「誰と共有するか」が個人(1対1)ならLookup列でいい。組織やチーム(1対多)になるなら、テキストコード突合に切り替える。 この切り替えを設計段階で決めていれば、人員増加も組織変更も無修正で吸収できる。逆に、Lookup列のまま複数人共有を試みると、テーブル構造の手戻りが発生する。 連載の前提知識:代替キー(Alternate Key)の設定と安全なUpsertの手順は、連載第1回「Dataverseの代替キーで安全にUpsertする」で解説しています。本記事はその続きとして、設計判断の軸を扱います。 Lookup列が崩れるメカニズムLookup列(検索列)は、Dataverseの公式仕様で次のように規定されている。 All custom lookups can only allow for a reference to a single row for a single target row type. 訳すと「すべてのカスタム検索列は、単一のターゲット行の種類に対して、単一の行への参照しか持てない」。つまり、1つのLookup列に入るのは常に1行だけだ(Microsoft Learn「Column data types in Microsoft Dataverse」2024年)。 Lookup列を使うと、DataverseはN:1(多対一)リレーションシップを自動生成する。「案件テーブルの担当者列 → 社員テーブルの1行」という構造は、担当者が1人固定のうちは問題なく機能する。 問題は、「この案件を3人で担当する」「営業グループ全員が見られるようにしたい」という要件が出たとき。Lookup列は構造上それを受け取れない。1つのセルに複数の行を詰め込む設計は、Dataverseのスキーマが許していない。 なお、メールのToフィールドのような「PartyList型」は複数値を持てるが、これはシステム列の例外扱いであり、カスタム列には適用できない(公式確認済み)。 テキストコード突合の原理解決策は「直接繋がない設計」に切り替えることだ。 具体的には、双方のテーブルに共通のテキストコード(例:GA001、GA002 といった組織コード)を持たせ、Lookup列による直接結合を使わない設計にする。ビューフィルターでこのコードを照合することで、1対多の共有が実現できる。 たとえば「案件テーブル」と「担当グループテーブル」の両方に group_code 列(テキスト型)を作り、同じ GA001 を持つ行同士を参照させる。担当者が増えても、グループが変わっても、テーブル設計には手を加えずに対応できる。 このテキストコード突合は、Dataverseの代替キー(Alternate Key)仕様を技術的な土台にしている。代替キーは、主キー(GUID)とは別に「業務上の一意識別子」として列を定義する機能で、Microsoftが公式に仕様化している(Microsoft Learn「Work with alternate keys」2024年)。ただし、「組織共有のためにテキストコード突合を使う」という設計パターンそのものの公式ガイドは存在しない。この設計パターンの公式ガイドは存在しない。代替キー仕様を土台にした設計判断として提示する。 役割分解の判断軸設計の出発点として、次の分解を使うと判断が早い。 共有の単位 向いている設計 典型的なケース 個人(1対1) Lookup列 担当営業、承認者、作成者 組織・チーム(1対多) テキストコード突合 担当グループ、部門、担当エリア 未定・変動する テキストコード突合 組織再編が見込まれる、兼任が多い Lookup列が最も力を発揮するのは、「この行を担当するのは常に1人」という前提が成立する場面だ。担当者が交代しても「前任者→後任者」と1対1で置き換わるなら、Lookup列で問題ない。 組織単位の共有が必要な場合は、設計段階でテキストコード突合に切り替える。後から変えようとすると、既存のビューやフォームへの影響範囲が広くなる。 代替キー設定の制約——設計前に知っておく数値テキストコード突合を代替キーとして設定する場合、次の制約が2026年時点の仕様として存在する(Microsoft Learn「Work with alternate keys」2024年)。 ...

2026年6月2日 · 1 分

DataverseのName列をUpsertの突合キーに使ってはいけない理由と、代替キー設定の3ステップ

DataflowsでExcelや基幹システムのデータをDataverseに定期同期するとき、突合キーに何を使うかで設計の安全性が決まる。 結論を先に言う。DataverseのデフォルトName列は突合キーに使ってはいけない。 使うたびに同名他社・表記ゆれ・社名変更の3トラップが確実に発動する。 解法は、基幹システム側で一意管理されている業務コード列(代理店コード・顧客IDなど)を専用に用意し、代替キー(Alternate Key)として設定することだ。 Name列をVLOOKUPのキーにしてしまう典型ミスExcelのVLOOKUPを長く使ってきた人ほど、DataverseのName列を自然な突合キーとして使いたくなる。「会社名が一致したら同じレコード」という感覚は、スプレッドシートの世界では合理的だ。 Dataverseの画面を開くと、Name列が最も目につく場所にある。Dataflowsのフィールドマッピング設定でもName列は真っ先に候補に上がる。だから直感的に選んでしまう。 ただし、DataverseのName列は「人間がアプリ画面で見るためのラベル」として設計されている。Microsoft Learnの公式ドキュメント(Work with alternate keys、2026年3月更新)が代替キーの設計思想として示している通り、データベース上の一意性保証はName列の責務ではない。突合キーに使うと、以下の3つのトラップが確実に発動する。 3つのトラップ:同名他社・表記ゆれ・社名変更トラップ1:同名他社(重複・誤上書き)異なる企業が同じ名称を持つケースは珍しくない。「山田商事」「東西商事」のような名前は地域をまたげば複数存在する。Name列で突合すると、別の会社のレコードが上書きされる。気づいたときには、どちらが正しいレコードか判断できない状態になっている。 トラップ2:表記ゆれ(別レコード扱い)「株式会社〇〇」「(株)〇〇」「㈱〇〇」は、人間には同じ会社に見える。Dataverseは文字列として比較するため、すべて別のレコードとして追加し続ける。定期同期のたびにレコードが増殖する。 トラップ3:社名変更(突合機能不全)社名変更が起きると、Excelや基幹システム側の名称が更新される。Name列を突合キーにしていると、変更後の名称がDataverse上に見つからず、既存レコードの更新ではなく新規レコードの作成として処理される。過去の取引履歴との紐付けが切断される。 3つとも、「いつか起きるかもしれないリスク」ではない。データが蓄積されるほど確実に発動する構造的な問題だ。 設計の判断軸:「人間が見るデータ」と「システムが判別するデータ」を切り離すデータベース設計の基本原則として、「人間が見るデータ」と「システムが判別するデータ」は別の列に持つ。Name列は前者に属する。突合キーには後者が必要だ。 具体的には、基幹システム側で一意管理されている業務コード列を使う。代理店コード・顧客番号・取引先ID——企業が社名を変えても、コードは変わらない。同名の別企業が存在しても、コードは異なる。表記ゆれは最初から発生しない。 この業務コード列をDataverseに専用列として追加し、代替キー(Alternate Key)として登録することで、DataverseがこのコードをName列と並ぶ「第2の主キー」として扱えるようになる。Dataflowsはその列を使ってUpsert(既存行の更新 + 新規行の追加)を安全に実行できる。 代替キーの仕様と制約(設定前に確認する数値)代替キーを設定する前に、以下の制約を把握しておく。数値はすべてMicrosoft Learnの公式ドキュメント(Work with alternate keys、2026年3月更新)からの直接引用だ。 制約項目 上限値 テーブルあたりの代替キー数 最大10個 1キーあたりの列数(複合キー) 最大16列 キーサイズの合計 900バイト以下(SQLインデックス制約準拠) 加えて、以下の列は代替キーとして設定できない(Define alternate keys to reference rows、2025年8月更新): 列セキュリティが有効な列:設定不可 NULL値を含む列:一意性が強制されない(重複レコードのリスクがある) 仮想テーブルの列:代替キー非対応(外部システム側の一意性を強制できないため) もう一つ注意点がある。代替キーとして設定する列の値に特殊文字( /,<,>,*,%,&,:,\,? )が含まれると、GET/PATCH(Upsert)操作が機能しなくなる。 業務コードに記号を使っている場合は事前に確認が必要だ。 サポートされるデータ型は6種(Decimal Number・Whole Number・Single line of text・Date Time・Lookup・Option Set)。業務コード列に推奨するのは**Single line of text(1行テキスト)**で、英数字IDであれば問題なく使える。 代替キーの設定手順3ステップ設定はPower Appsのメーカーポータルから行う(Define alternate keys using Power Apps、2025年5月更新)。 ステップ1:業務コード列を作成する対象テーブルに新しい列を追加する。データ型は「Single line of text(テキスト)」を選択。列のプロパティで「必須(Required)」に設定しておく。NULL値が入ると一意性が保証されないため、必須設定は省略しない。 ...

2026年6月1日 · 1 分

Power Automate フロー引き継ぎで権限が足りない本当の理由——2つのレイヤーと完全チェックリスト

「共同所有者として共有したのに、なぜメールが送れない?」 この問いに答えるには、権限の問題が2つの独立したレイヤーに分かれていることを理解する必要がある。 Exchange Online 側の Send As 権限と、Power Platform 側の Environment Maker ロール——この2つが揃ってはじめて、フローの完全な引き継ぎが成立する。 2つの権限レイヤーが存在する理由Power Automate のフローが「共有メールボックスからメールを送信する」動作をしている場合、権限は2か所で管理されている。 レイヤー 管理場所 必要な権限 Exchange Online(メール送信) Exchange 管理センター (EAC) Send As(代理送信) Power Platform(フロー操作) Power Platform 管理センター Environment Maker ロール Exchange Online の Send As(代理送信)は、あるユーザーが共有メールボックスから「その共有メールボックスが送ったもの」としてメールを送れる権限だ(公式定義)。これは Power Platform の権限体系とはまったく独立した管理系で動いており、Power Platform 側でどれだけ権限を付与しても、Exchange 側の Send As がなければ共有メールボックス経由の送信は機能しない。 Power Platform 側の Environment Maker ロールは、環境内でアプリ・接続・フローを作成する権限を付与する(公式定義)。「共同所有者として共有」の操作だけでは、このロールは付与されない。 「共同所有者として共有」だけで止まってしまう落とし穴2025年6月以降、環境メンバーでないユーザーと共有されたフローはそのユーザーからアクセスできなくなった(Microsoft Learn)。つまり「共有しただけ」の引き継ぎは、制度上も機能しなくなっている。 しかし問題が表面化しにくい理由がある。共同所有者の権限では、フローの実行履歴閲覧・起動・停止・デザイン編集が可能だ(公式)。軽微な文言修正程度なら動いてしまう。だから「引き継ぎできた」と誤解したまま運用が続き、接続切れや本格的な構造変更が必要になったタイミングで初めて問題が露出する。 Connection Reference(接続参照)と Environment Maker の関係ソリューションとして管理されている Power Automate フローは、接続を「Connection Reference(接続参照)」というソリューションコンポーネントを通じて参照する(公式)。非ソリューションフローとの根本的な違いはここだ。 引き継ぎ担当者が Connection Reference に対する接続を設定・更新するには、Connection Reference テーブルへの書き込み権限が必要になる。Environment Maker ロールのみではこのテーブルへの「ユーザーまたはチームレベル」のアクセス権にとどまる(公式)。 ...

2026年5月31日 · 2 分

Power Platform/Dataflows|Dataverse へのデータ投入——0落ち・Lookup・Choice・Upsert の4難所

SQL からエクスポートした Excel ファイルを Dataflows(Power Query ベースのデータフロー)経由で Dataverse(Power Platform のクラウドデータベース)に投入するとき、必ずといっていいほど4つの同じ壁にぶつかる。電話番号の0落ち・Lookup列のマッピングエラー・Choice型の内部値不一致・Upsert用の代替キー設定だ。 この4つはどれも「構造を知っていれば避けられる」種類のつまずきだ。本記事は、各難所の「なぜそうなるか」と「どう設定するか」を1本に収めた逆引きバイブルとして書いた。次の投入作業の前にブックマークしておくと、そのたびに調べ直す時間が不要になる。 なぜ「SQL → Excel → Dataflows」が有効なルートなのかDataverse にデータを投入する方法はいくつかある。SQL から直接連携するパイプライン、Power Automate による行単位の書き込み、そして Dataflows 経由のルート。 Dataflows が実務でよく選ばれる理由は3つだ。 可視性:Power Query エディターで変換内容を列ごとに確認しながら作業できる。何が起きているかが目に見える。 ノーコード操作:M言語の知識がなくても、GUIで型変換・列の追加・フィルタリングが完結する。 クラウド完結型:OneDrive for Business または SharePoint Online にファイルを置けば、オンプレミスデータゲートウェイが不要になる。 行数の上限については、公式ドキュメント(Microsoft Learn「Power Query Online Usage Limits」)で「制限なし」と明記されている。大規模な移行案件でもルートを変える必要はない。ただし1回の実行時間上限は4時間(Power Apps / Power Platform ライセンス)のため、数十万行を超えるような場合はバッチ分割を検討する。 Excel前処理——0落ちと型崩れを事前に防ぐDataflows に読み込む前の Excel ファイルで起きる型崩れを防ぐ。ここを飛ばすと、投入後に意図しないデータが静かに混入する。 電話番号・コードの「0落ち」対策Excel はデフォルトで数値として認識できる列を自動変換する。0901234567 は 901234567 になり、0001 は 1 になる。 対策は、列のセルを文字列フォーマットに設定してからデータを入力または貼り付けることだ。 手順: 対象列を選択 → ホームタブ → 「数値」グループのドロップダウン → 「文字列」に変更 この状態でデータを貼り付ける(既に数値化されている場合は再入力が必要) Dataflows 側で Power Query の「データ型」を「テキスト」に変更しても、Excel ファイル側で既に0が落ちていれば後の祭りだ。前処理の段階で封じる。 ...

2026年5月29日 · 3 分

M365 Copilot、契約する?外す?——「抜いたら何が残るか」で決める

Copilot を入れるべきか迷ったとき、機能の派手さを比べても判断は前に進まない。 見るべきは月額固定費の重さと、抜くときの摩擦だ。そしてこの二つは、Copilot 単体ではなく、その下にある基底ライセンス側に効いてくる。 結論から言う。Copilot は基底ライセンスへのアドオンであり、止めにくいのは Copilot ではなく基底ライセンスの方だ。この構造を最初に置くと、判断はだいぶ軽くなる。 入口の置き換え:「抜いたら何が残るか」で見るMicrosoft 365 Copilot は、Business Standard や E3 といった基底ライセンスの上に乗せる AI 機能のアドオンだ。だから Copilot を抜いても、Office アプリ・OneDrive・Exchange のデータは、基底ライセンスの契約が続く限りそのまま残る。 逆に、基底ライセンスそのものを解約すると話は変わる。後で触れる解約後のデータ保持期間を過ぎれば、データは消える。つまり「毎月いくら払うか」を入口にすると判断を間違える。Copilot 部分は身軽に外せるが、基底ライセンス側は外した瞬間にデータの残り方が問題になる。 「抜いても残るもの」と「抜くと消えるもの」を分けて見る。これが固定費を冷静に扱う最初の一歩になる。 独立クリエイターの最低構成と総額——3 ルートを並べる個人事業主が実務に組み込むときの最低構成を、3 つのルートで並べてみる。為替は本文を通して 150 円/USD 換算で示す(実際の請求は契約時のレートに依存する)。価格はいずれも 2026 年 5 月時点・年払い・税抜・ユーザー 1 名の前提だ。 ルート 構成 月額の目安 位置づけ A Business Standard + Copilot Business 約 ¥5,024/月 最も現実的な最低構成 B E3 + Microsoft 365 Copilot 約 ¥9,897/月 契約可だが約 2 倍の固定費 C Personal/Family + Copilot Pro 月額 3,200 円(Copilot Pro 単体・日本) 参考。事業利用はグレー ルート A は、Business Standard の日本価格 ¥1,874/月に、Copilot Business の $21/月(150 円/USD 換算で約 ¥3,150)を足した約 ¥5,024/月になる。ここで一点、誠実に書いておく。Copilot Business の日本円の公式月額は、2026 年 5 月時点で Microsoft の日本サイトに直接の掲示が確認できない。上の金額は USD 表示を為替換算したものだという前提で受け取ってほしい。日本円の確定値は要検証だ。 ...

2026年5月28日 · 2 分

Power Platform|本番データを開発環境へ——「氏名マスク済み」で安全と言い切れるか

氏名をアスタリスクに置き換えた。日付も丸めた。それで「マスク完了」として開発環境にデータを流している——この判断に、識別子レベルの穴が開いていることがある。 個人情報保護法が「匿名加工情報」に求める要件は、「特定の個人を識別できず、かつ復元不可能」(第2条第6項・2017年5月30日施行)だ。支社コードや担当者コードが残った状態では、その要件を満たさない。 結論から言う。境界線は「氏名を消したか」ではなく、「識別子レベルで設計されているか」に引かれる。 判断軸の核心:「誰であるか」より「どのコードか」氏名・住所・生年月日は、誰もがマスク対象だとわかる。見えている。 問題は見えていない識別子だ。支社コード、担当者コード、部門コード、顧客番号——これらは「個人名ではない」という認識から、マスク対象として見逃されやすい。 経済産業省の「匿名加工情報作成マニュアル」(Ver1.0・2016年8月)は、k-匿名性(k≧2)という技術基準を示している。k-匿名性とは、あるレコードが少なくとも k 個の他のレコードと区別できない状態を指す技術要件だ。支社コードが「BR-07(東京第7支社)」のように実コードのまま残れば、社員名簿と突き合わせるだけで個人が絞り込める。これが間接識別子の再識別リスク(経産省技術基準(2016年)では k-匿名性として定式化されており、業界では「モザイク効果」とも通称される)だ。 識別子の設計こそが、安全な境界線の実体だ。 判断が割れるケース:「社内データだから大丈夫」開発環境への本番データ持ち込みが曖昧になりやすいのは、次のようなシナリオだ。 ケース1:社内申請システムの開発 Power Apps で社内の経費申請システムを開発する。テストデータに実際の社員情報を使えば動作確認が楽だ。「社内限定だし」という判断が走る。しかし開発環境は、本番環境と比べてアクセス制御が甘い。Microsoft の ALM(Application Lifecycle Management:アプリのライフサイクル管理)原則は、「環境はセキュリティ境界として機能する」(Environments act as security boundaries)と明示している。開発環境は本番環境と同等のセキュリティを持たない前提で設計されている。 ケース2:外部委託プロジェクトでの引き継ぎ 委託先に動作確認してもらう必要があり、「実データに近いものを渡す」判断をする。この時点で、担当者コードや顧客コードが混入していると、法人の営業秘密に該当し得る情報が外部に渡る構造が生じる。不正競争防止法上の論点が発生しうるが、コード類が「営業秘密」に当たるかは個別判断であり、法的断定はできない。ただし、リスクが生じうる構造であることは確かだ。 ケース3:Power Automate フローのテスト 接続先エンドポイントが開発と本番で切り替わっていない状態で実コードを流すと、本番環境への誤通信・誤通知が発生しうる。Microsoft の ALM basics ドキュメントは「Solutions don’t contain any business data.」と明示している。この設計思想は、開発ソリューションにビジネスデータを持ち込まない前提を前提としており、識別子が実コードのまま残った状態でのフロー実行はその前提を崩す。 設計時に詰める識別子チェックリスト開発環境へデータを持ち込む前に、以下を確認する。 識別子の種類 リスク 対策 支社コード・部門コード 名簿と突き合わせで個人特定が可能 連番(BR-001, BR-002)に置換 担当者コード・社員番号 直接的な個人識別子として機能 ハッシュ化または連番化 顧客番号・取引先コード 営業秘密・機密情報に該当しうる 開発用ダミー番号で差し替え 日付・期間データ 出来事との組み合わせで個人特定が可能 丸め処理(月単位・四半期単位) 金額・数量の実値 特定案件の特定が可能 ランダム化または範囲での丸め このチェックを通過したデータが、法令上の「仮名加工情報」(第2条第5項・2022年4月施行)の要件に近づく。仮名加工情報は、他の情報と照合しない限り特定の個人を識別できない状態に変換したデータであり、開発・テスト用途への活用可能性が認められている(PPC「ガイドライン(仮名加工情報・匿名加工情報編)」)。マスクの目的地として、この要件を基準に設計するのが合理的だ。 対策 A:コード類のハッシュ化・連番化支社コード「BR-07」を「BR-001」のような連番に置き換える。担当者コード「EMP-12345」は、ハッシュ関数を通した文字列か、連番の仮コードに変換する。 重要なのは、変換ルールの台帳を開発環境とは別管理にすることだ。変換台帳が開発環境に置かれると、復元が可能になり、匿名加工情報・仮名加工情報の要件を満たさなくなる。 Power Platform / Dataverse 固有のハッシュ化・連番化の実装手順は、2026年時点では Microsoft 公式ドキュメントで直接提供されていない。実務での観察では、Power Query の変換ステップか、Python スクリプト等の前処理ツールで変換してから Dataverse にインポートするパターンが確認されている。詳細は続編(「Dataverse 投入前の落とし穴」)で扱う予定だ。 ...

2026年5月28日 · 1 分

Power Automate と Logic Apps、どう使い分ける?——3年後に誰が触るかで決める

Power Automate と Logic Apps の使い分けは、機能比較表を眺めるほど判断が遅くなる。 結論は単純で、**「3年後にこれを誰が触っているか」**が決まれば、ツールも決まる。 業務部門が3年後も自分で触る → Power Automate 3年後の保守オーナーが見えない → Logic Apps これだけで、9割の判断は片付く。 なぜ機能比較表では決められないか両者の機能比較は、調べれば10行でも20行でも書ける。だが、機能はどちらでも8割重なっている。残りの2割の違いは、現場のほとんどで誤差だ。 決定的に違うのは、運用の主語だ。 観点 Power Automate Logic Apps 運用の主語 業務部門 IT/インフラ部門 ライセンス起点 M365 ユーザー / Premium Azure サブスクリプション 統制と監査 Power Platform 管理センター + Purview Azure Monitor + Defender for Cloud Power Platform の本質は「業務部門が自分で直せる」ことであり、その前提が崩れた瞬間、Power Automate を選ぶ理由は半分消える。 逆に、IT 部門が SLA を持って運用する世界に Power Automate を置くと、Premium ライセンス費用と運用統制の不整合で、3年後に必ず揉める。 ツール選定とは、3年後の組織図を予想する作業だ。 中規模・部門横断のときだけ迷う判断が割れるのは、たとえばこういうケース。 経理部が起点だが、人事と情シスにもまたがる承認ワークフロー 月数万件のトランザクション データソースが Dataverse + SharePoint + 外部 SaaS API このとき、Power Automate Premium で攻めるか、Logic Apps Standard で攻めるか。 ...

2026年5月20日 · 2 分

Power Automate 無料枠でどこまでできる?——有料への損益分岐は「月27分」

環境前提:M365付帯ライセンス(標準コネクタのみ)。プレミアムコネクタ・RPA・AI Builder は有料プランが必要。 結論は単純で、月に27分以上の作業削減が見込めるかどうかで、プレミアムプラン(月額約2,248円)への移行判断は片付く。 Salesforce・kintone・HTTP APIなど外部システム連携が主目的なら、その時点で計算は終わっている。 無料枠で何ができて、何ができないかまず境界線を確認する。「無料でどこまでいけるか」は、コネクタ分類で決まる。 機能 Power Automate Free M365付帯(シード) Premium(有料) 標準コネクタ(Outlook/OneDrive/Teams/Forms等) ○ ○ ○ プレミアムコネクタ(Salesforce/SQL/HTTP/kintone等) × × ○ カスタムコネクタ × × ○ Dataverse(データベース) × × ○(250MB / 2GB) AI Builder(名刺読み取り・GPTモデル等) × × ○(5,000クレジット/月) アテンド型RPA(有人ボット) × × ○(1ボット) フローの他者への共有 × △(条件あり) ○ 出典:Microsoft Learn「Power Automateライセンスの種類」2026年3月更新 M365付帯ライセンスで実現できる代表的なシナリオは、以下の通りだ。 Outlookで受信した添付ファイルをOneDriveに自動保存 SharePointリストが更新されたらTeamsに通知送信 Formsの回答をExcelオンラインに自動記録 ExcelデータをWordテンプレートに差し込む定型レポート生成 すべてMicrosoft 365のサービス内で完結する処理であれば、追加費用なしで動く。 Power Automate Desktop(デスクトップ版)について Windowsアプリ操作の記録・再生、Excelの読み書き、Webブラウザ操作の自動再現は、Power Automate Desktop(Windows 11標準搭載)で無料実行できる。ただし手動実行のみ。スケジュール自動実行には有料プランが必要になる。クラウドフローの有料移行判断とは別軸の話なので、混同しないことが肝要だ。 いつ有料に移行するかの判断軸有料プランへの移行は、コスト回収ができるかどうかの問題だ。 Power Automate Premiumの月額は約2,248円(税込換算、為替により変動。出典:Microsoft「Power Automate 価格」公式ページ)。 損益分岐の計算は単純だ。 削減できる作業時間(月) × 時給 > 2,248円 なら移行する 時給5,000円のフリーランスであれば、月に27分以上の作業削減が見込めれば元が取れる。 ...

2026年5月20日 · 1 分

Power Automate、子フローはどこで分ける?——「3ヶ月ルール」で決める

Power Automate のフローは、組み始めると一瞬で密結合に倒れる。 気づくと、1 アクション直すたびに別フローが連鎖で壊れ、変更コストが案件数に比例して線形に膨らむ。 結論を先に置く。「この処理ブロックは、別フローから呼ばれる可能性が 3 ヶ月以内に出るか」——この一問で、子フロー化の境界線はおおむね片付く。 そして、判断を素振りする場所は貸与 PC ではなく、個人 PC 側の M365 Developer Tenant(Microsoft 公式の無料開発テナント)に置くのが速い。 なぜ「とりあえず 1 本のフロー」が線形コストになるのか新規依頼が来るたびに、トリガー直下に分岐とアクションを直書きしていく。これが密結合フローの典型的な作り方だ。動く。最初は動く。 だが、3 ヶ月後に同じパターンを別テナント・別部門で再利用しようとした瞬間、コピペ + 微修正の往復が始まる。 観点 密結合(1 本フロー直書き) 疎結合(子フロー + 環境変数) 同一パターンを別案件に転用するコスト 案件数に比例(線形 O(N)) 初回設計後はほぼ定数(O(1)) 1 アクション仕様変更の影響範囲 全フローを 1 本ずつ手修正 子フローを 1 箇所修正で完結 単体テストの実施可否 トリガーごと走らせる必要あり 子フロー単独で「フローの実行」から検証可能 認証情報の差し替え コネクション参照を全フロー触る 環境変数 1 箇所の差し替えで完了 機能比較表ではなく、3 ヶ月後の自分の手数で測るのが、この判断の正しい単位だ。 「動くかどうか」ではなく、「変更が来たときに、いくつのフローを開く必要があるか」を見る。 子フロー化の境界線:3 つの判定基準子フロー(Child Flow:別フローから呼び出される再利用可能なフロー単位)を切る基準は、機能ではなく呼び出し元の数と寿命で決まる。次の 3 つで判定する。 基準 1:再利用予定が 3 ヶ月以内に 2 件以上見えているか「いつか使うかも」では切らない。具体的に「次の案件で同じパターンを使う」「同テナント内の別部門に展開する」見通しがあるときだけ、子フロー化する。 予定なき抽象化は、保守すべき子フローの数だけ増やして終わる。 基準 2:例外処理ロジックが 5 行を超えるかエラーハンドリング(リトライ、ロールバック、通知)が肥大化したら、それは独立した責務だ。子フロー化して、呼び出し元はトリガーと正常系だけに絞る。 これは関数を切り出すのと同じ感覚で、フロー設計でも有効に効く。 ...

2026年5月9日 · 2 分