ADVERTISEMENT

【Excel】Power Queryで「Formula.Firewall」と出る時のプライバシー設定確認

【Excel】Power Queryで「Formula.Firewall」と出る時のプライバシー設定確認
🛡️ 超解決

Power Queryで複数のデータソースを結合しようとしたときに、「Formula.Firewall」というエラーメッセージが表示されて処理が止まってしまうことがあります。このエラーは、異なるデータソース間のプライバシーレベル設定が原因で発生するもので、適切に設定すれば解決できます。本記事では、プライバシー設定の確認方法と、エラーを回避するための具体的な手順を解説します。会社のPCで作業されている方でも安心して対応できるよう、管理者への確認ポイントやよくある失敗パターンも含めて整理しました。

【要点】この記事で確認すること

  • 最初に見る場所: ExcelのPower Queryエディター → 「ファイル」→「オプションと設定」→「クエリオプション」→「プライバシー」。
  • 切り分けの軸: エラーが発生するクエリが単一データソースか複数データソースか、それぞれのプライバシーレベルが「なし」「プライベート」「組織」「パブリック」のどれに設定されているか。
  • 注意点: プライバシーレベルを下げるとデータ漏洩のリスクが生じるため、会社のデータガバナンスポリシーに従い、自己判断で「なし」に変更しないでください。

ADVERTISEMENT

1. Formula.Firewallエラーとは?原因を理解する

プライバシーレベルの基本

Power Queryには、データソースごとにプライバシーレベルを設定する機能があります。これは、異なるソース間でデータを結合する際に、データが意図せず外部に漏れるのを防ぐための仕組みです。プライバシーレベルには「なし」「プライベート」「組織」「パブリック」の4段階があります。「プライベート」は最も厳しく、他のソースとの結合が制限されます。「組織」は同じ組織内のソース同士で結合可能、「パブリック」はすべてのソースと結合できます。「なし」はプライバシー保護を無効にし、すべての結合を許可します。

エラーが発生するシナリオ

Formula.Firewallエラーは、主に次の状況で発生します。

  • 異なるプライバシーレベルのデータソースを結合しようとしたとき(例:プライベートのソースとパブリックのソースをマージ)
  • 同じソースでも、異なるデータベースやフォルダからのデータを結合する場合に、プライバシーレベルが適切に設定されていないとき
  • 参照クエリ(他のクエリからの出力を参照するクエリ)と外部データソースを組み合わせたとき

これらのシナリオでは、Power Queryがデータソース間の境界を検出し、プライバシー保護のために結合をブロックします。その結果、Formula.Firewallエラーが表示されます。

お探しの解決策が見つからない場合は、こちらの「Excelトラブル完全解決データベース」で他のエラー原因や解決策をチェックしてみてください。

2. プライバシー設定の確認手順(Windows / Excel)

現在のプライバシーレベルの確認方法

  1. エラーが発生しているExcelブックを開き、「データ」タブをクリックします。
  2. 「クエリと接続」をクリックして、クエリと接続ウィンドウを表示します。
  3. 該当のクエリを右クリックし、「編集」を選択してPower Queryエディターを開きます。
  4. Power Queryエディターの左上にある「ファイル」メニューをクリックし、「オプションと設定」→「クエリオプション」を選択します。
  5. 左側のナビゲーションペインで「プライバシー」をクリックします。
  6. 右側の「プライバシーレベル」セクションに、現在使用しているデータソースごとのプライバシーレベルがリスト表示されます。各ソースのレベルを確認してください。
  7. 必要に応じて、各ソースのプライバシーレベルを変更するか、「プライバシーレベルの設定を無視する」チェックボックスにチェックを入れます(後述の注意点を参照)。
  8. 「OK」をクリックして設定を保存し、クエリの実行を再試行します。

注意:プライバシーレベルを変更する際の判断基準

プライバシーレベルを「なし」に変更すると、データソース間のプライバシー保護が無効になり、外部へのデータ漏洩リスクが高まります。社内の機密データを扱う場合は、必ず管理者に確認してから変更してください。特に、個人情報や社外秘データを含むソースは「プライベート」のままにしておくのが安全です。

3. 一般的な失敗パターンと対処法

失敗パターン1: プライバシーレベルが「なし」または「プライベート」に設定されている

よくあるケースは、ユーザーが意識せずにデータソースを追加した際、Power Queryが自動的に「なし」や「プライベート」を割り当てている場合です。特に、ローカルファイル(CSV、Excelなど)は「なし」、データベースやWebサービスは「組織」または「パブリック」になることがあります。これらを結合しようとするとエラーになります。
対処法: 両方のデータソースのプライバシーレベルを「組織」または「パブリック」に統一します。ただし、会社のポリシーにより「プライベート」のままにする必要がある場合は、そのソースとの結合を避けるか、管理者に相談してください。

失敗パターン2: 同じブック内の別テーブルでも発生する

同じExcelブック内の異なるテーブルを結合する場合でも、Power Queryはそれぞれを独立したデータソースとみなすことがあります。例えば、シート1のテーブルとシート2のテーブルを結合する際に、一方が「なし」、もう一方が「組織」だとエラーが発生します。
対処法: 各テーブルのプライバシーレベルを確認し、同じレベルに設定します。通常は「組織」にすれば問題ありません。

