You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Obsidian Dataview中实现分组计数并显示总计?

Obsidian Dataview实现按后缀分组计数及总计

这个需求完全可行,用Dataview就能搞定,甚至能完美实现你要的总计功能:

仅分组计数(纯Dataview查询)

如果只需要分组计数,用下面的代码即可生成带后缀和对应数量的表格:

TABLE length(rows) AS 计数
FROM ""
WHERE file.name contains " PA" OR file.name contains " TS" OR file.name contains " FB"
GROUP BY regexreplace(file.name, "^.* (PA|TS|FB)$", "$1") AS 后缀
SORT 后缀 ASC

包含总计(DataviewJS实现)

要加上总计行,需要用DataviewJS编写逻辑,代码如下:

// 筛选目标笔记并按后缀分组
const targetGroups = dv.pages()
  .filter(page => page.file.name.includes(" PA") || page.file.name.includes(" TS") || page.file.name.includes(" FB"))
  .groupBy(page => /^.* (PA|TS|FB)$/.exec(page.file.name)[1]);

// 计算所有笔记的总数量
const totalCount = targetGroups.reduce((sum, group) => sum + group.rows.length, 0);

// 构建表格数据,最后追加总计行
const tableContent = targetGroups.map(group => [group.key, group.rows.length]);
tableContent.push(["Total", totalCount]);

// 渲染表格
dv.table(["后缀", "计数"], tableContent);

把代码复制到Obsidian笔记中,切换到阅读模式就能看到符合要求的汇总表。

内容的提问来源于stack exchange,提问作者HPB

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 11:27:07