在Dataview中如何过滤包含二级标签的页面

请仔细说明自己遇到的问题,以下是参考模板。这里不要求非得按模板发帖,但内容中包含相关要素能让大家更好地帮助你。


遇到的问题

windows环境下Obsidian1.0.3版本,使用minial主题

有若干个网课A每个章节的笔记页面,标签为#网课/课名A
有一个网课A页面,标签为#网课,内容是使用dataview显示标签包含#网课/课名A的页面
有一个导航页面,内容中有使用dataview显示标签包含#网课的页面
导航页面的dataview显示结果会显示同时包含#网课#网课/课名A的页面,即网课A页面和所有网课A每个章节的笔记页面

预期的效果

如何使用dataview过滤二级标签,只显示包含标签#网课网课A页面,不显示包含标签#网课/课名A网课A每个章节的笔记页面

已尝试的解决方案

在Dataview官网文档( Sources - Dataview (blacksmithgu.github.io))中查看,没有找到可以过滤二级标签的语法
目前解决方案是使用 #网课 and !#网课/课名A的过滤方式,但无法满足新开网课笔记页面(#网课/课名B)后自动筛选的需求
还有一种方法是将#网课/课名A批量更改为#课名A,但没有利用起二级标签,扰乱了标签分类规则

  • file.etags: An array of all explicit tags in the note; unlike file.tags, does not include subtags.

感谢!是我没有认真看 :rofl:

再次打扰,我尝试使用where contains(file.etags, "网课"),但结果还是没有过滤掉子标签,而且我将file.etags显示出来发现所有子标签都有显示,问题好像没有得到解决
image

我已经思考想到了另外一种解决办法,就是在 网课A页面添加一个新标签#导航,然后在导航页面中更改查询代码如下
image