BI探検ノート

Metabase でダッシュボードのフィルターが一部のグラフに効かないとき

約6分

濵口 翔長崎で、Power BI のつまずきを記録しています
目次
  1. 前提
  2. 手順: フィルターを追加して、グラフにつなぐ
  3. 結果の読み方
  4. Power BI との違い(今回見た範囲)
  5. 公式の記載との照合
  6. この記事で確認できたこと・できていないこと
  7. 参考

確認日2026年10月19日。Metabase(OSS 版 v0.64.2.8、日本語の画面)を、Docker で動かして確かめました。データは、ダミーの45行です。確認できていないことは、末尾にまとめました。

Metabase のダッシュボードに、「店舗」のフィルターを付けました。ところが、選んでも、片方のグラフが変わらないことがあります。Metabase では、フィルターを、グラフごとにつなぐからです。つなぎ方と、外したときの動きを、確かめました。

結論(30秒版)

  • ダッシュボードの編集画面で、フィルターを追加すると、グラフごとに「フィルター対象の列」を選ぶ画面になりました。
  • 2つのグラフの両方に「Sales.店舗」をつなぐと、「渋谷」を選んだとき、両方が渋谷だけに絞り込まれました。
  • 片方の接続を外すと、そのグラフだけ、絞り込まれず、全店のままでした。フィルターが効かないときは、そのグラフに列がつながっているかを見ます。

前提

PostgreSQL に、売上のダミーデータ(店舗5、月3、カテゴリ3、45行)を入れて、Metabase につなぎました。保存した質問(グラフ)は2つです。ダッシュボード「店舗別の売上」に、その2つを置きました。

  • 「カテゴリ別の売上」(棒グラフ)
  • 「月別の売上」(折れ線グラフ)

質問の作成は、画面ではなく、API で行いました。フィルターの追加と、接続は、画面で行いました。

手順: フィルターを追加して、グラフにつなぐ

  1. ダッシュボードの右上の、鉛筆のアイコン(「ダッシュボードを編集」)を押します。
  2. 上のバーの、フィルターのアイコン(「フィルターまたはパラメーターを追加」)を押します。
  3. メニューから、「テキストまたはカテゴリ」を選びます。(メニューには、日付ピッカー、時間のグルーピング、場所、数値、ブール値、ID もありました。)
  4. 各グラフの上に、「フィルター対象の列」と「選択…」が出ます。グラフごとに、「選択…」を押して、「Sales.店舗」を選びます。
  5. 右のサイドバーで、ラベル(店舗)、演算子(既定は「次と一致」)、選び方(ドロップダウンリスト、検索ボックス、入力ボックス)、複数か単一かを決めて、「完了」を押し、右上の「保存」を押します。

1つ目のグラフで「店舗」を選ぶと、「“Sales.店舗” を含むすべての質問にこのフィルターを自動接続しますか?」という案内が出ました(「自動接続」)。私は、自動接続を使わず、2つ目も手で選びました。

ダッシュボードの編集画面。左上に「店舗」のフィルター。2つのグラフ「カテゴリ別の売上」と「月別の売上」の上に、どちらも「フィルター対象の列」と「Sales.店舗」が出ている。右のサイドバーは、フィルター設定(ラベル、タイプ、演算子など)

結果の読み方

両方のグラフにつないだとき

保存して、閲覧の画面で、店舗の「渋谷」を選びました。

  • 棒グラフ(カテゴリ別): 最大が約 7,000 に絞り込まれました。選ぶ前は、最大が約 30,000 でした。
  • 折れ線グラフ(月別): 縦軸が 7,000 まで。渋谷だけの値になりました。選ぶ前は、24K〜27K ほどでした。

閲覧画面。上に「店舗: 渋谷」。左の棒グラフは雑貨、食品、飲料で最大7,000。右の折れ線グラフも縦軸が7,000まで

片方の接続を外したとき

編集画面で、2つ目(月別の売上)の接続を外しました(「Sales.店舗」の「×」を押すか、「カードとの接続を解除」)。もう一度、「渋谷」を選ぶと、動きが変わりました。

  • 棒グラフ: 渋谷だけに絞り込まれました(最大 7,000)。
  • 折れ線グラフ: 全店のままでした(縦軸は 30,000 まで、1月〜3月が、それぞれ約 23,000〜27,000)。

閲覧画面。上に「店舗: 渋谷」。左の棒グラフは最大7,000で絞り込まれている。右の折れ線グラフは縦軸が30,000まで、約24,000から27,000の値で、絞り込まれていない

フィルターの名前は「店舗: 渋谷」と出ているのに、片方のグラフは変わりません。これが、「フィルターが一部のグラフに効かない」状態です。

Power BI との違い(今回見た範囲)

Power BI では、スライサーを置くと、同じページのビジュアルが、既定で連動します。連動させたくないビジュアルは、「相互作用を編集」で、ビジュアルごとに「フィルター」「強調表示」「なし」を選びます(相互作用を編集の記事)。

Metabase は、逆の形でした。つないだグラフだけが、フィルターに連動する形です。連動させたいグラフに、1つずつ、列を選んでつなぎます(自動接続の案内もあります)。「全部が連動、外すものを選ぶ」(Power BI)と、「つないだものが連動」(Metabase)の違いです。ほかの条件での違いは、確かめていません。

公式の記載との照合

Metabase の公式ドキュメント(英語版、フィルターのページとトラブルシューティングのページ)を、検索で確認しました(確認日 2026年10月24日)。

  • 公式では、フィルターは、カードごとに、フィルターする列(Column to filter on)を選ぶ、と書かれています。私の画面の「フィルター対象の列」と合っています。
  • 公式では、フィルターが効かないとき、フィルターのウィジェットの設定で、列が選ばれているかを確かめる、と書かれています。
  • 公式では、ほかのカードに同じ列があると、自動接続を提案する、と書かれています。私の画面でも、同じ案内が出ました。
  • 公式では、SQL で書いた質問(ネイティブクエリ)は、変数かフィールドフィルターを入れないと、ダッシュボードのフィルターにつなげない、と書かれています。この記事では、確かめていません。

この記事で確認できたこと・できていないこと

確認日: 2026年10月19日(公式の照合は10月24日)。Metabase OSS v0.64.2.8(日本語の画面)、Docker、PostgreSQL 16、ダミーのデータ45行。

確認できたこと

  • グラフごとに「フィルター対象の列」を選ぶ画面になること
  • 両方につなぐと、両方が絞り込まれること
  • 片方を外すと、そのグラフだけが絞り込まれないこと
  • 自動接続の案内が出ること(使わずに、手でつなぎました)

確認できていないこと

  • SQL で書いた質問(ネイティブクエリ)でのつなぎ方
  • 日付や数値など、ほかの種類のフィルター
  • 複数のタブがあるダッシュボード
  • 質問を、画面のクエリビルダーで作った場合(今回は API で作りました)
  • 前回選んだ値が残る動き(ユーザーごとの記憶と思われますが、未確認です)
  • Metabase の有料版や、クラウド版での動作

参考