「Notionみたいにデータを一覧管理したい。でも、クラウドには頼りたくない」
そう思ったことはありませんか?
ObsidianのコアプラグインであるBasesは、まさにその悩みに応える機能です。Markdownファイルのプロパティをそのままデータベースとして扱い、テーブル上で直接編集まで行えます。
この記事では、コードが苦手な方でも安心できるGUIでの始め方から、プラグイン連携で使える実践的な構文まで、段階的に解説します。
- BasesとDataviewの違いと、それぞれに向いている使い方
- GUIだけで最小構成テーブルを作る5ステップ
- コピーして使えるフィルター・数式の構文
- 普段使いのノートへの埋め込み方法
Basesとは?——なぜ今、Dataviewではなくこれを使うのか
Basesは、ObsidianのMarkdownファイルに書かれたプロパティ(YAML frontmatter)を読み込んで、テーブルやデータベースとして表示するコアプラグインです。2025年にObsidian本体に統合されました。
Dataviewもよく似た用途で使われますが、決定的な違いがひとつあります。
| 比較軸 | Bases | Dataview |
|---|---|---|
| プロパティの直接編集 | テーブル上から可能 | 読み取り専用 |
| 導入方法 | コアプラグイン(標準搭載) | コミュニティプラグイン |
| 構文 | YAMLベース(シンプル) | DQL(独自クエリ言語) |
| 更新・メンテナンス | Obsidian本体が保証 | 開発者依存 |
Dataviewはカスタム集計や複雑な条件での定点観測に向いています。一方Basesは、テーブルを「見るだけ」ではなく「その場で更新する作業場」として使うのに最適です。
Basesは現在も進化中のプラグインで、ロードマップにはKanban(カンバン)ビューの追加も予定されています。今のうちに構文を覚えておくことは、先行投資として十分な価値があります。
【まずはここから】GUIで始めるBases最初の5ステップ
コードを書く前に、クリック操作だけでテーブルが作れることを体験してみましょう。
ステップ1:コアプラグインを有効化する
設定(歯車アイコン)→「コアプラグイン」→「Bases」をオンにします。
ステップ2:ノートにプロパティを追加する
Basesはノートのプロパティを読み込みます。「書籍メモ」として使いたい場合は、いくつかのノートに以下のようなプロパティを追加しましょう。
---
tags:
- book
status: 読了
rating: 4
---
ノートのプロパティパネル(左上のアイコン)から、GUIで追加することもできます。
ステップ3:.baseファイルを作成する
ファイルエクスプローラーで右クリック→「新規Basesを作成」を選択します。


