Finish new stats.
This commit is contained in:
parent
227787597d
commit
6cfdf705c8
3 changed files with 471 additions and 445 deletions
|
@ -47,6 +47,13 @@
|
|||
(define (members-base-oldest-month mb)
|
||||
(make-cal-month 2015 1))
|
||||
|
||||
(define (members-average-age mrs)
|
||||
(let* ((ages (map brmember-age mrs))
|
||||
(valid (filter (lambda (x) x) ages))
|
||||
(num (length valid))
|
||||
(sum (foldl + 0 valid)))
|
||||
(exact->inexact (/ sum num))))
|
||||
|
||||
;; Returns dictionary with statistics about the members base.
|
||||
(define (mbase-info mb-arg)
|
||||
(let* ((members (find-members-by-predicate mb-arg brmember-usable?))
|
||||
|
@ -81,10 +88,10 @@
|
|||
(map (lambda (v)
|
||||
(min 0 v))
|
||||
mbals))))
|
||||
;; debts of fees
|
||||
;; add average age of active members
|
||||
(di13 (ldict-set di12 'age
|
||||
(members-average-age active-members)))
|
||||
)
|
||||
di12))
|
||||
di13))
|
||||
|
||||
;; Returns a list two lists: keys, data.
|
||||
;; Each data record contains values for all keys.
|
||||
|
@ -93,6 +100,7 @@
|
|||
'(month
|
||||
total active suspended students destroyed invalid
|
||||
expected balance advance debt
|
||||
age
|
||||
)))
|
||||
(let mloop ((data '())
|
||||
(month (members-base-oldest-month mb)))
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue