Obsidian dataview 高级使用技巧 【文件筛选/排序/分组/限制】

2024-08-28 20:04

本文主要是介绍Obsidian dataview 高级使用技巧 【文件筛选/排序/分组/限制】,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述

入门介绍在《Obsidian dataview 使用入门》, 本文主要补充进阶的筛选技巧和语法。

问题场景

使用Dataview之后,可以快速生成所有文件生成目录。 当文件数量太多时,会需要对文件进行筛选、排序、分组、限制等操作。

要求:根据条件返回文件链接。

注意:这里不使用日历和任务功能


查询语法结构

通用查询格式

List
FROM "文件夹路径"
条件指令1
条件指令2
……

语法说明:

  • 指令包括筛选、排序、分组、限制等等
  • 指令必须在FROM语句之后
  • 可以多次使用
  • 没有顺序要求
  • 按照位置顺序执行

一、Where 筛选

1. 条件筛选(Where)

TABLE 
FROM "文件夹"
WHERE file.name = "Scribble"

2. 比较筛选

  • 比较符号和其他语法一样: <, >, <=, >=, =, !=
LIST
FROM "Games"
WHERE price > 10

3. 多条件(AND)

  • 增加条件用AND连接
TASK
WHERE typeof(due) = "date" AND due <= date(today)

4. 包含(contain)

  • 文件名包含“WIP”的文件
LIST
WHERE contains(file.name, "WIP")

5. Lambdas

太复杂了应该不会用到。

在这里插入图片描述


二、SORT 排序

  • 排序:ASCENDING/ASCDESCENDING/DESC
  • 可以多条件排序,用逗号, 分隔
  • 直接用SORT 不要加 by
SORT field1 [ASCENDING/DESCENDING/ASC/DESC], ..., fieldN [ASC/DESC]

三、GROUP BY 分组

  • 可以加括号重命名 GROUP BY (computed_field) AS name
  • 一定要加上rows.file.link !!! 否则就会只会有条件,没结果。
LIST rows.file.link 
GROUP BY type
不加rows.file.link加上rows.file.link
在这里插入图片描述在这里插入图片描述

四、LIMIT限制

  • 限制返回的结果数量
LIMIT 5

五、FLATTEN

暂时用不上跳过。

六、WITHOUT ID

  • 只返回需要的内容,不要文件或者分组条件。
  • WITHOUT ID 不接逗号
    在这里插入图片描述
  • 也可以结合使用,给文件链接列重命名
    在这里插入图片描述

官方的汇总:在这里插入图片描述

# Literals
1                   (number)
true/false          (boolean)
"text"              (text)
date(2021-04-18)    (date)
dur(1 day)          (duration)
[[Link]]            (link)
[1, 2, 3]           (list)
{ a: 1, b: 2 }      (object)# Lambdas
(x1, x2) => ...     (lambda)# References
field               (directly refer to a field)
simple-field        (refer to fields with spaces/punctuation in them like "Simple Field!")
a.b                 (if a is an object, retrieve field named 'b')
a[expr]             (if a is an object or array, retrieve field with name specified by expression 'expr')
f(a, b, ...)        (call a function called `f` on arguments a, b, ...)# Arithmetic
a + b               (addition)
a - b               (subtraction)
a * b               (multiplication)
a / b               (division)
a % b               (modulo / remainder of division)# Comparison
a > b               (check if a is greater than b)
a < b               (check if a is less than b)
a = b               (check if a equals b)
a != b              (check if a does not equal b)
a <= b              (check if a is less than or equal to b)
a >= b              (check if a is greater than or equal to b)# Stringsa + b               (string concatenation)
a * num             (repeat string <num> times)# Special Operations
[[Link]].value      (fetch `value` from page `Link`)

参考链接:https://blacksmithgu.github.io/obsidian-dataview/reference/expressions/
https://blacksmithgu.github.io/obsidian-dataview/queries/query-types/

