lib: bal --value=end without --historical should not report on fluctuation in value of historical postings.
This commit is contained in:
parent
c005655311
commit
9cf5015958
@ -50,7 +50,7 @@ import Data.Semigroup ((<>))
|
|||||||
#endif
|
#endif
|
||||||
import Data.Semigroup (sconcat)
|
import Data.Semigroup (sconcat)
|
||||||
import Data.Time.Calendar (Day, addDays, fromGregorian)
|
import Data.Time.Calendar (Day, addDays, fromGregorian)
|
||||||
import Safe (headMay, lastDef, lastMay, minimumMay)
|
import Safe (headMay, lastDef, lastMay)
|
||||||
|
|
||||||
import Hledger.Data
|
import Hledger.Data
|
||||||
import Hledger.Query
|
import Hledger.Query
|
||||||
@ -318,13 +318,12 @@ calculateReportMatrix rspec@ReportSpec{rsOpts=ropts} j priceoracle startbals col
|
|||||||
HistoricalBalance -> historical
|
HistoricalBalance -> historical
|
||||||
where
|
where
|
||||||
historical = cumulativeSum avalue startingBalance changes
|
historical = cumulativeSum avalue startingBalance changes
|
||||||
cumulative | changingValuation ropts = fmap (`subtractAcct` valuedStart) historical
|
cumulative = cumulativeSum avalue nullacct changes
|
||||||
| otherwise = cumulativeSum avalue nullacct changes
|
changeamts = if changingValuation ropts
|
||||||
changeamts | changingValuation ropts = periodChanges valuedStart historical
|
then periodChanges nullacct cumulative
|
||||||
| otherwise = changes
|
else changes
|
||||||
|
|
||||||
startingBalance = HM.lookupDefault nullacct name startbals
|
startingBalance = HM.lookupDefault nullacct name startbals
|
||||||
valuedStart = avalue (DateSpan Nothing historicalDate) startingBalance
|
|
||||||
|
|
||||||
-- Transpose to get each account's balance changes across all columns, then
|
-- Transpose to get each account's balance changes across all columns, then
|
||||||
-- pad with zeros
|
-- pad with zeros
|
||||||
@ -335,7 +334,6 @@ calculateReportMatrix rspec@ReportSpec{rsOpts=ropts} j priceoracle startbals col
|
|||||||
|
|
||||||
(pvalue, avalue) = postingAndAccountValuations rspec j priceoracle
|
(pvalue, avalue) = postingAndAccountValuations rspec j priceoracle
|
||||||
addElided = if queryDepth (rsQuery rspec) == Just 0 then HM.insert "..." zeros else id
|
addElided = if queryDepth (rsQuery rspec) == Just 0 then HM.insert "..." zeros else id
|
||||||
historicalDate = minimumMay $ mapMaybe spanStart colspans
|
|
||||||
zeros = M.fromList [(span, nullacct) | span <- colspans]
|
zeros = M.fromList [(span, nullacct) | span <- colspans]
|
||||||
colspans = M.keys colps
|
colspans = M.keys colps
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user