在 beancount.io 中过滤和搜索条目
beancount.io UI 在页面右上角提供了强大的过滤器,可帮助您在报告中查找和分析特定条目。您可以组合多个过滤器来缩小结果范围。以下是主要的过滤选项:
时间过滤器
按日期或期间过滤条目。您可以使用:
- 年份:
2023 - 季度:
2022-Q1 - 月份:
2024-05 - 周:
2025-W23 - 天:
2024-06-04 - 范围:
2022 - 2023-06(从 2022 年初到 2023 年 6 月底)
您还可以使用相对日期变量:
year,quarter,month,week,day- 与数学运算结合:
year - day(从今年初到今天),year-1 - year(去年和今年) - 使用括号来澄清:
(month)-10是本月的 10 号,month-10是 10 个月前
账户过滤器
按账户名称、账户组成部分或正则表达式过滤:
- 完整或部分账户名称:
Assets:Cash,Expenses - 正则表达式:
.*Company.*(匹配任何包含 "Company" 的账户)
标签、链接、收款人和元数据过滤器
- 按标签:
#food - 按链接:
^receipt - 按收款人:
payee:"restaurant" - 按描述:
narration:'Dinner with Joe' - 按文档类型:
document:"\.pdf$" - 按任何文本:只需输入 (例如,
Cash withdrawal) - 对于备注:搜索评论文本
如果过滤器包含空格或特殊字符,请使用 ' 或 " 将其引起来。
排除条目
在过滤器前添加 - 以排除匹配项:
-#tag(排除标签)-(^link #tag)(排除链接或标签)
高级:过账属性过滤器
any(id:'12', account:"Cash$")—— 匹配至少有一个过账包含元数据id: 12或账户以Cash结尾的条目all(-account:"^Expenses:Food")—— 排除所有过账到Expenses:Food的交易
组合过滤器
- 用空格分隔过滤器表示 "AND" (所有都必须匹配)
- 用逗号分隔表示 "OR" (任何一个匹配)
- 使用括号对过滤器进行分组
匹配注意事项
- 所有匹配均不区分大小写
- 过滤器使用 Python 的正则表达式语法
- 如果不是有效的正则表达式,过滤器将查找完全匹配项
这些灵活的过滤器使您可以轻松地深入研究您的财务数据,并在 beancount.io Web UI 中快速找到您关心的条目。