Bases(数据表) 📊
阅读记录、习惯追踪、项目进度看板… 可以把笔记收集成表格来看、直接在表格里修改,还能画成图表。用起来像 Notion 的数据库,但数据全都以纯文本留在你笔记的前置元数据里!
← 回首页:ObsiKO 101
Bases 是什么? 🤔
- 一个
.base文件就是一张“存起来的表格”— 它会记住要收集哪些笔记(筛选)、要把哪些属性显示成列、要怎么排序。 - 数据的真面目是每篇笔记最上方的前置元数据(
---之间像status: todo这样的属性)。一篇笔记就是一行,一个属性就是一列! - 和 Obsidian 的 Bases 格式相同,所以在 Obsidian 做的 .base 可以直接打开,反过来也可以。
创建 ➕
- 按侧边栏的文件夹按钮,下拉菜单里有 添加 Base(表格) ▸ — 鼠标移上去(触摸就点击),旁边会跟着出现 整个笔记库/特定文件夹/特定标签,选好范围就完成了!
- 会把符合条件的笔记常用的属性自动排成列,而且一创建好,就能直接在文件树里取名字。
- 在侧边栏空白处右键点击 → 添加 Base(表格)也能创建。
- 把整个文件夹当成表格来看 📁→📊:在文件夹上按 ⋯(或右键点击)→“以表格查看这个文件夹”,就会在那个文件夹里创建
<文件夹名称>.base并马上打开。筛选会自动设成那个文件夹,列也会自动填好。已经有的话不会覆盖,而是直接打开 — 所以只要创建过一次,之后展开文件夹时最上面看到的那个文件,就是这个文件夹的“文件夹表格”。 - 之后就算把文件夹改名或移动,指向那个文件夹的表格筛选也会跟着改(会告诉你改了几个)。
表格里能做的事 🛠️
- 排序:点列标题,会按 递增 ▲ → 递减 ▼ → 取消 的顺序切换。
- 列的管理:鼠标移到列标题上出现的 ⌄ 菜单(右键点击也可以)可以重命名、往左/往右移、移除;用最右边的 + 按钮,从笔记库里的属性挑一个添加成列!
- 筛选 🔽:按标题旁的漏斗按钮,应用中的条件会以小标签列出,在那里用 + 筛选 加上“标签是 ○○”、“status 是 done”这类条件,或按 × 删掉。不懂语法也没关系,三个下拉菜单就够了!有条件在作用时,按钮上会出现数量徽章,一眼就看得出来(就算收起来,也不会不知道筛选开着)。
- 帮卡片上色 🎨:笔记前置元数据里有
color(颜色)属性的话,卡片视图和看板里的那张卡片就会是同一个颜色(淡淡的底色 + 左侧色条 — 文字照样清楚好读)。标签和 D-day 徽章也照常显示(书房的封面卡片和 PARA 看板有自己的配色,所以维持原样)。跟笔记标题栏、文件树图标是同一套颜色规则,不用另外设置。→ 04-1 前置元数据属性 - 视图标签页:一个 .base 可以放好几个视图(表格/卡片/看板/书架/图表/项目 — 共六种)。在标签页的 ⌄ 菜单里可以重命名、在表格↔卡片↔看板↔书架↔图表↔项目之间切换、复制、删除,还能 导出为 CSV。
- 🔒 像 PARA 看板、记账本、书房、数据箱这种有专属画面的 Base,第一个视图不能改类型,也不能删除 — 一改,专属画面就会消失。第二个视图之后可以自由更改。
直接在单元格编辑 ✏️
- 点单元格就能在原地编辑。会自动看出列的类型 —
- ✅ 勾选列点击就切换,📅 日期列有日期选择器,🔢 数字列有数字输入框
- 🏷️ 清单/标签列用逗号分隔,✍️ 文字列会用同一列既有的值自动完成!
- 把值清空后保存,那个属性就会被移除。Enter=保存,Esc=取消。
- 用左边的勾选框选好几行,就会出现批量操作栏 — 可以一次变更选中笔记的属性,或一次删除。
+ 新条目行 🌱
在表格最下面的虚线输入框输入笔记名称再按 Enter — 就会创建一篇已预先填好符合当前筛选的前置元数据(标签、文件夹、属性)的新笔记。可以连续输入,做清单一下子就完成!
想让新卡片一创建就连正文骨架都有的话,只要在 .base 文件写上一行 template: Template/待办.md(想让每个视图不同,就写在那个视图底下)。这样用 + 创建的卡片不只有属性,也会从那份模板的正文开始 — 相当于 Notion 的“数据库模板”。没有声明的话,就改用那张卡片的类型 (type) 所对应的模板 → 17 知识结构化。有冲突时,看板列决定的值优先(不然卡片会掉到不对的列)。
✨ 用 AI 填入(列菜单)
按列 ⌄ 菜单里的用 AI 填入,AI 会读每篇笔记的正文,决定那个属性的值并填进去。可以创建“类型”、“难度”、“一句话摘要”这类列,再交给它试试看。可以选“只填空白的”或“全部重新填写”。→ 16 AI 代理
图表视图 📈
把视图换成图表,表格就会变成图 — 只要选分组(用哪个属性分组)、汇总(数量/合计/平均)、图表类型(柱状/条形/折线/区域/饼/环形/棒棒糖)三样就好。日期值和创建/修改时间会自动以月份分组,像“每月阅读量”这种图表马上就出来。
在哪里都能再用 ♻️
- 嵌入笔记:正文写一行
![[阅读清单.base]],那个位置就会出现实时表格!也可以像![[阅读清单.base#图表]]这样用 # 选择视图。笔记保存后会自动更新。 - 仪表盘看板:在 15 仪表盘 的查找看板默认选项中选 显示 Base(表格),表格/图表就会出现在仪表盘上。
- 思维导图卡片:把 .base 文件拖进 11 思维导图,卡片上就会呈现表格快照。而且选中那张卡片再点击“自动思维导图”按钮,就能选一个看板(视图),把整张表格一口气展开成思维导图(按状态分的看板会用彩色群组,像看板一样排整齐!)。
- 导出 CSV:在视图菜单一次搞定 — 直接用 Excel、Google 试算表打开。
- 问 AI:问桌面版代理“帮我找 status 是 todo 的笔记”,它会把属性当成数据库来查找并回答。
- 请 AI 做表格:桌面版代理不只会查找,还能直接创建或修改 .base 文件 — 像“用这个文件夹的笔记做一张阅读记录表”、“做成按状态分的看板”、“加上每月数量的图表视图”、“设置成项目视图”(需要时也会一起创建符合条件的笔记)。→ 16-2 情境应用示例
看板 🧮
用视图菜单(标签页 ⌄)的以看板查看,就能把笔记按属性值分成列来看(例如:按状态分的待办看板)。把卡片拖到别的列,那个属性值就会写进笔记(手机、iPad 是按住一下再拖,拖到边缘会自动滚动)。比如从“进行中”列移到“完成”列,那篇笔记的 状态 就会变成完成。列标题栏的 + 会创建已填好那个状态的新笔记。用工具栏的字段管理可以调整列的顺序,也能先建好还没有卡片的列(像“进行中”)。
- 用还没有的属性分组:在分组下拉菜单(或区段的 ⋮)选 “+ 用新属性分组…”,在自动完成下拉框输入像 状态 这样的名称,就算是没有任何笔记有的属性,也能开始一个看板。建好列、拖动卡片,那个属性就会被填上。
- 被筛选挡掉消失时会提醒:如果那个视图用分组属性做了筛选(例如 状态 == "待办" 的视图),卡片移到别的列的瞬间就会跑出筛选范围、从清单上消失,这时不会无声无息地消失,而是弹出提示告诉你(“状态 已改为 完成 — 不符合这份清单的筛选,所以在这里隐藏了。”)。笔记本身还在,所以只要放好几个按状态分的区段,移走的卡片就会出现在对应状态的区段里。
- 插在想要的位置(手动顺序) ✋:在列里上下拖动卡片可以决定优先级 — 拖动时会看到要插进哪里的插入线,移到别的列时也会放在你想要的位置之间。顺序存在每篇笔记的
order属性里,跨设备同步、改名都很安全。视图有指定排序 (sort) 的话就以排序为优先,手动顺序会先暂停作用(拖了也不会变),拿掉排序就会回到之前的顺序。移动后会马上出现“还原”小按钮,手滑也能立刻还原。 - + 是行内输入框:按列标题栏的 +,不会跳出弹出窗口,而是在原地打开输入框,连按 Enter 就能连续添加(新卡片放在列的最上面)。粘贴好几行的话,每一行都会变成一张卡片 — 很适合把整份待办清单搬过来。按 Esc 关闭。
- 彩色标签 🏷️:在笔记写上
labels: [紧急, 写作],卡片上就会出现彩色标签。颜色在 .base 用labelColors:(像 red、blue 这样的名称)指定,没指定的标签会自动分配适合的颜色。点标签就会应用只看那个标签的筛选(选好几个就是 OR)。想直接拿 tags 当卡片标签用,只要一行labelProp: tags。 - 在卡片上右键点击=迷你卡片窗口:不用打开笔记,就能修改属性、截止日期、标签,还能直接勾选/添加检查清单,条目变大了就按 ⤴ 升格成同一列的新卡片(原本那一行会留下链接)。也能用 ↑↓ 按钮移动顺序。
- 卡片密度默认:在看板上方的“卡片”菜单选 默认/简洁(只有标题+截止)/封面(代表图片横幅)。在字段管理设置上限 (WIP) 的话,超过时数量会变红(不会挡住),也可以用列标题栏的 ▾ 收起列来专心。
卡片上会附上视图前 1~2 列当作辅助信息,有截止日 (due、deadline) 时会出现 D-day 徽章(快到了=黄、已过=红),正文有勾选框时还会显示进度 ☑ 1/2。在卡片上右键点击,不用打开笔记就能直接修改属性。
马上能用的默认看板 🎁
不用自己组,也可以从侧边栏的文件夹按钮下拉菜单或命令面板挑选,直接创建这些看板。
- PARA 看板 🗄️:把有 para 值的笔记做成 项目、领域、资源、归档四列的看板。把卡片拖过去,para 就会跟着改。→ 17 知识结构化
- 书房 📚:收集 type: book 笔记的直立书架(封面朝前的艺廊)视图。把封面拖到“读完”那层就会登记为读完,封面下面还有阅读进度条。→ 12-2 书房与阅读记录
- 数据箱 📥:把用网页剪辑器、RSS 收集的数据(有 read_status 属性的笔记)整理成未读、阅读中、已读三列的看板。把卡片拖到隔壁列,阅读状态就会记到那篇笔记里。从下拉菜单的数据箱(阅读看板)或命令“创建数据箱”创建。→ 20 网页剪辑器
- 记账本 💰:把支出、收入明细笔记收集成表格 + 摘要面板。各期间的收入、支出、结余、预算、类别比例,全都在一个画面。→ 12-3 记账本
项目视图 🗂️
用一个 Base 整个管理一个项目的视图 — 在有封面、状态、截止 D-day、进度的首页下方,把其他视图当成区段叠上去。10 种模板(网络小说、阅读、研究、工作、旅行、博客、读书…)、嵌入介绍笔记、✨ AI 演示文稿、与仪表盘和日历连动 — 详细用法请看 12-1 项目视图!
想看源代码的话 — 视图菜单 ▸ 源代码视图 🧑💻
用上方的 👁 视图菜单 ▸ 源代码视图 (⌘⇧O) 就能直接编辑 YAML 原文(再按一次同一个菜单就回到表格视图)。跟 Markdown 笔记的“源代码视图”是同一个位置、同样的操作。界面不支持的复杂筛选(or/not 嵌套、日期运算等)和公式列 (formulas:) 写在源代码里,表格就会算出来显示。
公式列,计算交给 ObsiKO ✨🧮
在 formulas: 写上算式,每篇笔记都会多出一个算好的只读列 (formula.名称)。属性名称直接写,其他公式用 formula.名称 来参照。
不用打开源代码也可以 — 用表格最右边的 + →“ƒ 添加公式列…”在表单里创建,随时都能用公式列标题栏的 ⌄ →“ƒ 编辑公式…”修改或删除。
不懂算式也做得出来 🙌
按下默认方案里的条目,需要选的属性字段就会在正下方展开。 例如按 进度,就会出现 [目前值 ▼] [总值 ▼] 两个字段,只要选好自己笔记的属性,算式就会自动完成。不会换画面,也不会再弹出窗口 — 全都在原地搞定!
- 能选的只有一个时会先帮你选好。有好几个就让你自己选(因为选错不会报错,而是会变成看起来很合理的错误答案)。
- 星级评分、复选框不会自动帮你选。 这两个在表格里点下去时会修改实际的笔记属性,所以一定会先跟你确认。
- 点 这个表格的属性 里的小标签,属性名称就会直接插进算式的光标位置(不用手动输入)。名称里有空格、在算式里不能用的属性会变淡,并告诉你原因。
- 这个表格用不了的默认条目会变淡(没有日期属性时,倒数天数会变淡)。不会藏起来,照样可以点看看。
- 预览会告诉你“用什么算出多少” — 徬徨少年时 · read_pages 300 · total_pages 300 → 100。
💡 默认条目里的属性名称只是“示例”。 如果你的笔记用的是别的名称,预览会提醒你 “这个表格的笔记还没有 ○○ 属性”,并且可以用旁边的
deadline → [替换 ▼]换成这个表格里有的属性。还没有那个属性的笔记不会出错,只会是空白,也不会挡住保存(属性之后再补也可以)。
formulas:
总额: 价格 * 数量
等级: 分数 >= 90 ? "A" : 分数 >= 80 ? "B" : "C"
倒数: dateDiff(today(), 截止日)
截止周: dateFormat(截止日, "MM.DD") + " (" + weekday(截止日) + ")"
平均分数: round(分数清单.avg(), 1)
作者整理: 作者.split(",").unique().sort().join(" · ")
预算状态: coalesce(预算, 0) > 0 ? "已编列" : "未定"
分组查看、展开、计算链接 🧩
- 分组查看:列标题栏的 ⌄ →“用这一列分组查看” — 相同的值会集中到分组标题下面。点标题就能收起,用别列的 ⌄ →“分组摘要”,还能把那个分组的合计、平均、最小、最大、数量显示在标题上。(表格、卡片视图适用)
- 每个值分开显示(展开):像
负责人: [小明, 小美]这样有好几个值的列,用 ⌄ →“每个值分开显示” — 那篇笔记就会按每个值分成一行一行。最适合按负责人、按标签来计数或分组!(展开的列无法知道你要改的是哪个值,所以只会锁住编辑。) - 链接也是数据:
file.inlinks(指向我的笔记)、file.outlinks(我指向的笔记)可以直接拿来计算 — 用file.inlinks.count()做一个“链接数”列,没有任何笔记指向的笔记就一目了然。(公式默认方案里已经准备好链接数、待办进度。) - 另外还能用
file.taskCount、file.taskDone(正文勾选框的数量)、file.day(文件名是2026-08-15的话就是那一天 — 每日笔记不用写前置元数据也可以)。
也读得到写在正文的属性 📝
不是写在前置元数据,而是像 状态:: 进行中 这样写在正文的值,表格也照样抓得到(这样就算直接打开 Obsidian Dataview 笔记库,数据也不会不见)。句子中间的 评分是 [rating:: 9] 分 也可以。
- 前置元数据永远优先 — 两边有同名属性时,用前置元数据的值。
- ObsiKO 不会用这种语法写入新的值(属性的标准位置是前置元数据),只负责读取。
- 因为和复习卡 (正面::背面) 用的符号一样,有 #flashcards 标签的笔记不会读取正文属性。免得卡片变身成属性!
正文里的自动值 = 算式 ✨
写文章时像 `= dateDiff(today(), 截止日)` 这样写,那个位置就会显示算出来的值。跟上面的公式是完全相同的语法,没有新东西要学!
- 光标放在那一行时会重新显示原本的算式,可以修改。源文件案里算式会原封不动留着,所以用 Obsidian 打开也会显示相同的值。
- `= file.inlinks.count()`(指向这篇笔记的笔记数)、`= round(费用 * 1.1)` 什么都行。不是算式的话就什么都不改,照原样留着文字。
可以用的东西:
- 运算:+ - * / %、比较 (== != > <…)、&& || !、三元运算 条件 ? 真 : 假、括号。日期 ± 期间的混合运算 (截止日 + duration("1 week")) 也可以。
- 数字:abs round(x, 位数) floor ceil sqrt pow clamp(v, 最小, 最大) min max sum average(avg) number
- 日期:now() today() date("2026-07-17") duration("3 days") year month day hour minute weekday(星期名称)dateFormat(日期, "YYYY.MM.DD HH:mm ddd") dateDiff(从, 到, "days")
- 条件、默认值:if(条件, 真, 假) (= choice)、coalesce(值1, 值2, …)(=default,第一个不是空的值 — 前置元数据缺少时的默认值)
- 字符串方法:.lower() .upper() .trim() .slice(0,5) .replace("a","b") .split(",") .padStart(3,"0") .repeat(n) .contains() .startsWith() .endsWith() .isEmpty() .toFixed(1) .length
- 清单方法(标签、多值属性):.first() .last() .count() .sort()/.sort("desc") .reverse() .unique() .sum() .avg() .join(" · ")
在表格里直接看得到的小组件公式 — 星级评分 ⭐、复选框 ✅、进度 ▰
公式列不只会显示文字! 有三种会在表格里以图形显示。
- 星级评分 stars(rating):单元格会出现 5 颗星。点(轻触)星星,就会把那个数量直接写进 rating 属性,再点同一颗星就归 0 解除!
- 复选框 checkbox(done):单元格会出现复选框,点击 done 属性就会在 true/false 之间切换。
- 进度 progress(read_pages, total_pages):单元格会出现柱状和 %。填满就变绿色!已经有百分比数值的话,像 progress(达成率) 这样只放一个也可以。
- 进度只负责显示(跟星级评分、复选框不同,不能点击就修改 — 百分之几要改原本的属性才行)。
- 总数是 0 或没有值的笔记,不会显示奇怪的数字,而是留空。
- 以前用 round(read_pages / total_pages * 100) 做好的列,也会直接变成柱状(不用修改文件)。
- 在添加公式列表单的默认方案里选“星级评分”、“复选框”、“进度”,一次就建好。选了默认条目,公式名称也会一起填好(自己取的名称会保留)。排序、汇总照原本的值运作。
串连笔记来计算 — 关联与汇总 🔗🧮
Notion 的“关联 (Relation)、汇总 (Rollup)”在 ObsiKO 也能用。不过没有另外的数据库 — 因为写在前置元数据里的 [[维基链接]] 本身就是关联!
---
title: 新产品上市
para: project
parent_area: "[[行销]]" # ← 这一行就是“关联”
done: false
---
只要这样写好,就能在表格里直接取用链接另一端那篇笔记的值。
获取另一端笔记的值 — 一个点就搞定 .
在公式列写 关联属性.要取的属性 就好。
formulas:
领域状态: parent_area.status # 上层领域笔记的 status 值
领域名称: parent_area.file.name # 另一端笔记的文件名
作者国籍: 作者.国籍 # 值有好几个,结果也会有好几个!
- 链接有好几个时 (
作者: ["[[王作家]]", "[[李作家]]"]),值也会成组出来。 - 链接失效或没有那篇笔记时,就安静地给空值(不会报错!)。
- 有好几篇同名笔记时,会按 ① 同一个文件夹 → ② 路径较浅的 → ③ 最近修改的 的顺序聪明地挑选。
计算指向我的笔记 — 汇总 backlinks()
反方向也可以!可以把“用 parent_area 指向我的笔记”收集起来算数量、合计。在用领域 (Area) 笔记做的表格里特别好用。
formulas:
项目数: backlinks("parent_area").count()
进行中: backlinks("parent_area").where("done", "!=", true).count()
总预算: backlinks("parent_area").sum("预算")
清单: backlinks("parent_area").join(" · ")
- 用
.where(属性, 比较, 值)加条件 — 可以用==!=><>=<=,还有看是否含有某段文字的contains、看是否为空的empty、notempty(=has) — 例如.where("标签", "contains", "急件")、.where("截止日", "empty")。 - 汇总有
countsumavgminmaxjoinuniquefirstlastanyallvaluescountNonEmpty。 - 也可以跟前面学过的函数混用:
round(backlinks("parent_area").avg("进度"), 1)
想写得更清楚的话 — 函数写法
不用点记法,改用函数写也完全一样。属性名称里混着点或空格、容易搞混时很好用。
| 写法 | 意思 |
|---|---|
link(parent_area).status |
跟着一个链接读取值 |
links(作者).count() |
把好几个链接当成一组 |
backlinks("parent_area") |
用那个属性指向我的笔记 (= inbound(...)) |
💡 为什么要这样设计呢:如果把关联放进另外的数据库,笔记一移动或用其他应用程序打开,关联就会整个消失。在 ObsiKO 里,连关联也只是一行 Markdown,所以在 Obsidian 打开也是普通的维基链接,也会自然地一起出现在 关联面板、关系图谱 里。→ 17 知识结构化
装饰视图标题 — 横幅颜色与名称 🎨
- 所有 Base 视图的标题栏,除了类型图标,还并排着 🔽(筛选)、🎨(标题栏背景色)、✎(修改标题)、?(说明) 按钮。涂上标题栏颜色后,这些按钮也会按颜色明暗一起变成白/黑。
- 按 🎨 会出现 6 种默认颜色,从标签栏到标题,画面上方整片变成那个颜色的横幅(就像 Notion 的封面!)。文字颜色会按背景明暗自动选白或黑。按 ✕ 就恢复原状。
- 想用默认以外的颜色,就用最后面的调调色板按钮打开 颜色面板,选好颜色后按 “设为笔记颜色”(在 Base 里就是标题栏背景色)。只打开 🎨 的小窗口,面板不会跟着打开。
- 用 ✎ 改的标题会和文件名分开保存(清空的话就再跟着文件名)。
- 书签 🔖:常用的表格就用右上角的书签缎带收藏起来 — 跟 Markdown 笔记、思维导图是同一个位置。选了标题栏颜色的话,缎带也会配合那个颜色显示成亮色或暗色。→ 07 搜索与浏览
小提示 💡
- 和 Obsidian 来回使用也很安全 — ObsiKO 不认得的设置键都会原样保留(不过用界面编辑时,源代码里的注释会消失)。
- 把 Obsidian 的 Dataview 查找变成表格 🔁:从 Obsidian 带过来的
```dataview块上方出现“转成表格看看”标签时,点击就会在那篇笔记旁边创建并打开<笔记名称> 表格.base。原本的查找一个字都不会改。 目前只支持简单的TABLE、LIST查找;GROUP BY、FLATTEN、dataviewjs这类转不了的,会告诉你原因。→ 01 开始使用 - 数据就是笔记文件本身,所以备份、同步、搬家都很自由,也和 标签、关系图谱 自然地串在一起。