diff --git a/ref-test/app/analysis/templates/analysis/analysis.html b/ref-test/app/analysis/templates/analysis/analysis.html index 627d311..33aad9d 100644 --- a/ref-test/app/analysis/templates/analysis/analysis.html +++ b/ref-test/app/analysis/templates/analysis/analysis.html @@ -8,105 +8,129 @@ {% endblock %} {% block content %} -

Analysis

+

Analysis by {{ type[0]|upper }}{{ type[1:] }}

- Analysis for {{ type }} {{ subject }}. + The analysis section displays statistics for all test results as well as answers to individual questions. + Analysis reports can be generated per exam or per question dataset to identify common mistakes or patterns in answers.

-
-
-

- Question List -

-
+
+ + {% if type == 'exam' %} + Exam Code + {% elif type == 'dataset' %} + Dataset Name + {% endif %} + + + {{ subject }} + +
+
+ Total Entries + + {{ analysis.entries }} + +
+
+ Passed + + {{ analysis.grades.merit + analysis.grades.pass }} ({{ ((analysis.grades.merit + analysis.grades.pass)*100/analysis.entries)|round(2) }} %) + +
+
+ Merit: {{ analysis.grades.merit }} Pass: {{ analysis.grades.pass }} Fail: {{ analysis.grades.fail }} +
+
{{ (analysis.grades.merit*100/analysis.entries)|round(2) }} %
+
{{ (analysis.grades.pass*100/analysis.entries)|round(2) }} %
+
{{ (analysis.grades.fail*100/analysis.entries)|round(2) }} %
+
+
+
+ Mean Score + + {{ analysis.scores.mean|round(2) }} % + +
+
+ Standard Deviation + + {{ analysis.scores.stdev|round(2) }} + +
+
+ Median Score + + {{ analysis.scores.median|round(2) }} % + +
+ {% if type == 'exam' %}
Dataset Name {{ dataset.get_name() }}
-
- Author - - {{ dataset.creator.get_username() }} - -
-
- Last Updated - - {{ dataset.date.strftime('%d %b %Y %H:%M') }} - -
- {% if dataset.default %} -
- - - - - Default Dataset - -
- {% endif %} -
-
- - - - - - - - - {% for question in questions %} - - - - - - - {% endfor %} - -
- Question - - Percent Correct - - Answers - - Tags -
- {{ question.q_no + 1 }} - - {{ ((analysis.answers[question.q_no][question.correct] or 0)*100/(analysis.answers[question.q_no].values())|sum())|round(2) }} - - - {% for option in question.options %} - - - - - {% endfor %} -
- {{ option[1] }} - - {% if question.correct == option[0] %} -
-
{{ ((analysis.answers[question.q_no][option[0]] or 0)*100/(analysis.answers[question.q_no].values())|sum())|round(2) }}%
-
- {% else %} -
-
{{ ((analysis.answers[question.q_no][option[0]] or 0)*100/(analysis.answers[question.q_no].values())|sum())|round(2) }}%
-
- {% endif %} -
-
-
    - {% for tag in question.tags %} -
  • {{ tag|safe }}
  • - {% endfor %} -
-
-
+ {% endif %} +
+
+ + + + + + + + + {% for question in questions %} + + + + + + + {% endfor %} + +
+ Question + + Percent Correct + + Answers + + Tags +
+ {{ question.q_no + 1 }} + + {{ ((analysis.answers[question.q_no][question.correct] or 0)*100/(analysis.answers[question.q_no].values())|sum())|round(2) }} + + + {% for option in question.options %} + + + + + {% endfor %} +
+ {{ option[1] }} + + {% if question.correct == option[0] %} +
+
{{ ((analysis.answers[question.q_no][option[0]] or 0)*100/(analysis.answers[question.q_no].values())|sum())|round(2) }}%
+
+ {% else %} +
+
{{ ((analysis.answers[question.q_no][option[0]] or 0)*100/(analysis.answers[question.q_no].values())|sum())|round(2) }}%
+
+ {% endif %} +
+
+
    + {% for tag in question.tags %} +
  • {{ tag|safe }}
  • + {% endfor %} +
+
{% endblock %}