このようにノート名にbaseが付いていれば、作成成功です。
ステップ4:最小構成のコードを貼り付ける
作成された .base ファイルに、以下のYAMLを貼り付けます。
views:
- type: table
name: 書籍リスト
filters:
and:
- file.hasTag("book")
order:
- file.name
ステップ5:テーブル上で直接編集してみる
テーブルが表示されたら、セルをクリックしてみてください。プロパティの値をその場で書き換えられます。これがBasesの最大のポイントです。
💡 .base ファイルを開いても何も表示されない場合、ノート側のプロパティが正しく設定されているか確認してみてください。タグの書き方が book ではなく #book になっていると、file.hasTag("book") でヒットしません。
プラグイン連携で真価を発揮する「厳選Bases構文・フィルター」
ここからは、実際に使える構文を具体例つきで紹介します。すべてコピーして使えるようにまとめました。
ファイル絞り込みの基本2つ
タグで絞り込む:file.hasTag()
指定したタグを持つノートだけをテーブルに表示します。
filters:
and:
- file.hasTag("book")
複数タグを組み合わせたい場合は、and の下に並べるだけです。
filters:
and:
- file.hasTag("book")
- file.hasTag("読了")
フォルダで絞り込む:file.inFolder()
特定フォルダ配下のノートだけを対象にします。フォルダ名は大文字・小文字を区別するので、正確に入力してください。
filters:
and:
- file.inFolder("03_Zettelkasten")
リスト型プロパティの絞り込み:contains any of
ステータスや複数タグのように、リスト型のプロパティを条件にしたいときに使います。「どれかひとつでも含んでいれば表示する」という動作で、OR条件をシンプルに書けます。
filters:
and:
- status:
contains any of:
- "読中"
- "積読"
コミュニティプラグインとの連携例
Mapsプラグインなど、地図表示に対応したプラグインと組み合わせる場合は type: map を使います。ノートに lat / lng などの座標プロパティを持たせておくと、Basesのマップビューに自動でピンが立ちます(対応プラグインが必要です)。
views:
- type: map
name: 訪問カフェマップ
filters:
and:
- file.hasTag("cafe")
一歩進んだ使い方:Markdown(.md)への「埋め込み戦略」
.base ファイルを独立して開くだけでなく、普段使いのノートにBasesを埋め込むこともできます。これが既存の紹介記事との最大の差別化ポイントです。
埋め込み構文
通常のMarkdownノート内に、```bases のコードブロックを作るだけです。
```bases
views:
- type: table
name: 今日のタスク
filters:
and:
- file.hasTag("task")
- status:
is: "未完了"
```
活用シーン
インデックスノートへの集約
プロジェクトのトップページに、関連ノートを自動で一覧表示します。タグやフォルダで絞り込めるので、手動でリンクを管理する必要がなくなります。
デイリーノートへの埋め込み
その日のタスクや「進行中」ステータスのノートだけを、デイリーノートに自動で表示できます。Templaterと組み合わせれば、毎日のノート作成時に自動挿入することも可能です。
サイドバーをハブ化する
this.file を使うと、現在開いているノートに関連するファイルだけをリストアップするビューを作れます。バックリンクパネルの代替として、自分専用の「思考のハブ」を構築できます。
views:
- type: table
name: 関連ノート
filters:
and:
- file.hasTag(this.file.tags[0])
⚠️ 埋め込み時のインデントに注意:YAMLはインデントがずれると動作しません。スペース2文字または4文字で統一し、タブ文字は使わないようにしましょう。
数式(Formulas)でデータベースを動的に自動化する
Basesでは、プロパティの値を使った計算や表示の変換が「数式(Formula)」として使えます。
条件分岐:if()
ステータスによってアイコンを切り替えるといった表示をワンライナーで書けます。
formula: if(status == "完了", "✅", "⏳")
| ステータスの値 | 表示 |
|---|---|
| 完了 | ✅ |
| それ以外 | ⏳ |
相対時間表示:date.relative()
更新日時をそのまま表示するより、「3日前」「1週間前」のように相対表示にすると直感的になります。
formula: date.relative(file.mtime)
数値の整形:number.round()
進捗率や評価値などを、小数点以下を整えて表示したいときに使います。1 は小数点第1位まで表示する指定です。
yaml
formula: number.round(rating / 5 * 100, 1)
💡 数式が複雑に感じたら、ChatGPTやClaudeなどのAIに「Basesの数式で○○をしたい」と相談してみてください。 構文さえ渡せば、すぐに使えるコードを書いてもらえます。コードアレルギーは、AIと一緒に乗り越える時代です。
より高度な関数リファレンスはObsidian公式ヘルプ(Basesの関数一覧)に網羅されています。
まとめ
ObsidianのBasesは、「ノートを見ながらその場で更新できるデータベース」として、Dataviewとはっきり役割が異なります。
| 使いたい場面 | 向いているプラグイン |
|---|---|
| テーブル上でプロパティをその場で編集したい | Bases |
| 複雑な条件で自動集計・定点観測したい | Dataview |
この記事で紹介した内容をまとめます。
- GUIだけで始められる:コードに慣れていなくても、5ステップでテーブルが作れます
- フィルター構文は3つ覚えれば十分:
file.hasTag()、file.inFolder()、contains any ofで大半のケースに対応できます - 埋め込みが使いこなしの肝:
.baseファイルだけでなく、デイリーノートやインデックスノートへの埋め込みで、Obsidianが"思考のハブ"に変わります - 数式はAIに相談でOK:
if()やdate.relative()を使いこなせば、データベースが動的に動き始めます
Basesはまだ進化の途中で、Kanbanビューなどの機能追加も予定されています。今から構文に慣れておくことで、アップデートのたびに自分のVaultをすぐにアップグレードできるようになりますよ。


