lib: Elide boring parents in tree mode even when using --empty.
This commit is contained in:
		
							parent
							
								
									05e33965d6
								
							
						
					
					
						commit
						32e184f9a8
					
				| @ -426,7 +426,7 @@ displayedAccounts ropts q valuedaccts | ||||
|     | otherwise  = HM.mapWithKey (\a _ -> displayedName a) displayedAccts | ||||
|   where | ||||
|     -- Accounts which are to be displayed | ||||
|     displayedAccts = HM.filterWithKey keep valuedaccts | ||||
|     displayedAccts = (if depth == 0 then id else HM.filterWithKey keep) valuedaccts | ||||
|       where | ||||
|         keep name amts = isInteresting name amts || name `HM.member` interestingParents | ||||
| 
 | ||||
| @ -445,24 +445,25 @@ displayedAccounts ropts q valuedaccts | ||||
| 
 | ||||
|     -- Accounts interesting for their own sake | ||||
|     isInteresting name amts = | ||||
|         d <= depth                                                       -- Throw out anything too deep | ||||
|         && (empty_ ropts || depth == 0 || not (isZeroRow balance amts))  -- Boring because has only zero entries | ||||
|         d <= depth                                     -- Throw out anything too deep | ||||
|         && ((empty_ ropts && all (null . asubs) amts)  -- Keep all leaves when using empty_ | ||||
|            || not (isZeroRow balance amts))            -- Throw out anything with zero balance | ||||
|       where | ||||
|         d = accountNameLevel name | ||||
|         balance | ALTree <- accountlistmode_ ropts, d == depth = aibalance | ||||
|                 | otherwise = aebalance | ||||
| 
 | ||||
|     -- Accounts interesting because they are a fork for interesting subaccounts | ||||
|     interestingParents = dbg'' "interestingParents" $ HM.filterWithKey keepParent tallies | ||||
|     interestingParents = dbg'' "interestingParents" $ case accountlistmode_ ropts of | ||||
|         ALTree -> HM.filterWithKey hasEnoughSubs numSubs | ||||
|         ALFlat -> mempty | ||||
|       where | ||||
|         keepParent name subaccts | ||||
|             | ALFlat <- accountlistmode_ ropts = False | ||||
|             | no_elide_ ropts = subaccts > 0 && accountNameLevel name > drop_ ropts | ||||
|             | otherwise       = subaccts > 1 && accountNameLevel name > drop_ ropts | ||||
|         tallies = subaccountTallies . HM.keys $ HM.filterWithKey isInteresting valuedaccts | ||||
|         hasEnoughSubs name nsubs = nsubs >= minSubs && accountNameLevel name > drop_ ropts | ||||
|         minSubs = if no_elide_ ropts then 1 else 2 | ||||
| 
 | ||||
|     isZeroRow balance = all (mixedAmountLooksZero . balance) | ||||
|     depth = fromMaybe maxBound $ queryDepth q | ||||
|     numSubs = subaccountTallies . HM.keys $ HM.filterWithKey isInteresting valuedaccts | ||||
| 
 | ||||
| -- | Sort the rows by amount or by account declaration order. | ||||
| sortRows :: ReportOpts -> Journal -> [MultiBalanceReportRow] -> [MultiBalanceReportRow] | ||||
| @ -560,9 +561,8 @@ sortRowsLike sortedas rows = mapMaybe (`HM.lookup` rowMap) sortedas | ||||
| -- | Given a list of account names, find all forking parent accounts, i.e. | ||||
| -- those which fork between different branches | ||||
| subaccountTallies :: [AccountName] -> HashMap AccountName Int | ||||
| subaccountTallies as = foldr incrementParent mempty allaccts | ||||
| subaccountTallies = foldr incrementParent mempty . expandAccountNames | ||||
|   where | ||||
|     allaccts = expandAccountNames as | ||||
|     incrementParent a = HM.insertWith (+) (parentAccountName a) 1 | ||||
| 
 | ||||
| -- | A helper: what percentage is the second mixed amount of the first ? | ||||
|  | ||||
| @ -40,7 +40,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
| 
 | ||||
|                   ||           2016-12-01            2016-12-02            2016-12-03                 Total  | ||||
| ==================++======================================================================================== | ||||
|  assets           || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
|  assets:cash      || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
|  expenses         ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]   $75 [ 100% of  $75]  | ||||
|  expenses:food    ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]   $30 [ 100% of  $30]  | ||||
| @ -89,7 +88,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
|  expenses         ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]   $75 [ 100% of  $75]  | ||||
|  expenses:leisure ||    0 [   0% of  $15]    $5 [  33% of  $15]     0 [   0% of  $15]    $5 [  11% of  $45]  | ||||
|  expenses:food    ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]   $30 [ 100% of  $30]  | ||||
|  assets           || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
|  assets:cash      || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
| 
 | ||||