这篇关于Obsidian dataview 高级使用技巧 【文件筛选/排序/分组/限制】的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!


原文地址:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.chinasem.cn/article/1115744

相关文章

如何关闭Mac的Safari通知? 3招教你关闭Safari浏览器网站通知的技巧

《如何关闭Mac的Safari通知?3招教你关闭Safari浏览器网站通知的技巧》当我们在使用Mac电脑专注做一件事情的时候,总是会被一些消息推送通知所打扰,这时候,我们就希望关闭这些烦人的Mac通... Safari 浏览器的「通知」功能本意是为了方便用户及时获取最新资讯,但很容易被一些网站滥用,导致我们

如何Python使用设置word的页边距

《如何Python使用设置word的页边距》在编写或处理Word文档的过程中,页边距是一个不可忽视的排版要素,本文将介绍如何使用Python设置Word文档中各个节的页边距,需要的可以参考下... 目录操作步骤代码示例页边距单位说明应用场景与高级用China编程途小结在编写或处理Word文档的过程中,页边距是一个

SpringBoot项目Web拦截器使用的多种方式

《SpringBoot项目Web拦截器使用的多种方式》在SpringBoot应用中,Web拦截器(Interceptor)是一种用于在请求处理的不同阶段执行自定义逻辑的机制,下面给大家介绍Sprin... 目录一、实现 HandlerInterceptor 接口1、创建HandlerInterceptor实

使用JavaConfig配置Spring的流程步骤

《使用JavaConfig配置Spring的流程步骤》JavaConfig是Spring框架提供的一种基于Java的配置方式,它通过使用@Configuration注解标记的类来替代传统的XML配置文... 目录一、什么是 JavaConfig?1. 核心注解2. 与 XML 配置的对比二、JavaConf

使用Python和Tkinter实现html标签去除工具

《使用Python和Tkinter实现html标签去除工具》本文介绍用Python和Tkinter开发的HTML标签去除工具,支持去除HTML标签、转义实体并输出纯文本,提供图形界面操作及复制功能,需... 目录html 标签去除工具功能介绍创作过程1. 技术选型2. 核心实现逻辑3. 用户体验增强如何运行

Go语言中使用JWT进行身份验证的几种方式

《Go语言中使用JWT进行身份验证的几种方式》本文主要介绍了Go语言中使用JWT进行身份验证的几种方式,包括dgrijalva/jwt-go、golang-jwt/jwt、lestrrat-go/jw... 目录简介1. github.com/dgrijalva/jwt-go安装:使用示例:解释:2. gi

Python使用python-docx实现自动化处理Word文档

《Python使用python-docx实现自动化处理Word文档》这篇文章主要为大家展示了Python如何通过代码实现段落样式复制,HTML表格转Word表格以及动态生成可定制化模板的功能,感兴趣的... 目录一、引言二、核心功能模块解析1. 段落样式与图片复制2. html表格转Word表格3. 模板生

go rate 原生标准限速库的使用

《gorate原生标准限速库的使用》本文主要介绍了Go标准库golang.org/x/time/rate实现限流,采用令牌桶算法控制请求速率,提供Allow/Reserve/Wait方法,具有一定... 目录介绍安装API介绍rate.NewLimiter:创建限流器limiter.Allow():请求是否

Python使用Turtle实现精确计时工具

《Python使用Turtle实现精确计时工具》这篇文章主要为大家详细介绍了Python如何使用Turtle实现精确计时工具,文中的示例代码讲解详细,具有一定的借鉴价值,有需要的小伙伴可以参考一下... 目录功能特点使用方法程序架构设计代码详解窗口和画笔创建时间和状态显示更新计时器控制逻辑计时器重置功能事件

Swagger2与Springdoc集成与使用详解

《Swagger2与Springdoc集成与使用详解》:本文主要介绍Swagger2与Springdoc集成与使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1. 依赖配置2. 基础配置2.1 启用 Springdoc2.2 自定义 OpenAPI 信息3.