hledger/tests/misc/pivot.test
Mykola Orliuk 76867c98a3 Feature/pivot implicit tags (#460)
* Add implicit tags code/desc/payee for --pivot

Additionally allow using of transaction inherited tags.

* Use original posting in query by account name

To be able to query on individual postings and by account name it is
useful to have access to original account name (before pivot).
Especially this is useful when all postings within transaction gets
the same pivot name due.
As a side effect we'll match by alias.

Note: to query on amt it usually expected to see matches with inferred
amounts.
2017-01-13 08:02:11 -08:00

125 lines
3.8 KiB
Plaintext

# --pivot tests
# check pivot with print
hledger -f- --pivot TAG print
<<<
2016/02/16 Test Transaction
Account1 2 EUR
Account2 -2 EUR
; TAG: value
>>>
2016/02/16 Test Transaction
Account1 2 EUR
TAG:value -2 EUR
; TAG: value
>>>=0
# check pivot with bal
hledger -f- --pivot member bal --no-total
<<<
2016/02/16 Member Fee Payment John Doe
assets:bank account 2 EUR
income:member fees -2 EUR
; member: John Doe
>>>
2 EUR assets:bank account
-2 EUR member:John Doe
>>>=0
# check with another example
hledger -f- --pivot budget bal --no-total
<<<
2016/02/16 Donation Freifunk
assets:bank account 2 EUR
income:donations -2 EUR
; budget: Freifunk
>>>
2 EUR assets:bank account
-2 EUR budget:Freifunk
>>>=0
# query on account will find either effective name or original one
hledger -f- --pivot TAG reg '^Account2$' '^TAG:fun$' not:hidden
<<<
2016/02/16 Test Transaction
Account1 2 EUR
; TAG: fun
Account2 -1 EUR
; TAG: value
Account2 -1 EUR
; TAG: hidden
>>>
2016/02/16 Test Transaction TAG:fun 2 EUR 2 EUR
TAG:value -1 EUR 1 EUR
>>>=0
# pivot for implicit tag desc (technical sample)
hledger -f- --pivot desc reg -M
<<<
2016/02/16 Freifunk
assets:bank account 2 EUR ; date:03/01
income:donations -2 EUR
>>>
2016/02 desc:Freifunk -2 EUR -2 EUR
2016/03 desc:Freifunk 2 EUR 0
>>>=0
# pivot for implicit tag code (technical sample)
hledger -f- --pivot code reg -M
<<<
2016/02/16 (Freifunk) Donation Freifunk
assets:bank account 2 EUR ; date:03/01
income:donations -2 EUR
>>>
2016/02 code:Freifunk -2 EUR -2 EUR
2016/03 code:Freifunk 2 EUR 0
>>>=0
# use of pivot with code-based budgeting
hledger -f- --pivot code reg ^income
<<<
2016/02/16 (Freifunk) Donation Freifunk
assets:bank account 2 EUR
income:donations -2 EUR
>>>
2016/02/16 Donation Freifunk code:Freifunk -2 EUR -2 EUR
>>>=0
# get expenses balance by description/payee
hledger -f- --pivot desc bal --no-total --flat ^expense
<<<
2016/02/16 (1138) Auchan
assets:bank account
expense:snacks 2 EUR
expense:grocery 20 EUR
2016/02/16 StarBars
assets:bank account
expense:coffee 5 EUR
>>>
22 EUR desc:Auchan
5 EUR desc:StarBars
>>>=0
# get daily expenses by description/payee
hledger -f- --pivot desc reg -D ^expense
<<<
2016/02/16 (1138) Auchan
assets:bank account
expense:snacks 2 EUR
expense:grocery 20 EUR
2016/02/16 StarBars
assets:bank account
expense:coffee 5 EUR
2016/02/17 (1139) Auchan
assets:bank account
expense:grocery 30 EUR
>>>
2016/02/16 desc:Auchan 22 EUR 22 EUR
desc:StarBars 5 EUR 27 EUR
2016/02/17 desc:Auchan 30 EUR 57 EUR
>>>=0