個人の知識管理読了12分

Obsidian Dataview:動的ダッシュボードとクエリの完全ガイド (2026)

Obsidian Dataview プラグイン 2026 年完全ガイド:TABLE、LIST、TASK クエリ、インラインフィールド、WHERE/SORT/GROUP BY、即戦力となるタスク&プロジェクトダッシュボード。

Obsidian Dataview:動的ダッシュボードとクエリの完全ガイド (2026)

Obsidian Dataview:動的ダッシュボードとクエリの完全ガイド (2026)

Obsidian の真の力は、書いたノートそのものではなく、それらのノートが相互に会話を始めたときに発揮されます。Dataview はそのスイッチを入れるプラグインです。静的な Markdown ファイルの集まりに過ぎなかった Vault(保管庫)を、オンデマンドでクエリ、ソート、集計ができる生きたデータベースへと変貌させます。ノートにタグを付け、期限を設定し、プロジェクトステータスを指定するだけで、何かを変更するたびに自動更新されるテーブル、リスト、ダッシュボードを Dataview が組み立ててくれます。

「進行中のプロジェクト一覧」や「誰かに頼まれているすべてのタスク」を探すために、数十個のフォルダをスクロールした経験があるなら、Dataview が解決する問題をすでに理解しているはずです。手動でインデックスノートを更新し続ける代わりに、短いクエリを一度書くだけで、プラグインが永久に最新状態を保ってくれます。読書ログ、タスクボード、週次レビュー——そのすべてを自動化できます。

本ガイドで解説する内容は以下の通りです:Dataview の概要、インストール手順、読み取るメタデータの追加方法、4つのクエリタイプ、ソースの選択とフィルタリング、インラインクエリ、コピー&ペーストで使える2つの完成版ダッシュボード、そしてクエリが頑固に何も返さないときのトラブルシューティング・チェックリスト。読み終える頃には、独自のダッシュボードを構築できるようになるか、DQL の記述を完全にスキップして準備済みのテンプレートに任せることができるようになります。

Obsidian Dataview とは何か、なぜ重要なのか?

Dataview は Vault のライブインデックスであり、ノート内のメタデータを読み取ってテーブル、リスト、タスクボード、カレンダーとしてレンダリングするクエリ言語です。データを移動したり複製したりする必要はありません。「Projects フォルダ内の active タグが付いた全ノートを期限順にソートして表示」といった要望を記述するだけで、Dataview がビューを生成し、Vault の変更に応じて自動的に更新します。

これが重要なのは、手動のインデックスは作成した瞬間から風化し始めるからです。手書きの「進行中プロジェクト」ノートは、次にプロジェクトを完了した瞬間に古くなります。しかし、Dataview クエリが古くなることはありません。Vault が大きくなるにつれてその価値は複利で増していきます。今日2つのプロジェクトを表示している同じ3行のクエリが、来年には何も追加の手間をかけずに20個のプロジェクトを表示するようになります。

各ノートをデータベースの「行」、各プロパティを「列」と考えてみてください。Dataview を使えば、プレーンで読みやすい構文でそのデータベースに問いかけることができます。これは良いリンク習慣の自然な相棒となります——もしリンク構築の段階であれば、ノート同士の参照が増えるほど Dataview が活用できる素材が増えるため、当サイトのノート接続の完全ガイドがここでの学習と完璧にマッチします。

Dataview のインストールと有効化の手順は?

Obsidian のコミュニティプラグインパネルから1分未満で Dataview をインストールできます。正確な手順は以下の通りです:

  1. 設定 → コミュニティプラグイン を開きます。
  2. 「制限付きモード」(Restricted mode)が有効になっている場合は オフ にします(コミュニティプラグインの実行を許可するため)。
  3. 閲覧(Browse)をクリックし、Dataview を検索します。
  4. インストール をクリックし、次に 有効化 をクリックします。

有効化すると、Dataview はバックグラウンドで Vault のインデックス作成を開始します。小さな Vault では一瞬で完了し、大きな Vault では初回に数秒かかる場合があります。

