Safe Haskell | None |
---|---|
Language | Haskell2010 |
Multi-column balance reports, used by the balance command.
Synopsis
- newtype MultiBalanceReport = MultiBalanceReport ([DateSpan], [MultiBalanceReportRow], MultiBalanceReportTotals)
- type MultiBalanceReportRow = (AccountName, AccountName, Int, [MixedAmount], MixedAmount, MixedAmount)
- multiBalanceReport :: ReportOpts -> Query -> Journal -> MultiBalanceReport
- balanceReportFromMultiBalanceReport :: ReportOpts -> Query -> Journal -> BalanceReport
- mbrNegate :: MultiBalanceReport -> MultiBalanceReport
- mbrNormaliseSign :: NormalSign -> MultiBalanceReport -> MultiBalanceReport
- multiBalanceReportSpan :: MultiBalanceReport -> DateSpan
- tableAsText :: ReportOpts -> (a -> String) -> Table String String a -> String
- tests_MultiBalanceReports :: Test ()
Documentation
newtype MultiBalanceReport Source #
A multi balance report is a balance report with one or more columns. It has:
- a list of each column's period (date span)
- a list of rows, each containing:
- the full account name
- the leaf account name
- the account's depth
- a list of amounts, one for each column
- the total of the row's amounts
- the average of the row's amounts
- the column totals and the overall total and average
The meaning of the amounts depends on the type of multi balance
report, of which there are three: periodic, cumulative and historical
(see BalanceType
and Hledger.Cli.Commands.Balance).
MultiBalanceReport ([DateSpan], [MultiBalanceReportRow], MultiBalanceReportTotals) |
Instances
Show MultiBalanceReport Source # | |
Defined in Hledger.Reports.MultiBalanceReports showsPrec :: Int -> MultiBalanceReport -> ShowS # show :: MultiBalanceReport -> String # showList :: [MultiBalanceReport] -> ShowS # |
type MultiBalanceReportRow = (AccountName, AccountName, Int, [MixedAmount], MixedAmount, MixedAmount) Source #
multiBalanceReport :: ReportOpts -> Query -> Journal -> MultiBalanceReport Source #
Generate a multicolumn balance report for the matched accounts, showing the change of balance, accumulated balance, or historical balance in each of the specified periods. Does not support tree-mode boring parent eliding. If the normalbalance_ option is set, it adjusts the sorting and sign of amounts (see ReportOpts and CompoundBalanceCommand).
balanceReportFromMultiBalanceReport :: ReportOpts -> Query -> Journal -> BalanceReport Source #
Generates a simple non-columnar BalanceReport, but using multiBalanceReport, in order to support --historical. Does not support tree-mode boring parent eliding. If the normalbalance_ option is set, it adjusts the sorting and sign of amounts (see ReportOpts and CompoundBalanceCommand).
mbrNegate :: MultiBalanceReport -> MultiBalanceReport Source #
Flip the sign of all amounts in a MultiBalanceReport.
mbrNormaliseSign :: NormalSign -> MultiBalanceReport -> MultiBalanceReport Source #
Given a MultiBalanceReport and its normal balance sign, if it is known to be normally negative, convert it to normally positive.
multiBalanceReportSpan :: MultiBalanceReport -> DateSpan Source #
Figure out the overall date span of a multicolumn balance report.
tableAsText :: ReportOpts -> (a -> String) -> Table String String a -> String Source #
tests_MultiBalanceReports :: Test () Source #