On 21/01/2022 10:38, [email protected] wrote:
No way to currently do it AFAIK. A HAVING clause
<https://github.com/beancount/beancount/issues/114> is on the wish list.
See this comment
<https://github.com/beancount/beancount/issues/114#issuecomment-632815268>.
Turns out that a naive implementation of HAVING was not very difficult
to put together https://github.com/beancount/beanquery/pull/22
This implementation is naive in the sense that the expression in the
HAVING clause is computed from scratch instead than trying to reuse
aggregate expression computed as part of the SELECT. However, this is
not an optimization that is done in other parts of BQL either.
Given an implementation of an empty() function that checks whether an
inventory is empty https://github.com/beancount/beanquery/pull/21 you
can write:
SELECT
last(date) as date,
leaf(account) as account,
sum(position) as outstanding
WHERE
root(account, 2) = "Assets:Receivable"
GROUP BY leaf(account)
HAVING not empty(sum(position))
ORDER BY outstanding DESC
Cheers,
Dan
On Thursday, January 20, 2022 at 9:51:06 PM UTC-8 Maayaas wrote:
Hi,
I am using the query below to get a list of outstanding payments:
SELECT
last(date), leaf(account), sum(position) as outstanding
WHERE
account ~ "AccountsReceivable"
GROUP BY leaf(account)
ORDER BY outstanding DESC
It works as intended but it also lists the zero balance accounts. Is
there a way to exclude them?
Thanks.
--
You received this message because you are subscribed to the Google
Groups "Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send
an email to [email protected]
<mailto:[email protected]>.
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/4c37598c-cd96-4121-9554-86a531711d01n%40googlegroups.com
<https://groups.google.com/d/msgid/beancount/4c37598c-cd96-4121-9554-86a531711d01n%40googlegroups.com?utm_medium=email&utm_source=footer>.
--
You received this message because you are subscribed to the Google Groups
"Beancount" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To view this discussion on the web visit
https://groups.google.com/d/msgid/beancount/d8cedb3a-9979-ee11-383f-44a71c3ab6a3%40grinta.net.