メインコンテンツまでスキップ

beancount.io でのエントリのフィルタリングと検索

beancount.io UI は、ページの右上部に強力なフィルタを提供し、レポート内の特定のエントリを見つけて分析するのに役立ちます。複数のフィルタを組み合わせて結果を絞り込むことができます。以下は、主なフィルタリングオプションです。

期間フィルタ

日付または期間でエントリをフィルタリングします。以下を使用できます。

  • 年: 2023
  • 四半期: 2022-Q1
  • 月: 2024-05
  • 週: 2025-W23
  • 日: 2024-06-04
  • 範囲: 2022 - 2023-06 (2022年の開始から2023年6月末まで)

相対日付変数も使用できます。

  • yearquartermonthweekday
  • 数学と組み合わせる: year - day (今年の初めから今日まで)、year-1 - year (昨年と今年)
  • 括弧を使用して明確にする: (month)-10 は今月の10日、month-10 は10か月前

口座フィルタ

口座名、口座コンポーネント、または正規表現でフィルタリングします。

  • 口座名の全部または一部: Assets:CashExpenses
  • 正規表現: .*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 で重要なエントリをすばやく見つけることが容易になります。