| # # 2. -E | ||||
| @ -163,7 +161,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
|  expenses         ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]   $75 [ 100% of  $75]  | ||||
|  expenses:food    ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]   $30 [ 100% of  $30]  | ||||
|  expenses:leisure ||    0 [   0% of  $15]    $5 [  33% of  $15]     0 [   0% of  $15]    $5 [  11% of  $45]  | ||||
|  assets           || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
|  assets:cash      || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
| 
 | ||||
| #** Sort by actual amount, tree mode. | ||||
| @ -171,13 +168,12 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
| $ hledger -f- bal --budget -DTNS --tree | ||||
| Budget performance in 2016-12-01..2016-12-03: | ||||
| 
 | ||||
|            ||           2016-12-01            2016-12-02            2016-12-03                 Total  | ||||
| ===========++======================================================================================== | ||||
|  expenses  ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]   $75 [ 100% of  $75]  | ||||
|    food    ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]   $30 [ 100% of  $30]  | ||||
|    leisure ||    0 [   0% of  $15]    $5 [  33% of  $15]     0 [   0% of  $15]    $5 [  11% of  $45]  | ||||
|  assets    || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
|    cash    || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
|              ||           2016-12-01            2016-12-02            2016-12-03                 Total  | ||||
| =============++======================================================================================== | ||||
|  expenses    ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]   $75 [ 100% of  $75]  | ||||
|    food      ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]   $30 [ 100% of  $30]  | ||||
|    leisure   ||    0 [   0% of  $15]    $5 [  33% of  $15]     0 [   0% of  $15]    $5 [  11% of  $45]  | ||||
|  assets:cash || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  $-75 [ 100% of $-75]  | ||||
| 
 | ||||
| #** other ? | ||||
| # with -E | ||||
|  | ||||
| @ -36,7 +36,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
| 
 | ||||
|                   ||           2016-12-01            2016-12-02            2016-12-03  | ||||
| ==================++================================================================== | ||||
|  assets           || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  | ||||
|  assets:cash      || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  | ||||
|  expenses         ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]  | ||||
|  expenses:food    ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]  | ||||
| @ -50,7 +49,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
| 
 | ||||
|                   ||           2016-12-01            2016-12-02            2016-12-03  | ||||
| ==================++================================================================== | ||||
|  assets           || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  | ||||
|  assets:cash      || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  | ||||
|  expenses         ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]  | ||||
|  expenses:cab     ||    0                     0                   $15                  | ||||
| @ -100,7 +98,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
| 
 | ||||
|                   ||                 2016-12-01                    2016-12-02                  2016-12-03  | ||||
| ==================++====================================================================================== | ||||
|  assets           ||       $-15 [  60% of $-25]          $-26 [ 104% of $-25]        $-51 [ 204% of $-25]  | ||||
|  assets:cash      ||       $-15 [  60% of $-25]          $-26 [ 104% of $-25]        $-51 [ 204% of $-25]  | ||||
|  expenses         ||        £10 [          $25]    $5, 20 CAD [          $25]         $51 [ 204% of  $25]  | ||||
|  expenses:food    ||        £10 [          $10]        20 CAD [          $10]         $11 [ 110% of  $10]  | ||||
| @ -300,7 +297,6 @@ Budget performance in 2018-01-01: | ||||
|        ||       2018-01-01  | ||||
| =======++================== | ||||
|  a     || 2 [   2% of 101]  | ||||
|  a:b   || 1 [ 100% of   1]  | ||||
|  a:b:c || 1 [ 100% of   1]  | ||||
| -------++------------------ | ||||
|        || 2 [   2% of 101]  | ||||
| @ -312,8 +308,7 @@ Budget performance in 2018-01-01: | ||||
|        ||       2018-01-01  | ||||
| =======++================== | ||||
|  a     || 2 [   2% of 101]  | ||||
|    b   || 1 [ 100% of   1]  | ||||
|      c || 1 [ 100% of   1]  | ||||
|    b:c || 1 [ 100% of   1]  | ||||
| -------++------------------ | ||||
|        || 2 [   2% of 101]  | ||||
| 
 | ||||