次に、プラグインの設定を開き、全機能を解放する2つのトグルを確認します:

  • インラインクエリを有効化 (Enable Inline Queries) —— 文中で単一の値を表示できるようになります(後述)。
  • JavaScript クエリを有効化 (Enable JavaScript Queries) —— 高度なカスタムロジックに DataviewJS を使用する場合にのみ必要です。初心者の場合はオフのままにしてください。

ヒント:手動で何も「再構築」する必要はありません。ノートの編集、作成、削除を行うと、Dataview が自動的に再インデックスします。唯一の例外は、末尾近くのトラブルシューティングのセクションで説明します。

メタデータの追加方法:Frontmatter プロパティ vs インラインフィールド?

Dataview は2種類のメタデータを読み取ります:YAML frontmatter(Obsidian では プロパティ / Properties と呼びます)と、ノートの本文に書かれた インラインフィールド です。どちらもクエリ可能な列になり、データが自然に存在する場所に基づいて選択します。

Frontmatter(プロパティ) はノートの最上部にある2つの --- 行の間に位置し、構造化されたノートレベルのデータに最適です:

---
status: active
due: 2026-07-15
priority: 1
tags: [project, client]
---

インラインフィールド を使用すると、ダブルコロンを使ってノートの途中で データを記録できます。単独の行で key:: value を使用するか、[key:: value] を使用して文章の中にフィールドを埋め込みます:

Project kicked off today.
status:: in-progress
Budget is [budget:: 4500] for this quarter.

フィールドタイプは自動的に推論されます:テキスト、数値、日付(2026-07-15 のような ISO 形式)、リスト(tags: [a, b])、リンク([[ノート名]])。ユーザーが追加したものに加えて、すべてのノートには何も定義せずにクエリできる組み込みの file.* フィールドが付属しています:

組み込みフィールド 返される内容
file.name ノートのファイル名
file.link ノートへのクリック可能なリンク
file.ctime / file.mtime 作成日時 / 最終更新日時
file.tags ノート内の全タグ
file.inlinks / file.outlinks 被リンク / 外部リンクノート
file.folder フォルダパス

この file.inlinks フィールドは静かな超能力です——ノートがどのように接続されているかだけに基いてビューを構築できるため、意図的なリンク作成が大きな報いをもたらす理由がここにあります。

4つのクエリタイプとは:TABLE、LIST、TASK、CALENDAR?

Dataview には 4 種類のクエリタイプがあり、それぞれ異なる形式の出力を生成します。これらは dataview とラベル付けされたコードブロック内に記述します。

LIST は最もシンプルで、ノートの箇条書きリストを出力します:

LIST
FROM "Projects"
WHERE status = "active"

TABLE は日常的に使われる万能ツールで、指定したフィールドの列を追加します:

TABLE status, due, file.mtime AS "Last Edited"
FROM "Projects"
SORT due ASC

TASK はノートから個々のチェックボックス項目(- [ ])を抽出し、それらが存在するノートごとにグループ化します——Vault 全体の Flow タスクビューに最適です:

TASK
WHERE !completed

CALENDAR は選択した日付フィールドを使用してノートを月間グリッド上にマッピングします。会議や締め切りの視覚化に便利です:

CALENDAR due
FROM "Projects"

ほぼすべての用途には LIST と TABLE を、複数ノートにまたがるチェックボックスを集計したい場合は TASK を、行で表示するよりも日付グリッド表示の方が分かりやすい場合は CALENDAR を使用してください。タスク管理が主な目的である場合、当サイトの Obsidian タスク管理完全ガイド でこれらのクエリタイプが実際のワークフローにどう適合するかを解説しています。

FROM を使ってソースを選択する方法は?

