From b159e9da78a6c8bcbf1b8b56211e602972f5ceb5 Mon Sep 17 00:00:00 2001 From: Chris Howey Date: Fri, 4 Oct 2024 16:25:12 -0500 Subject: [PATCH] quicker stats --- ledger/cmd/stats.go | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/ledger/cmd/stats.go b/ledger/cmd/stats.go index 7bff6c2..a500b73 100644 --- a/ledger/cmd/stats.go +++ b/ledger/cmd/stats.go @@ -35,21 +35,25 @@ func printStats(generalLedger []*ledger.Transaction) { endDate := generalLedger[len(generalLedger)-1].Date payees := make(map[string]struct{}) + cipayees := make(map[string]struct{}) accounts := make(map[string]struct{}) var postings int64 for _, trans := range generalLedger { - payees[strings.ToLower(strings.TrimSpace(trans.Payee))] = struct{}{} + payees[trans.Payee] = struct{}{} for _, account := range trans.AccountChanges { postings++ accounts[account.Name] = struct{}{} } } + for p := range payees { + cipayees[strings.ToLower(strings.TrimSpace(p))] = struct{}{} + } days := math.Floor(endDate.Sub(startDate).Hours() / 24) fmt.Printf("%-25s : %s to %s (%s)\n", "Time period", startDate.Format(time.DateOnly), endDate.Format(time.DateOnly), durafmt.Parse(endDate.Sub(startDate)).String()) - fmt.Printf("%-25s : %d\n", "Unique payees", len(payees)) + fmt.Printf("%-25s : %d\n", "Unique payees", len(cipayees)) fmt.Printf("%-25s : %d\n", "Unique accounts", len(accounts)) fmt.Printf("%-25s : %d (%.1f per day)\n", "Number of transactions", len(generalLedger), float64(len(generalLedger))/days) fmt.Printf("%-25s : %d (%.1f per day)\n", "Number of postings", postings, float64(postings)/days)