| @ -372,7 +367,6 @@ Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                    ||       2019-01-01..2019-01-03  | ||||
| ===================++============================== | ||||
|  expenses          ||  $50.00 [   5% of $1,000.00]  | ||||
|  expenses:personal ||  $50.00 [   5% of $1,000.00]  | ||||
|  liabilities       || $-50.00 [   5% of $-1000.00]  | ||||
| -------------------++------------------------------ | ||||
| @ -384,7 +378,6 @@ Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                                         ||       2019-01-01..2019-01-03  | ||||
| ========================================++============================== | ||||
|  expenses                               ||  $50.00 [   5% of $1,000.00]  | ||||
|  expenses:personal                      ||  $50.00 [   5% of $1,000.00]  | ||||
|  expenses:personal:electronics          ||  $20.00                       | ||||
|  expenses:personal:electronics:upgrades ||  $10.00                       | ||||
| @ -396,27 +389,25 @@ Budget performance in 2019-01-01..2019-01-03: | ||||
| $ hledger -f- bal --budget --tree | ||||
| Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|              ||       2019-01-01..2019-01-03  | ||||
| =============++============================== | ||||
|  expenses    ||  $50.00 [   5% of $1,000.00]  | ||||
|    personal  ||  $50.00 [   5% of $1,000.00]  | ||||
|  liabilities || $-50.00 [   5% of $-1000.00]  | ||||
| -------------++------------------------------ | ||||
|              ||       0 [                 0]  | ||||
|                    ||       2019-01-01..2019-01-03  | ||||
| ===================++============================== | ||||
|  expenses:personal ||  $50.00 [   5% of $1,000.00]  | ||||
|  liabilities       || $-50.00 [   5% of $-1000.00]  | ||||
| -------------------++------------------------------ | ||||
|                    ||       0 [                 0]  | ||||
| 
 | ||||
| # 19. | ||||
| $ hledger -f- bal --budget --tree -E | ||||
| Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                  ||       2019-01-01..2019-01-03  | ||||
| =================++============================== | ||||
|  expenses        ||  $50.00 [   5% of $1,000.00]  | ||||
|    personal      ||  $50.00 [   5% of $1,000.00]  | ||||
|      electronics ||  $20.00                       | ||||
|        upgrades  ||  $10.00                       | ||||
|  liabilities     || $-50.00 [   5% of $-1000.00]  | ||||
| -----------------++------------------------------ | ||||
|                  ||       0 [                 0]  | ||||
|                    ||       2019-01-01..2019-01-03  | ||||
| ===================++============================== | ||||
|  expenses:personal ||  $50.00 [   5% of $1,000.00]  | ||||
|    electronics     ||  $20.00                       | ||||
|      upgrades      ||  $10.00                       | ||||
|  liabilities       || $-50.00 [   5% of $-1000.00]  | ||||
| -------------------++------------------------------ | ||||
|                    ||       0 [                 0]  | ||||
| 
 | ||||
| # 20. Subaccounts + nested budgets | ||||
| < | ||||
| @ -442,7 +433,6 @@ Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                                ||       2019-01-01..2019-01-03  | ||||
| ===============================++============================== | ||||
|  expenses                      ||  $50.00 [   5% of  $1100.00]  | ||||
|  expenses:personal             ||  $50.00 [   5% of  $1100.00]  | ||||
|  expenses:personal:electronics ||  $20.00 [  20% of   $100.00]  | ||||
|  liabilities                   || $-50.00 [   5% of $-1100.00]  | ||||
| @ -455,7 +445,6 @@ Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                                         ||       2019-01-01..2019-01-03  | ||||
| ========================================++============================== | ||||
|  expenses                               ||  $50.00 [   5% of  $1100.00]  | ||||
|  expenses:personal                      ||  $50.00 [   5% of  $1100.00]  | ||||
|  expenses:personal:electronics          ||  $20.00 [  20% of   $100.00]  | ||||
|  expenses:personal:electronics:upgrades ||  $10.00                       | ||||
| @ -467,28 +456,26 @@ Budget performance in 2019-01-01..2019-01-03: | ||||
| $ hledger -f- bal --budget --tree | ||||
| Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                  ||       2019-01-01..2019-01-03  | ||||
| =================++============================== | ||||
|  expenses        ||  $50.00 [   5% of  $1100.00]  | ||||
|    personal      ||  $50.00 [   5% of  $1100.00]  | ||||
|      electronics ||  $20.00 [  20% of   $100.00]  | ||||
|  liabilities     || $-50.00 [   5% of $-1100.00]  | ||||
| -----------------++------------------------------ | ||||
|                  ||       0 [                 0]  | ||||
|                    ||       2019-01-01..2019-01-03  | ||||
| ===================++============================== | ||||
|  expenses:personal ||  $50.00 [   5% of  $1100.00]  | ||||
|    electronics     ||  $20.00 [  20% of   $100.00]  | ||||
|  liabilities       || $-50.00 [   5% of $-1100.00]  | ||||
| -------------------++------------------------------ | ||||
|                    ||       0 [                 0]  | ||||
| 
 | ||||
