ObsidianのDataviewで「ほしい情報を自動で集める」仕組みを作る

ObsidianプラグインDataviewの基本から実践まで。SQLライクなクエリを使ってノートを動的に表示し、タスク管理・振り返り・読んだ本の記録など、毎日の使い方を自動化する方法を解説します。

Obsidianを使い続けていると、「あのノートどこに行ったっけ」ではなく「この条件を満たすノートを一覧で見たい」という欲求が生まれてきます。それを可能にするのがDataviewプラグインです。

Dataviewは、ObsidianのノートをSQLのような専用言語(DQL)でクエリして、条件を満たすノートをリストやテーブルで動的に表示できるプラグインです。フォルダの中身を自動で一覧化したり、特定のタグが付いたノートを日付順に並べたりといったことが、一度クエリを書くだけで常に最新の状態で表示されます。


Dataviewの真の価値は「意味的な近接性」の再現

Zettelkastenなどのアナログノート術では、「関連するカードが物理的に近くにある」ことで、予期せぬアイデアの結びつきが生まれます。デジタルのObsidianでは、ノートがフォルダ階層やファイル名順に並んでしまいがちで、この「近接性」が失われやすいです。

Dataviewのクエリを使うと、「今考えているテーマにとって関連性の高いノートを動的に目の前に並べる」ことができます。これは単なる便利機能ではなく、デジタルツールでアナログの良さを再現する核心的な仕組みです。

私の場合、デイリーノートの中に「今日が期日のタスク」「直近1週間に作ったノート」などを自動で表示するクエリを埋め込んでいます。毎朝ノートを開くたびにそこに必要な情報が集まっているので、手動で探し回る時間がほぼゼロになりました。


基本的なクエリの書き方

DataviewはDQL(Dataview Query Language)というSQLに似た言語でクエリを書きます。Obsidianの設定で「インラインクエリを許可」をオンにすれば、ノート本文中に直接埋め込む式も使えます。

4つの必須要素

① 表示形式(必須)

② FROM — どこからデータを取るか(必須)

③ WHERE — 条件を絞る

④ SORT・LIMIT — 並べ替えと個数制限

TABLE file.mtime AS "更新日"
FROM "notes"
WHERE contains(tags, "review")
SORT file.mtime DESC
LIMIT 10

実践的な使い方3選

1. デイリーノートに「今日やること」を自動表示

ノートのFrontmatterに期日(due: 2026-03-12)を書いておけば、デイリーノートに今日が期日のタスク一覧を自動で引き出すクエリが作れます。

LIST
FROM ""
WHERE due = date(today)

Dataviewは日付の計算が得意なので、ファイル名やFrontmatterに日付を入れる習慣と組み合わせると活用の幅が大きく広がります。📅アトミック・仕事術の核になる仕組みとして使っています。

2. 読んだ本を日付付きでテーブル表示

読んだ本のノートにread: 2026-02-15のようなプロパティを入れておけば、いつ何の本を読んだかを一覧できます。

TABLE read AS "読了日", title AS "タイトル"
FROM "books"
SORT read DESC

3. 1年前の日記を振り返る

習慣的に日記を書いている方に特におすすめです。ちょうど1年前に書いたノートを毎日引き出して、過去の自分と対話できます。

LIST WHERE file.cday = date(today) - dur(1 yr)

Basesプラグインとの使い分け

ObsidianにはDataviewと似た機能を持つBasesプラグインも追加されました。同じく「条件でノートを絞り込んで表示する」機能ですが、使い分けはこうです。

長期的に「一度設定したら更新し続ける定点観測クエリ」はDataview、日々の管理テーブルとして気軽に使うならBasesが向いています。


関連する記事


Dataviewをもっと使いこなしたい方へ
今日やることをデイリーノートに自動表示する方法 — Dataviewを使ってタスク管理と日次ログを統合する具体的な実装方法をニュースレターで解説しています。 → 無料で読む