
---
#领域/DataView

#复盘/1

## 一句话描述

[____整理归档 DataView 语法知识点____]

---

## 知识点开始

| 语法模块                                                   | 说明                                               | 示例                                                                                                               |
| ------------------------------------------------------ | ------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| `TABLE without ID`                                     | 生成无默认序号列的 Dataview 表格，仅显示自定义配置的列                 | `TABLE without ID 列1, 列2 AS "自定义标题"`                                                                             |
| `link(file.path, file.name) as "文件名"`                  | 将文件路径转为可点击链接，显示文本为文件名，指定列标题为 “文件名”               | `link(file.path, file.name) as "文件名"` → 表格中显示可跳转的文件名称链接                                                          |
| `filter(file.tags, (t)=>startswith(t,"#需求/")) as "状态"` | 从文件所有标签中筛选以 `#需求/` 为前缀的标签（过滤无关标签），指定列标题为 “状态”    | 若文件标签为 `#需求/已完成 #笔记 #需求/待开发`，筛选结果为 `["#需求/已完成", "#需求/待开发"]`                                                      |
| `file.mtime AS "最后修改时间"`                               | 提取文件系统记录的最后修改时间，指定列标题为 “最后修改时间”                  | `file.mtime AS "最后修改时间"` → 显示格式如「2026-01-07 16:45:30」的时间                                                         |
| `FROM "01-项目/2025-MaixCam竞赛版"`                         | 指定 Dataview 查询的数据来源文件夹，仅查询该路径下的文件                | `FROM "01-项目/2025-MaixCam竞赛版"` → 仅检索该文件夹内所有文件                                                                    |
| `startswith(file.name, "需求")`                          | 筛选文件名以 “需求” 开头的文件，精准匹配目标需求文档                     | 匹配「需求 - 图像识别功能.md」，不匹配「文档 - 需求清单.md」                                                                             |
| `any(file.tags, (t)=>startswith(t, "#需求/"))`           | 判断文件是否存在以 `#需求/` 为前缀的标签，返回布尔值（用于筛选文件）            | 存在符合标签则保留文件，无则排除                                                                                                 |
| `dur("时间表达式")`                                         | Dataview 核心时间时长生成函数，用于创建/表示一段持续的时间长度，支持多时间单位组合书写 | `dur("1m20s")` → 生成「1分20秒」的时长对象；`dur("2h5m30s")` → 生成「2小时5分30秒」的时长对象<br>file.mtime >= date(now) - dur("120m20s") |

## 知识点结束