FROM 句は Dataview に対し対象とするノートを指示し、フォルダ、タグ、リンクを指定できます。これを正しく設定することで、クエリを高速かつ的確に保つことができます。

  • フォルダ指定: FROM "Projects"(パスは必ず引用符で囲みます。サブフォルダは "Areas/Health")。
  • タグ指定: FROM #active(タグには引用符不要)。
  • 被リンク指定: FROM [[Project Alpha]] そのノートへリンクしているすべてのノートを検索します。
  • 発リンク指定: FROM outgoing([[Project Alpha]]) Alpha がリンクしているノートを検索します。

AND や OR でソースを組み合わせ、マイナス記号で除外します。これは実務で最も有用なパターンです——フォルダを指定し、タグで絞り込み、テンプレートを除外します:

TABLE status, due
FROM "Projects" AND #active AND -"Templates"
SORT due ASC

このクエリは Projects フォルダ内の #active タグが付いた全ノートを読み取り、Templates フォルダ内のノートを除外します。

注:FROM でスコープを絞り込むことは単に整理整頓のためだけでなく、パフォーマンス上の重要な習慣です。FROM "Projects" で始まるクエリはそのフォルダのみをスキャンしますが、FROM のないクエリは更新ごとに Vault 全体をスキャンします。

結果をフィルタリング、ソート、グループ化する方法は?

ソースを選択したら、WHERE、SORT、GROUP BY で出力を整形します。これらは最も頻繁に調整する構文です。

WHERE は比較と関数を使用して行をフィルタリングします:

  • 比較:WHERE priority >= 2、WHERE status = "active"、WHERE due < date(today)。
  • 関数:contains(file.name, "2026")、length(tags) > 0、および due <= date(today) + dur(7 days) のような日付計算。

SORT は結果を並べ替えます:SORT due ASC または SORT file.mtime DESC。LIMIT は件数を制限します:LIMIT 10。

GROUP BY は共有された値で結果をまとめます——タスクをステータス別、ノートをフォルダ別、読書ノートを著者別にグループ化できます:

TABLE rows.file.link AS "Projects"
FROM "Projects"
GROUP BY status

フィールドにリスト(複数のタグや著者など)が含まれている場合は、グループ化する前に FLATTEN を使用して値ごとに1行へ展開してください——そうしないとリストが1つの塊として扱われてしまいます。以下は、これらの構文を組み合わせた**「最近更新されたノート」**のコピペ用レシピです:

TABLE file.mtime AS "Modified"
FROM ""
SORT file.mtime DESC
LIMIT 10

そして、Vault を綺麗に保つのに役立つ**「タグのないノート」**のクリーンアップクエリです:

LIST
WHERE length(file.tags) = 0

インライン DQL の書き方と、DataviewJS を使うべきタイミングは?

インライン DQL を使用すると、ブロック全体をレンダリングする代わりに、単一の計算値を文章の中に直接挿入できます。バックティックと等号のプレフィックスで記述します。例えば、= this.due は現在のノートの期限をインラインで表示し、= dv.current().file.mtime はこのノートが最後に編集された時間を表示します——どちらもリアルタイムで更新されます。

これはテンプレートやデイリーノート内で理想的です:「最終レビュー日:= this.reviewed」というヘッダーは手を出さなくても正確に保たれます。インラインクエリは設定で有効化されている必要があります(インストール時にトグルを切り替えました)。

DataviewJS は上級者向けです。読みやすい DQL 構文を JavaScript と dv.* API に置き換え、ループ、条件分岐、任意のカスタムロジック(例:dv.pages("#book").where(p => p.rating > 4))を提供します。引き換えに学習コストが高くなり、JavaScript クエリの有効化が必要になります。DQL に慣れた後の次のステップとして扱い、出発点にはしないでください。大半のダッシュボードでは全く必要ありません。

ヒント:簡単なことを行うために DataviewJS に手を伸ばしていることに気づいたら、通常はプレーンな DQL で行う方法が存在します。JavaScript は真にカスタムな描画のために取っておきましょう。

タスクやプロジェクトの本格的なダッシュボードを構築する方法は?

ダッシュボードとは、「何に注意を払うべきか?」にまとめて答える複数のクエリを保持するノートに過ぎません。ノートに貼り付けて編集できる2つの完全なコピペ例を紹介します。

