summaryrefslogtreecommitdiff
path: root/src/report.cc
Commit message (Collapse)AuthorAgeFilesLines
* Added new command: "pricemap [DATE]"John Wiegley2010-06-041-0/+15
| | | | | | | | | | | | This outputs the pricing relationship of commodities in your data file, as of DATE (optional), using the DOT language. If you have graphviz installed, it can be viewed quite simply using: ledger pricemap | dotty - Each relationship in the graph shows the conversion factor to exchange one commodity for another, and the date at which this factor was determined.
* A little bit of code cleanupJohn Wiegley2010-06-041-10/+20
|
* Don't use --pager or --color with --outputJohn Wiegley2010-06-021-0/+7
|
* Minor optimizationJohn Wiegley2010-05-311-1/+2
|
* New: --group-by=EXPR and --group-title-format=FMTJohn Wiegley2010-05-301-34/+116
| | | | | | | | | | | | | | | | | | | | | The --group-by option allows for most reports to be split up into sections based on the varying value of EXPR. For example, to see register subtotals by payee, use: ledger reg --group-by=payee -s This works for separated balances too: ledger bal --group-by=payee Another interesting possibility is seeing a register of all the accounts affected by a related account: ledger reg -r --group-by=payee The option --group-title-format can be used to add a separator bar to the group titles. The option --no-titles can be used to drop titles altogether.
* Option --rounding inverted to --no-roundingJohn Wiegley2010-05-301-1/+1
|
* Added new option: --no-titlesJohn Wiegley2010-05-301-0/+1
|
* Added --rounding option, which is off by defaultJohn Wiegley2010-05-231-0/+1
| | | | | | | | The purpose of this option is to add special "<Rounding>" postings, to ensure that a regiter's running total is *always* the sum of its postings. Within --rounding, these adjustment postings are missing, which was the behavior in Ledger 2.x. It can be orders of magnitude slower to turn it on for large reports with many commodities.
* Fix to an interaction between --period and --sortJohn Wiegley2010-05-231-3/+2
| | | | Fixes 3AAB00ED-9904-4380-8988-16506B0AFE08
* Added new option --prepend-widthJohn Wiegley2010-05-221-7/+17
| | | | | | | | This is useful for making sure that the column containing the results of --prepend-format is a consistent width throughout the report (including those lines where it is not applied). Fixes 64F9D913-75E1-4830-A3D9-29B72442E68B
* Option --count sums payees, account, commoditiesJohn Wiegley2010-05-221-0/+1
|
* Added new commands: acounts, payees, commoditiesJohn Wiegley2010-05-221-1/+15
| | | | | | | | | | | | | These three reports simply dump an unordered list (with the exception of payees) shows all accounts, payees, and commodities represented in a given report. This can be used to easily generate per-entity report, for example: ledger payees | \ while read payee; do \ echo ; echo $payee ; \ ledger reg payee "$payee" ; \ done
* Added a simple print() value expression functionJohn Wiegley2010-05-081-0/+16
| | | | This is really for debugging more than anything else.
* Added new --meta and --meta-width optionsJohn Wiegley2010-03-171-4/+38
| | | | | | | | The usages are: --meta=<TAG> prepend value of TAG before every line --meta-width=<NUM> force the meta column to be NUM wide --meta=<TAG>:<NUM> shortcut that also applies --meta-width
* Rewrite the "print" command as a custom functionJohn Wiegley2010-03-081-16/+20
| | | | | There ended up being too many corner cases for the generalized formatter to handle.
* Fixed a problem with the "quoted" valexpr functionJohn Wiegley2010-03-051-2/+2
|
* Added some preliminary code for convert CSV to LedgerJohn Wiegley2010-03-051-0/+3
|
* Updated copyrights to 2003-2010John Wiegley2010-03-051-1/+1
|
* Renamed the "args" command to "query"John Wiegley2010-03-041-1/+5
|
* Added a --pivot=TAG optionJohn Wiegley2010-02-021-0/+1
| | | | | | This is equivalent to the following: --account='"TAG:" + tag(/TAG/)'
* Added a debug statement for report.predicateJohn Wiegley2010-02-021-2/+5
|
* Added a trim() value expression functionJohn Wiegley2009-11-251-0/+28
|
* Added options: --unrealized-gains and --unrealized-lossesAristid Breitkreuz2009-11-241-0/+2
| | | | | | | | | | | These options allow the user to specify what accounts names should be used for these two types of accounts. They are optional, and default to: --unrealized-gains "Equity:Unrealized Gains" --unrealized-losses "Equity:Unrealized Losses" These are intended to be set in one's ~/.ledgerrc file.
* Many improvements to Ledger's Python bindingsJohn Wiegley2009-11-191-9/+8
|
* Added an --unrealized option, for use with bal -VJohn Wiegley2009-11-191-0/+1
| | | | | | When this option is on, then in balance report which show market values, any gains or losses in value will be balanced into a pair of accounts called Equity:Unrealized Gains and Equity:Unrealized Losses.
* Decompile all amount expressions for accounts reportsJohn Wiegley2009-11-181-0/+6
| | | | | This happens after running through all the post handlers, before running any of the account handlers.
* It's OK for a report query to be emptyJohn Wiegley2009-11-181-14/+10
| | | | It's always possible the user only specified a display predicate.
* The new period parser is passing all testsJohn Wiegley2009-11-181-6/+7
|
* Renamed date_interval_t::end to finishJohn Wiegley2009-11-171-2/+2
|
* Added historical support for single-letter valexprsJohn Wiegley2009-11-141-0/+39
|
* Reorganized a bit of the reporting codeJohn Wiegley2009-11-121-48/+25
|
* Moved report normalization into report.ccJohn Wiegley2009-11-121-0/+171
|
* Removed unused codeJohn Wiegley2009-11-121-2/+0
|
* Renamed the pricesdb command to pricedbJohn Wiegley2009-11-121-4/+4
|
* Added new value expressions for value conversionJohn Wiegley2009-11-111-0/+81
| | | | | | | | | | | | | | They are: to_boolean to_int to_datetime to_date to_amount to_balance to_string to_mask to_sequence
* Added --date, similar to --account and --payeeJohn Wiegley2009-11-111-0/+1
| | | | | | | This lets you do things like store a date as the value of a tag, then run: ledger --date='has_tag("Foo") ? to_date(tag("Foo")) : date' reg
* Added floor() value expression functionJohn Wiegley2009-11-111-0/+8
|
* Added a --prepend-format optionJohn Wiegley2009-11-111-7/+15
| | | | | | | | This lets you, for example, debug registers that cull data from many different sources, without having to change the basic formatting string. You can locate each posting's location with this: ledger reg --prepend-format='%-25(filename + ":" + beg_line)'
* Moving the #include of unistring.h into format.hJohn Wiegley2009-11-101-1/+0
|
* Fixes to Python importing; removed "hello" precommandJohn Wiegley2009-11-101-18/+2
|
* account_amount() is now account().amountJohn Wiegley2009-11-101-27/+0
|
* XML reporting now works via the "xml" commandJohn Wiegley2009-11-091-0/+2
|
* Added basic foundation for XML reportingJohn Wiegley2009-11-091-0/+1
|
* Redesigned the draft_t classJohn Wiegley2009-11-091-1/+1
|
* Redesigned the expr_t, predicate_t, query_t classesJohn Wiegley2009-11-091-20/+11
|
* Added support for Boost.Regex w/ ICUJohn Wiegley2009-11-071-1/+1
| | | | | This allows for correct searching of UTF-8 encoded strings, such as lower-case versions of Russian words to find mixed-case words.
* Renamed --set-reported-account to just --accountJohn Wiegley2009-11-061-11/+3
| | | | | | | This fits better with the --amount and --total options, which both change the amount and total used for calculation. Same with --account: it happens after filtering, but before calculation so that balance reports look as you'd expect.
* Added new account_total value expressionJohn Wiegley2009-11-051-0/+27
| | | | | This is used for accessing an account's current total within one's Ledger file.
* Moved xdata clearing code into each type properJohn Wiegley2009-11-051-5/+4
|
* Segregated symbols into 5 separate namespacesJohn Wiegley2009-11-041-275/+287
| | | | | | | | | | | | | | | | | | | | | The different namespaces are: Function Value expression functions, which receive a "context" Option Command-line options Precommand Commands which are invoked before reading the journal Command Commands which are invoked after reading the journal Directive Directives that occur at column 0 in a data file This greatly eases the ability for Python uses to add intercept hooks to change how the basic Ledger module functions. An example of what should be possible soon: import ledger def my_foo_handler(value): print "--foo received:", value ledger.add_handler(ledger.Option, "foo=", my_foo_handler)