| # 23. | ||||
| $ hledger -f- bal --budget --tree -E | ||||
| Budget performance in 2019-01-01..2019-01-03: | ||||
| 
 | ||||
|                  ||       2019-01-01..2019-01-03  | ||||
| =================++============================== | ||||
|  expenses        ||  $50.00 [   5% of  $1100.00]  | ||||
|    personal      ||  $50.00 [   5% of  $1100.00]  | ||||
|      electronics ||  $20.00 [  20% of   $100.00]  | ||||
|        upgrades  ||  $10.00                       | ||||
|  liabilities     || $-50.00 [   5% of $-1100.00]  | ||||
| -----------------++------------------------------ | ||||
|                  ||       0 [                 0]  | ||||
|                    ||       2019-01-01..2019-01-03  | ||||
| ===================++============================== | ||||
|  expenses:personal ||  $50.00 [   5% of  $1100.00]  | ||||
|    electronics     ||  $20.00 [  20% of   $100.00]  | ||||
|      upgrades      ||  $10.00                       | ||||
|  liabilities       || $-50.00 [   5% of $-1100.00]  | ||||
| -------------------++------------------------------ | ||||
|                    ||       0 [                 0]  | ||||
| 
 | ||||
| ## 24. Zero budget == no budget | ||||
| < | ||||
| @ -519,13 +506,11 @@ Budget performance in 2019-01-01..2019-01-02: | ||||
| 
 | ||||
|                   || 2019-01-01..2019-01-02  | ||||
| ==================++======================== | ||||
|  expenses         ||   $80 [  22% of  $370]  | ||||
|  expenses:bills   ||   $80 [  22% of  $370]  | ||||
|  expenses:bills:a ||   $10 [  50% of   $20]  | ||||
|  expenses:bills:b ||   $40 [  20% of  $200]  | ||||
|  expenses:bills:c ||     0 [   0% of   $50]  | ||||
|  expenses:bills:f ||   $10 [             0]  | ||||
|  income           ||  $-80 [  22% of $-370]  | ||||
|  income:cash      ||  $-80 [  22% of $-370]  | ||||
| ------------------++------------------------ | ||||
|                   ||     0 [             0]  | ||||
| @ -536,7 +521,6 @@ Budget performance in 2019-01-01..2019-01-02: | ||||
| 
 | ||||
|                   || 2019-01-01..2019-01-02  | ||||
| ==================++======================== | ||||
|  expenses         ||   $80 [  22% of  $370]  | ||||
|  expenses:bills   ||   $80 [  22% of  $370]  | ||||
|  expenses:bills:a ||   $10 [  50% of   $20]  | ||||
|  expenses:bills:b ||   $40 [  20% of  $200]  | ||||
| @ -544,7 +528,6 @@ Budget performance in 2019-01-01..2019-01-02: | ||||
|  expenses:bills:d ||   $20                   | ||||
|  expenses:bills:e ||     0                   | ||||
|  expenses:bills:f ||   $10 [             0]  | ||||
|  income           ||  $-80 [  22% of $-370]  | ||||
|  income:cash      ||  $-80 [  22% of $-370]  | ||||
| ------------------++------------------------ | ||||
|                   ||     0 [             0]  | ||||
|  | ||||
| @ -1,7 +1,6 @@ | ||||
| #!/usr/bin/env shelltest | ||||
| # 1. One commodity. Zero accounts should be elided but the final total should not. | ||||
| hledger -f - balance | ||||
| <<< | ||||
| # | ||||
| < | ||||
| 2010/04/01 tr1 | ||||
|   a   16$ | ||||
|   b   -16$ | ||||
| @ -9,52 +8,93 @@ hledger -f - balance | ||||
| 2010/04/02 tr2 | ||||
|   a   -16$ | ||||
|   b   16$ | ||||
| >>> | ||||
| 
 | ||||
| # 1. One commodity. Zero accounts should be elided but the final total should not. | ||||
| $ hledger -f - balance | ||||
| > | ||||
| -------------------- | ||||
|                    0 | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| < | ||||
| 1/1 | ||||
|   (a:b)   1 | ||||
| 
 | ||||
