--- loncom/interface/loncoursedata.pm 2003/03/27 19:29:36 1.63 +++ loncom/interface/loncoursedata.pm 2003/03/28 15:19:35 1.64 @@ -1,6 +1,6 @@ # The LearningOnline Network with CAPA # -# $Id: loncoursedata.pm,v 1.63 2003/03/27 19:29:36 matthew Exp $ +# $Id: loncoursedata.pm,v 1.64 2003/03/28 15:19:35 matthew Exp $ # # Copyright Michigan State University Board of Trustees # @@ -1150,6 +1150,43 @@ the students you are concerned with prio Inputs: $students, $symb, $part, $courseid +=over 4 + +=item $students is an array of hash references. +Each hash must contain at least the 'username' and 'domain' of a student. + +=item $symb is the symb for the problem. + +=item $part is the part id you need statistics for + +=item $courseid is the course id, of course! + +=back + +Outputs: See the code for up to date information. + +=over 4 + +=item $num The number of students attempting the problem + +=item $tries The total number of tries for the students + +=item $mod The maximum number of tries taken + +=item $mean The average number of tries + +=item $Solved The number of students able to solve the problem + +=item $solved The number of students whose answer is 'correct_by_override' + +=item $DegOfDiff The degree of difficulty of the problem + +=item $STD The standard deviation of the number of tries + +=item $SKEW The skew of the number of tries + +=back + =cut ################################################ @@ -1182,6 +1219,14 @@ sub get_problem_statistics { 'CREATE TEMPORARY TABLE '.$stats_table. ' SELECT student_id,solved,award,tries FROM '.$performance_table. ' WHERE symb_id='.$symb_id.' AND part_id='.$part_id; + if (defined($students)) { + $request .= ' AND ('. + join(' OR ', map {'student_id='. + &get_student_id($_->{'username'}, + $_->{'domain'}) + } @$students + ).')'; + } # &Apache::lonnet::logthis($request); $dbh->do($request); my ($num,$tries,$mod,$mean,$STD) = &execute_SQL_request