ステップバイステップ 1 —— タスクダッシュボード。 Vault 全体の未完了タスクを抽出し、期限切れのものを隔離して、各プロジェクトが何を抱えているか確認できるようにファイル別にグループ化します:

TASK
WHERE !completed AND due AND due < date(today)
GROUP BY file.link

代わりに今週期限の全項目を表示したい場合は、due < date(today) を due <= date(today) + dur(7 days) に変更してください。より豊かな期限設定や繰り返し処理を行うには、Dataview を Tasks プラグイン と組み合わせてください。Tasks がスケジュール、繰り返し、洗練されたチェックボックス UI を担当し、Dataview がノート全体の集計とレポートを担当します。当サイトの Tasks プラグイン活用完全ガイド でその組み合わせを詳しく解説しており、GTD セットアップ にも綺麗に適合します。

ステップバイステップ 2 —— プロジェクトダッシュボード。 ステータス、次のアクション、最終更新日時を含む進行中プロジェクトの単一テーブルです:

TABLE status AS "Status", next_action AS "Next Action", file.mtime AS "Last Modified"
FROM "Projects" AND -"Templates"
WHERE status != "done"
SORT file.mtime DESC

これらをゼロから構築するのは素晴らしい学習方法ですが——最初から組み上がった状態を望むなら、まさに既製テンプレートが輝く場所です。Obsibrain には、タスク、プロジェクト、日次/週次レビュー用の Dataview 駆動ダッシュボードがあらかじめ設定された状態で出荷されるため、DQL を1行も書かずにその恩恵を受けることができます。

よくあるエラーとパフォーマンスの落とし穴は?

大部分の「壊れた」Dataview クエリは、同じいくつかの理由で失敗します。プラグインのせいだと決めつける前に、このチェックリストを確認してください。

  • インラインフィールドの構文: シングルコロンではなく、ダブルコロン(status:: active)を使用してください。シングルコロンは Frontmatter の外では何も機能しません。
  • 大文字と小文字の区別: Status と status は異なるフィールドであり、WHERE 内の "Active" は "active" にマッチしません。一貫性を保ちましょう。
  • フォルダパスを引用符で囲む: FROM "Projects" は機能しますが、FROM Projects はタグのようなソースとして読み取られ失敗します。
  • 存在しないフィールドは null を返す: priority でフィルタリングするクエリは、priority フィールドを持たないすべてのノートを無言で除外します。結果が空ではなく不完全に見える理由は多くの場合これです。
  • フィールドタイプを混在させない: due が一部のノートで日付、他のノートでプレーンテキストの場合、比較やソートが壊れます。Vault 全体で1つのフィールドのタイプを統一してください。

大規模 Vault でのパフォーマンスのためのルールは、Dataview にスキャンさせる量を減らすことです:

  1. FROM "" ではなく、FROM "Folder" や FROM #tag で各クエリのスコープを絞り込みます。
  2. 全て読みきれない長いリストには LIMIT を追加します。
  3. 頻繁に開くノートに重い DataviewJS を入れないようにします。
  4. 編集後に結果が古く見える場合は、設定でプラグインをオフにしてからオンにし直すか(または Obsidian を再起動して)、強制的に再インデックスさせます。

注:結果が 何も表示されない クエリは、Dataview のバグよりもメタデータの問題(フィールドの欠落、フォルダ名のタイポ、大文字小文字の不一致)であることが圧倒的に多いです。構文ではなく、まずフィールドから確認してください。

Dataview vs Obsidian Bases:2026年にはどちらを使うべきか?

Obsidian は2025年にコア機能として Bases をリリースし、これが Dataview と十分に重複しているため、初心者を困惑させています。Bases はノーコードのスプレッドシート型データベースビューです:GUI を介してテーブルやフィルターを構築し、Obsidian に組み込まれており(プラグイン不要)、モバイルでもスムーズに動作します。Dataview はテキストベースのクエリ言語です:より表現力が高く、プレーンな Markdown としてポータブルで、タスクの抽出や派生値の計算に圧倒的に優れています。

