Split out mbase-stats into separate query module.
This commit is contained in:
parent
e02853edc7
commit
b25fbd407d
5 changed files with 117 additions and 46 deletions
|
@ -41,6 +41,7 @@
|
|||
member-calendar->table
|
||||
members-summary
|
||||
member-calendar-entry->fee
|
||||
get-expected-income
|
||||
get-expected-income-string
|
||||
)
|
||||
|
||||
|
@ -208,6 +209,19 @@
|
|||
(cons 0 0)
|
||||
members)))
|
||||
|
||||
(define (get-expected-income mb)
|
||||
(let* ((flst
|
||||
(map (compose member-calendar-entry->fee make-member-calendar-entry)
|
||||
(find-members-by-predicate mb brmember-active?)))
|
||||
(amts (sort (delete-duplicates flst) <))
|
||||
(sums
|
||||
(map
|
||||
(lambda (amt)
|
||||
(cons amt
|
||||
(length (filter (lambda (v) (= v amt)) flst))))
|
||||
amts)))
|
||||
(number->string (foldl + 0 (map (lambda (p) (* (car p) (cdr p))) sums)))))
|
||||
|
||||
(define (get-expected-income-string mb)
|
||||
(let* ((flst
|
||||
(map (compose member-calendar-entry->fee make-member-calendar-entry)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue