【已解决】求助dataview相关,统计去往城市的次数

求助,现在有这样一个需求,就是比方说我用obsidian结合dataview记录我旅行记录,其中有一项属性是城市,我现在想检索出来我这个文件夹里我的属性包括北京的文件的数量,就可以知道我去过几次北京了,还有就是检索出来城市这个属性下有多少不同的城市,就可以检索出来我去过多少个城市。怎样搞啊,想用databiewjs,但是我不太会js。

假设你的 YAML 键是 城市

统计次数 DataviewJS:

const arr = dv.pages(`"文件目录"`).城市
const counts = {}
let counter = 0
for (const elem of arr) {
  counts[elem] = counts[elem] ? counts[elem] + 1 : 1
}
dv.paragraph(`去过北京${counts["北京"]}次`) // 输出

你需要修改的是“文件目录”和输出行的两个“北京”。

效果:

image

基本上是 AI 写的,问问 AI 很简单的。

简单做了个例子,用表格统计的,看看是不是你需要的

image

table rows.topic AS 出行目的, dateformat(date(rows.time),"DDDD") AS 抵达时间
from "旅程记录"
where file.name != this.file.name
where city
group By city

好的,我去试一下,感谢!

可以了!!!万分感谢

image

table length(rows.topic) AS 出行次数, dateformat(min(date(rows.time)),"DDDD") AS 最近出行时间
from "论坛解题/旅程记录"
where file.name != this.file.name
where city
group By city AS 城市
sort date(rows.time) desc