失敗パターン3: 外部クエリと参照クエリの組み合わせ

参照クエリ(別のクエリの出力を参照するクエリ)を使う場合、元のクエリのデータソースと参照先のデータソースが異なるとエラーが発生しやすくなります。
対処法: 参照クエリを使用する代わりに、すべてのデータを一度のクエリで読み込むように設計し直すか、プライバシーレベルを統一します。

ADVERTISEMENT

4. 管理者向け:組織全体でプライバシー設定を管理する方法

組織としてPower Queryのプライバシー設定を管理したい場合、グループポリシーやレジストリを使用して強制することが可能です。管理者は次の情報を把握しておきましょう。

  • レジストリキー: HKEY_CURRENT_USER\Software\Microsoft\Office\16.0\Common\PowerQuery 以下にプライバシーレベル関連の設定があります。ただし、直接編集は推奨されません。
  • グループポリシー: Office管理用テンプレートを使用して、Power Queryの「プライバシーレベルの設定を無視する」を許可または禁止できます。
  • 注意点: 安易に「プライバシーレベルの設定を無視する」を有効にすると、ユーザーが意図せずデータを漏洩させる可能性があります。機密データを扱う部署では、このオプションを無効にしておくことを推奨します。

ユーザーから「プライバシーレベルを変更してほしい」と相談があった場合、管理者はデータの種類と結合の必要性を評価し、適切なレベルを指示してください。また、社内のデータソース一覧と推奨プライバシーレベルをまとめたドキュメントを作成すると、問い合わせが減ります。

5. プライバシー設定とパフォーマンスのトレードオフ(比較表)

プライバシーレベル 説明 データ結合時の動作 セキュリティリスク 推奨設定
プライベート 最も厳格な保護。同じソース内でのみ結合可能。 他のソースとの結合がブロックされる。 低い(データ漏洩なし) 個人情報や機密データを含むソース
組織 同じ組織内のソース同士で結合可能。 組織内の他のソースと結合できる。 中程度(組織内での漏洩リスクあり) 社内システムや共有フォルダのデータ
パブリック すべてのソースと結合可能。 外部ソースとも自由に結合できる。 高い(外部へのデータ漏洩リスク) 公開データのみを扱う場合
なし プライバシー保護を無効化。 すべての結合を許可。 非常に高い(制限なし) 基本は非推奨。管理者の許可がある場合のみ

この表からわかるように、セキュリティを優先するほど結合の自由度が下がり、パフォーマンスにも影響します(プライバシーレベルが低いほどPower Queryの最適化が働きにくくなる場合があります)。業務要件とセキュリティポリシーのバランスを考慮して設定してください。

6. よくある質問(FAQ)

Q1: プライバシー設定を無視するオプションを使ってもよいですか?

クエリオプションの「プライバシーレベルの設定を無視する」にチェックを入れると、すべてのプライバシー保護が無効になり、エラーは発生しなくなります。しかし、これはデータが外部に漏れるリスクを許容することになります。社内の機密データを扱う場合は、管理者の許可なしに使用しないでください。一時的な回避策として使うなら、作業後は必ずチェックを外しましょう。

Q2: エラーが出た時にすぐ試すべきことは?

まずはPower Queryエディターで各データソースのプライバシーレベルを確認し、すべてのソースが同じレベル(できれば「組織」)に設定されているか確認します。それでも解決しない場合は、各ソースのプライバシーレベルを手動で「組織」に変更してみてください。それでもダメな場合は、データソースの種類(例:ローカルファイル vs データベース)に違いがあるか確認し、必要に応じて「プライバシーレベルの設定を無視する」を一時的に有効にしてテストします。

Q3: 社内システム(SharePointリストとオンプレDB)の組み合わせではどう設定すべき?

SharePointリストは「組織」、オンプレミスのSQL Serverも「組織」に設定すれば、通常は結合できます。もしエラーが出る場合は、両方のデータソースが本当に同じ組織に属しているか確認し、ネットワークの制約がないか調べてください。それでも解決しない場合は、管理者にFirewallの設定や認証方法を相談しましょう。

7. まとめ

Formula.Firewallエラーは、Power Queryのプライバシー設定が原因で発生する一般的な問題です。原因を特定するためには、最初に各データソースのプライバシーレベルを確認し、必要に応じて統一するか「プライバシーレベルの設定を無視する」オプションを検討します。ただし、セキュリティリスクを考慮し、会社のポリシーに従って慎重に設定してください。また、管理者が組織全体の設定を統制することで、ユーザーからの問い合わせを減らし、安全なデータ統合環境を維持できます。本記事の手順を参考に、エラーを解決し、Power Queryを効率的に活用してください。


📊
Excelトラブル完全解決データベースこの記事以外にも、様々なエラー解決策をまとめています。困った時の逆引きに活用してください。

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

企業のDX支援や業務効率化を専門とする技術者チーム。20年以上のExcel・Word運用改善実績に基づき、不具合の根本原因と最短の解決策を監修しています。ExcelとWordを使った「やりたいこと」「困っていること」「より便利な使い方」をクライアントの視点で丁寧に提供します。

🏆
超解決 Excel検定 あなたのExcel実務能力を3分で測定!【1級・2級・3級】

ADVERTISEMENT