| # 2. An uninteresting parent account (with same balance as its single subaccount) is elided by default, like ledger | ||||
| hledger -f - balance --no-total | ||||
| <<< | ||||
| 1/1 | ||||
|   (a:b)   1 | ||||
| >>> | ||||
| $ hledger -f - balance --no-total | ||||
| > | ||||
|                    1  a:b | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 3. But not with --no-elide | ||||
| hledger -f - balance --no-total --tree --no-elide | ||||
| <<< | ||||
| 1/1 | ||||
|   (a:b)   1 | ||||
| >>> | ||||
| $ hledger -f - balance --no-total --tree --no-elide | ||||
| > | ||||
|                    1  a | ||||
|                    1    b | ||||
| >>>=0 | ||||
| >=0 | ||||
| 
 | ||||
| # 4. Nor when it has more than one subaccount | ||||
| hledger -f - balance --tree --no-total | ||||
| <<< | ||||
| < | ||||
| 1/1 | ||||
|   (a:b)    1 | ||||
|   (a:c)   -1 | ||||
| >>> | ||||
| 
 | ||||
| # 4. Nor when it has more than one subaccount | ||||
| $ hledger -f - balance --tree --no-total | ||||
| > | ||||
|                    0  a | ||||
|                    1    b | ||||
|                   -1    c | ||||
| >>>2 | ||||
| >>>=0 | ||||
| >2 | ||||
| >=0 | ||||
| 
 | ||||
| # 5. Zero-balance leaves should also be hidden by default. | ||||
| hledger -f - balance --no-total | ||||
| <<< | ||||
| < | ||||
| 1/1 | ||||
|  (a)          1 | ||||
|  (a:aa)       1 | ||||
|  (a:aa)      -1 | ||||
|  (a:aa:aaa)   1 | ||||
|  (a:aa:aaa)  -1 | ||||
| >>> | ||||
| 
 | ||||
| # 5. Zero-balance leaves should also be hidden by default. | ||||
| $ hledger -f - balance --tree --no-total | ||||
|                    1  a | ||||
| >>>=0 | ||||
| 
 | ||||
| # 6. Zero-balance leaves should be displayed in tree mode when --empty | ||||
| # is called, but zero-balance uninteresting parent accounts are elided | ||||
| # by default. | ||||
| $ hledger -f - balance --tree --no-total --empty | ||||
|                    1  a | ||||
|                    0    aa:aaa | ||||
| 
 | ||||
| # 7. But displayed with --no-elide | ||||
| $ hledger -f - balance --tree --no-total --empty --no-elide | ||||
|                    1  a | ||||
|                    0    aa | ||||
|                    0      aaa | ||||
| 
 | ||||
| # 8. Same as 5 for multiperiod | ||||
| $ hledger -f - balance --tree --no-total -Y | ||||
| Balance changes in 2020: | ||||
| 
 | ||||
|    || 2020  | ||||
| ===++====== | ||||
|  a ||    1  | ||||
| 
 | ||||
| # 9. Same as 6 for mulitperiod | ||||
| $ hledger -f - balance --tree --no-total -Y --empty | ||||
| Balance changes in 2020: | ||||
| 
 | ||||
|           || 2020  | ||||
| ==========++====== | ||||
|  a        ||    1  | ||||
|    aa:aaa ||    0  | ||||
| 
 | ||||
| # 10. Same as 7 for multiperiod | ||||
| $ hledger -f - balance --tree --no-total -Y --empty --no-elide | ||||
| Balance changes in 2020: | ||||
| 
 | ||||
|          || 2020  | ||||
| =========++====== | ||||
|  a       ||    1  | ||||
|    aa    ||    0  | ||||
|      aaa ||    0  | ||||
|  | ||||
| @ -57,7 +57,6 @@ Budget performance in 2016-12-01..2016-12-03: | ||||
| 
 | ||||
|                   ||           2016-12-01            2016-12-02            2016-12-03  | ||||
| ==================++================================================================== | ||||
|  assets           || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  | ||||
|  assets:cash      || $-10 [  40% of $-25]  $-14 [  56% of $-25]  $-51 [ 204% of $-25]  | ||||
|  expenses         ||  $10 [  40% of  $25]   $14 [  56% of  $25]   $51 [ 204% of  $25]  | ||||
|  expenses:food    ||  $10 [ 100% of  $10]    $9 [  90% of  $10]   $11 [ 110% of  $10]  | ||||
|  | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user