Re: squash weekly totals across sub-accounts?

21 views
Skip to first unread message

John Wiegley

unread,
Nov 9, 2022, 8:39:34 PM11/9/22
to Alan, Ledger
>>>>> "A" == Alan <sf.f...@gmail.com> writes:

A> I have some of my Expense accounts organized hierarchically. For example,
A> rather than simply "Expenses:Food" I have a few accounts, such as:

A> Expenses:Food:Groceries
A> Expenses:Food:Chicken
A> Expenses:Food: ... (a few others)

A> But now I would like to get a weekly or monthly subtotal (using `-W` or
A> `-M`), summed across all Food categories. If I just query `reg
A> Expenses:Food` then of course as a regular expression that matches all of
A> the sub-categories individually. If I add `--depth 2` then it ignores all
A> the subcategories, reporting only the cases where the ledger has just
A> "Expenses:Food" exactly.

Actually, `--depth 2` should be exactly what you need, according to the --help
description:

Limit the depth of displayed accounts in balance and register reports. Any
accounts of greater depth are folded into their parent at the specified
level. For example with --depth 2 the account
Expenses:Entertainment:Dining would be folded into Expenses:Entertainment
for display. Importantly, this is a display predicate, which means it only
affects display, not the total calculations.

I'm rather surprised if it is truncating the totals as you describe. Can you
reproduce the issue in a small test case?

John

Martin Michlmayr

unread,
Nov 9, 2022, 9:40:44 PM11/9/22
to ledge...@googlegroups.com
* Alan <sf.f...@gmail.com> [2022-11-09 16:42]:
> I have some of my Expense accounts organized hierarchically. For example,
> rather than simply "Expenses:Food" I have a few accounts, such as:
>
> - Expenses:Food:Groceries
> - Expenses:Food:Chicken
> - Expenses:Food: ... (a few others)

For "bal", adding "--display 'l <= 2'" will do what you want

For reg, I think --depth 2 in Git will do what you want thanks to
https://github.com/ledger/ledger/pull/1901

--
Martin Michlmayr
https://www.cyrius.com/

Alan

unread,
Nov 10, 2022, 2:50:41 PM11/10/22
to Ledger
Thank you for your quick reply; and I apologize for asking nearly the same question I previously asked (more than 10 years ago!). (That's why I quickly tried to remove my OP from yesterday.)

For my purposes here, "-n" works well enough. And, from Martin's response, I agree that #1901 looks like an even better soluion in general. So I'm all set for now.

But just so as I'm not leaving you hanging, here's a simple example:

2022/9/1   Safeway
    Expenses:Food:Groceries   $10.00
    Assets:Cash

2022/9/15  KFC
    Expenses:Food:Chicken   $5.00
    Assets:Cash

2022/9/21   Another
    Expenses:Food   $1.23
    Assets:Cash

The sum that I want for the monthly total is $16.23. But if I type `ledger -M --depth 2 reg expenses.food` I get $1.23.

Reply all
Reply to author
Forward
0 new messages