ADVERTISEMENT

【Excel】Power Queryで更新後に行数が減る時のフィルター確認

【Excel】Power Queryで更新後に行数が減る時のフィルター確認
🛡️ 超解決

Power Queryを使ってExcelにデータを取り込む際、クエリを更新すると突然行数が減ってしまう現象に遭遇したことはありませんか。特にフィルターを適用している場合、想定外の行が除外されている可能性があります。この記事では、Power Queryで更新後に行数が減る原因のうち、フィルター設定に焦点を当てて具体的な確認手順と対処法を解説します。実際の業務で発生しやすいケースを想定し、再発防止につながる知識を提供します。

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

  • 最初に見る場所: Power Queryエディタの「適用した手順」でフィルターが正しく設定されているか、特に最後のフィルター手順を確認します。
  • 切り分けの軸: 更新前後の行数比較、データソース側の変更、クエリ内のステップごとの行数変化を追跡します。
  • 注意点: フィルターの条件式が誤って設定されていないか、特に「含まない」や「等しくない」などの否定条件は予期せぬ行を除外するため慎重に確認してください。

ADVERTISEMENT

1. Power Queryで更新後に行数が減る主な原因

Power Queryでデータを取得し、更新後に期待した行数よりも少なくなる原因はいくつか考えられます。最も多いのはフィルター設定の誤りですが、それ以外にもデータソースの変更やクエリ内部のステップ変更が影響する場合があります。本章では、代表的な原因を詳しく見ていきます。

フィルター設定の誤り

Power Queryエディタで設定したフィルターが、意図しない条件で保持されているケースです。例えば、ある列から「エラーを除外」するフィルターを設定した際、後からその列に新しいデータカテゴリが追加されると、そのカテゴリが正しく判定されずに除外されることがあります。また、日付フィルターで「今月」を指定した場合、更新月が変われば当然取得範囲も変わるため、行数が変動します。

データソースの変更

参照元のデータベースやファイルの内容が変更され、フィルター条件に合致する行自体が減少した可能性があります。たとえば、販売データのソーステーブルから一部のレコードが削除されたり、フラグ列の値が変わったりすると、同じフィルター条件でも結果が変わります。この場合、Power Query側の設定は正しくても行数が減るため、データソースの状況を確認する必要があります。

クエリのステップの変更

クエリの途中で新しい手順を追加したり、既存の手順の順序を変更したりすると、後続のフィルターに影響を与えることがあります。特に、列の追加・削除やデータ型の変換の前にフィルターがかかっている場合、意図しない行が除外されることがあります。例えば、特定の列の値に基づいてフィルターを設定した後、その列を削除してしまうと、以降の処理でフィルター条件が適用されなくなることもあります。

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

2. フィルター設定を確認する手順

行数減少の原因を特定するには、Power Queryエディタでフィルター設定を一つずつ確認するのが最も確実です。以下の手順を順に行ってください。

  1. Excelで、該当のクエリが設定されているシートを開き、「データ」タブの「クエリと接続」をクリックします。
  2. 表示されたクエリ一覧から対象のクエリを右クリックし、「編集」を選択してPower Queryエディタを起動します。
  3. 右側の「クエリの設定」ペインにある「適用した手順」を確認します。フィルターに関連する手順(例:「フィルターされた行」「行のフィルター処理」)を探します。
  4. フィルター手順をクリックして選択し、その上に表示される歯車アイコン(設定アイコン)をクリックしてフィルター条件の詳細を表示します。
  5. 表示されたダイアログで、フィルター条件が意図したものかどうかを確認します。特に、「…に等しい」「…を含む」などの演算子と値が正しいか、複数条件がある場合はAND/ORの組み合わせが適切かをチェックします。
  6. 条件に問題があれば修正し、「閉じて読み込む」または「閉じて次に読み込む」を選択して変更を保存します。再度更新を行い、行数が戻るか確認します。

手順の中で特に注意すべき点は、各フィルター手順の前後で行数がどのように変化しているかです。Power Queryエディタの下部ステータスバーには現在の行数が表示されます。手順を一つずつ選択し、行数を比較することで、どの段階で行数が減少したかを特定できます。

3. フィルター関連の失敗パターンと対処法

実際の業務では、以下のような失敗パターンがよく発生します。それぞれの対処法を理解しておきましょう。

パターン1: 誤った条件式でフィルターがかかっている