構文を覚える必要のない簡単な視覚的テーブルを望み、主にモバイルで使用する場合は Bases を使用してください。TASK クエリ、文章内のインライン値、複雑なフィルタリング、またはプレーンテキストとして持ち運べるダッシュボードが必要な場合は Dataview を選択してください。多くのパワーユーザーは両方を運用しています——閲覧可能なデータベースには Bases を、レポートやタスク集計には Dataview を使用します。どちらも廃れることはないため、一方に絞るのではなく用途に応じて選択してください。

よくある質問 (FAQ)

Dataview プラグインは無料ですか?2026年現在もメンテナンスされており信頼できますか? はい。Dataview は無料かつオープンソースであり、Obsidian エコシステムで最もインストールされているコミュニティプラグインの1つです。安定しており広く依存されています。ただし、コミュニティプラグイン(コア機能ではない)であるため、ミッションクリティカルな設定ではデータをプレーンな Markdown として保持するのが賢明です——Dataview はノートの読み取りのみを行い変更しないため、設計上そうなっています。

Dataview と Tasks プラグインの違いは何ですか——両方必要ですか? これらは異なる問題を解決し、相性が抜群です。Tasks プラグイン は個々のタスク(期限、繰り返し、スケジュール、洗練されたチェックボックス UI)を管理します。Dataview は Vault 全体にわたってテーブルやリストを作成し、集計とレポートを担当します。本格的なタスク管理のために、多くの人が両方を導入し、Tasks にタスクのライフサイクルを処理させ、Dataview にダッシュボードを駆動させています。

Dataview クエリが動作しない、または結果が表示されないのはなぜですか? 90% の場合、クエリではなくメタデータに原因があります。インラインフィールドのコロンがシングルになっていないか、大文字小文字の不一致(Status vs status)、引用符のないフォルダパス、または対象ノートにフィールド自体が存在しないかを確認してください。存在しないフィールドでフィルタリングする WHERE 句は、それらのノートを無言で除外します。構文の前にまずフィールドを修正してください。

Dataview は大規模 Vault で Obsidian の動作を重くしますか?クエリはモバイルや Obsidian Publish で動作しますか? 非常に大きな Vault では、スコープのないクエリが遅延を引き起こす可能性があります——FROM フォルダ/タグと LIMIT を追加して解決してください。クエリはモバイルでも動作し(スマートフォンでは重いクエリは遅くなります)、ノート内部に存在するためプレーンテキストとしてデバイス間で同期されます。なお、Dataview は Obsidian Publish 上ではレンダリングされません。公開ページにはテーブルではなく生クエリが表示されます。

小さく始めて成長させる

今週中にすべての構文をマスターする必要はありません。いくつかのプロジェクトノートに status プロパティを追加し、最近更新されたテーブルを貼り付けて、データが入力されるのを観察してください——そのたった1つの成功体験で、システムがピンと来るのに十分です。そこからタスクダッシュボードを構築し、プロジェクトビュー、週次レビューを追加し、実際のニーズが現れるたびにクエリを1つずつ増やしていきましょう。

そして、結果は気に入ったものの保守が面倒だと感じるなら、自分で何も構築する必要はありません。Obsibrain には、これらの Dataview ダッシュボード(タスク、プロジェクト、定期レビュー)が初日から利用できるようにあらかじめ設定されているため、クエリを書く代わりに考えることに時間を使うことができます。自分で構築する場合でも導入する場合でも、目標は同じです:あなたが重要な仕事に集中している間、自動的に整理される Vault を実現することです。

Obsibrain のデモを体験。

Obsibrain が自分の働き方に合うか、試してみませんか。デモ保管庫をメールで受け取り、Obsidian でお試しください。

デモのフォローアップや特典のメールをお送りします。いつでも配信停止できます。 プライバシーポリシー

💙 を込めて制作: @pierremouchan

Copyright © 2026