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 分

ノマドのAIツール、どう選ぶ?——4つの判断軸で揃える

Claude Pro、ChatGPT Plus、Cursor、Cline、Aider——比較記事を 5 本読んでも、3 ヶ月後にまた同じ問いに戻ってくる。 結論を先に置く。個人契約可否・ノマド可搬性・使い込み深度・月額負担、この 4 つの軸で揃えれば、自分の構成は決まる。 機能比較表で迷っているうちは決まらない。判断軸を 4 つに絞った瞬間、選択肢は半分以下に落ちる。 判断軸の核心:機能差ではなく「開発スタイルとの整合」で決めるAI ツールはどれも基本機能で大差ないが、判断軸は個別機能差ではなく**「どのツール構成がノマド型フリーランスの開発スタイルと整合するか」**に置く。「ツール選びより使い込み」が長期的な本質である以上、選定段階で消耗するのは合理的ではない。 なぜ機能比較表で決まらないかというと、ノマド型フリーランスの選定軸は会社員の組織契約モデルと根本的に違うからだ。半年後に同じ問いに再びぶつからないためには、機能差ではなく契約・可搬性・深度・コストという 4 軸を最初に固定する。 判断軸 問い 失敗モード 個人契約可否 個人クレジットカードで完結するか 法人契約必須 → ノマドで詰む ノマド可搬性 個人 PC 1 台、複数 OS、複数拠点で使えるか デスクトップ専用 / 環境セットアップ重い 使い込み深度 月 30 時間以上触り続ける気が実際に湧くか 契約だけして使わない 月額負担 全構成合計で月額がキャッシュフローに馴染むか 積み上げで月 1.5 万円超え この 4 軸のうち、**最初に効くのは「個人契約可否」**だ。組織契約前提のツール(Enterprise SKU しかない、SSO 必須、調達部門経由で月単位の発注書が要る)は、ノマド型フリーランスの開発フローに乗らない。乗らないものを比較表に並べても、判断軸が腐るだけだ。 仮想敵は競合ベンダーではなく、個人開発者の AI ツール選定で組織契約モデルを前提化してしまう業界慣習のほうにある。 判断が割れるのは利用パターン別の重心が違うとき4 軸を固定しても、利用パターンによって優先順位は変わる。重心の置き方で構成は 3 系統に分かれる。 コーディング中心:エディタ統合の使い込み深度を優先エディタに常駐させて補完・リファクタを回すなら、Cursor / Cline / Aider のいずれか 1 つに深度を寄せる。3 つを並行で使うのは時間の浪費で、エディタ統合系は月 30 時間以上の使い込みで初めて元が取れる設計になっている。 Cursor:デスクトップアプリ単体で完結。個人契約・月額固定・複数 OS 対応。可搬性は中程度(端末ごとにライセンス紐付け) Cline:VS Code 拡張として動く。API キー従量課金で月額の天井が見えにくい代わり、可搬性は高い Aider:CLI ベース。ターミナルで完結するため可搬性は最も高いが、エディタ統合の体験は薄い どれが「正しい」かではなく、自分の編集体験の重心がどこにあるかで 1 つ選ぶ。 ...

2026年5月9日 · 2 分