例えば、ステータス列で「完了」と「保留」のみを表示したいところを、誤って「完了」だけを選択してしまったケースです。この場合、更新後に「保留」の行がすべて除外されます。対処法は、フィルター手順の設定を開き、正しい値を再選択することです。複数の値を選択する際は、チェックボックスで漏れがないように注意してください。

パターン2: データソースの列名やデータ型が変わった

Power Queryは列名やデータ型でフィルター条件を保持しています。ソース側で列名が変更されたり、データ型が変わったりすると、フィルターが正しく機能しなくなります。たとえば、数値列が文字列に変わると、数値範囲フィルター(例:>100)が適用できず、条件が無視されるかエラーになります。対処法は、ソースの変更に合わせてクエリの手順を修正することです。Power Queryエディタの「データソース設定」を開き、列名や型を再マッピングしてください。

パターン3: 結合クエリでフィルターが適用されている

複数のテーブルを結合したクエリでは、結合時に指定した結合の種類(内部結合、左外部結合など)がフィルターとして機能します。内部結合を使用すると、一致しない行は結果から除外されるため、行数が減ることがあります。また、結合後にフィルターをかけると、さらに行数が減少します。対処法は、結合の種類を確認し、必要な行がすべて含まれるように外部結合に変更するか、フィルターの条件を見直します。

ADVERTISEMENT

4. 状況別比較表

フィルターの種類によって、行数減少の振る舞いや確認方法が異なります。以下の表で比較してください。

フィルターの種類 特徴 行数減少の主原因 確認場所
Power Query内のフィルター クエリエディタで設定。条件を保持。 条件式の誤り、データソースの変更 「適用した手順」のフィルター手順
Excelシート上の手動フィルター Power Queryで読み込んだ後、シートで追加フィルター。 手動フィルターがクエリ更新でリセットされる。 シートのフィルターボタン
データソース側のフィルター(SQLなど) Power Queryがデータ取得時に適用。 ソース側のビュー変更、パラメーター変更 データソース設定、またはソースの管理者

5. 管理者に確認すべきポイント

行数減少がどうしても解決しない場合、システム管理者やデータソースの担当者に以下の点を確認してください。

  • データソースの内容に変更があったか: テーブル定義の変更、レコードの削除、列名の変更などを確認します。
  • アクセス権限の変更: データベースの権限が変更され、一部の行が表示されなくなった可能性があります。
  • バージョン管理: クエリが複数人で共有されている場合、誰かがフィルター条件を変更していないか確認します。Power Queryの「詳細エディタ」でM言語のコードを比較すると差分が分かります。

また、会社のポリシーでPower Queryの設定を変更できない場合は、管理者に依頼してフィルター条件の棚卸しを実施してもらうとよいでしょう。

6. よくある質問

ここでは、読者から寄せられることの多い質問とその回答をまとめました。

Q1: フィルターをすべて外しても行数が戻らないのはなぜですか?

A: フィルター手順を削除しても行数が戻らない場合、他の手順(列の削除、データのグループ化、重複の削除など)が影響している可能性があります。すべての手順を一時的に無効にして、どの手順が行数を減らしているか特定してください。Power Queryエディタで手順を一つずつ選択し、行数の変化を確認するのが確実です。

Q2: 更新のたびに行数が変わるのはなぜですか?

A: データソースそのものが更新ごとに変動している場合、行数が変わるのは正常です。ただし、期待値と大きく異なる場合は、フィルター条件に現在日時や相対日付(例:「今日」や「今週」)が含まれていないか確認しましょう。これらの条件は更新タイミングによって結果が変わります。

Q3: パフォーマンスを落とさずにフィルターを確認する方法はありますか?

A: 大規模データの場合、すべての行を読み込まずにプレビューで確認する方法があります。Power Queryエディタの「データのプレビュー」はデフォルトで最初の1000行だけ表示しますが、「クエリの設定」で「データのプレビュー」の行数を制限できます。また、フィルター手順の前後で行数を比較する際は、一度に大量のデータを処理しないように注意してください。

7. まとめ

Power Queryで更新後に行数が減る場合、まずはフィルター設定を疑い、手順を一つずつ確認することが重要です。データソースの変更やクエリ内部のステップ変更も原因になり得るため、切り分けを慎重に行ってください。フィルター条件の確認では、特に否定条件や複数条件の組み合わせに注意が必要です。また、管理者との連携が必要な場合は、変更履歴やデータソースの定義情報を共有するとスムーズです。本記事の手順を参考に、トラブルシューティングを進めてください。


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

ADVERTISEMENT

この記事の監修者
📈

超解決 Excel・Word研究班

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

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

ADVERTISEMENT