Only one group-stats function is needed
This commit is contained in:
parent
d829f2ea8b
commit
b7eef8d77b
3 changed files with 13 additions and 16 deletions
|
@ -133,6 +133,19 @@ ENTRY: Entry from a response."
|
||||||
collect score)))))
|
collect score)))))
|
||||||
(append average-scores (list :average overall-average))))
|
(append average-scores (list :average overall-average))))
|
||||||
|
|
||||||
|
|
||||||
|
(defmethod calculator-calc-group-stats ((calc calculator) results)
|
||||||
|
(when (> (length results) 1)
|
||||||
|
(flet ((merge-entry (acc entry)
|
||||||
|
(loop :for (key value) :on entry :by #'cddr
|
||||||
|
:do (push value (getf acc key)))
|
||||||
|
acc))
|
||||||
|
(let ((merged-values (reduce #'merge-entry
|
||||||
|
(mapcar #'cddr results)
|
||||||
|
:initial-value '())))
|
||||||
|
(reverse (loop :for (key value) :on merged-values :by #'cddr
|
||||||
|
:collect (list key (calculate-statistics value))))))))
|
||||||
|
|
||||||
;;; Displayer
|
;;; Displayer
|
||||||
|
|
||||||
(defclass displayer ()
|
(defclass displayer ()
|
||||||
|
|
|
@ -25,9 +25,6 @@
|
||||||
(cons timestamp
|
(cons timestamp
|
||||||
(append values (sus-score values))))))
|
(append values (sus-score values))))))
|
||||||
|
|
||||||
(defmethod calculator-calc-group-stats ((calc sus-calculator) results)
|
|
||||||
(when (> (length results) 1)))
|
|
||||||
|
|
||||||
(defclass sus-assessment (assessment) ())
|
(defclass sus-assessment (assessment) ())
|
||||||
|
|
||||||
(defmethod initialize-instance :after ((a sus-assessment) &key)
|
(defmethod initialize-instance :after ((a sus-assessment) &key)
|
||||||
|
|
|
@ -33,19 +33,6 @@ Returns an integer."
|
||||||
(cons timestamp (average-score-per-group #'visawi-entry-process
|
(cons timestamp (average-score-per-group #'visawi-entry-process
|
||||||
(rest response))))))
|
(rest response))))))
|
||||||
|
|
||||||
(defmethod calculator-calc-group-stats ((calc visawi-calculator) results)
|
|
||||||
(if (> (length results) 1)
|
|
||||||
(flet ((merge-entry (acc entry)
|
|
||||||
(loop :for (key value) :on entry :by #'cddr
|
|
||||||
:do (push value (getf acc key)))
|
|
||||||
acc))
|
|
||||||
(let ((merged-values (reduce #'merge-entry
|
|
||||||
(mapcar #'cddr results)
|
|
||||||
:initial-value '())))
|
|
||||||
(reverse (loop :for (key value) :on merged-values :by #'cddr
|
|
||||||
:collect (list key (calculate-statistics value))))))
|
|
||||||
nil))
|
|
||||||
|
|
||||||
(defclass visawi-assessment (assessment) ())
|
(defclass visawi-assessment (assessment) ())
|
||||||
|
|
||||||
(defmethod initialize-instance :after ((a visawi-assessment) &key)
|
(defmethod initialize-instance :after ((a visawi-assessment) &key)
|
||||||
|
|
Loading…
Add table
Reference in a new issue