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
で終わる口座を持つポスティングが少なくとも1つあるエントリに一致all(-account:"^Expenses:Food")
—Expenses:Food
へのポスティングを持つすべてのトランザクションを除外
フィルタの組み合わせ
- スペースで区切ると "AND" (すべて一致する必要がある)
- カンマで区切ると "OR" (いずれかが一致)
- 括弧を使用してフィルタをグループ化
マッチングに関する注意
- すべてのマッチングは大文字と小文字を区別しません
- フィルタは Python の正規表現構文を使用します
- 有効な正規表現でない場合、フィルタは完全一致を検索します
これらの柔軟なフィルタを使用すると、財務データを詳細に調べ、beancount.io Web UI で重要なエントリをすばやく見つけることが容易になります。