version 1.81, 2004/04/01 21:35:52
|
version 1.82, 2004/04/01 22:13:39
|
Line 461 sub parse_field_selection {
|
Line 461 sub parse_field_selection {
|
} |
} |
} |
} |
} |
} |
|
# |
|
# Always show all the sequence statistics (for now) |
|
foreach my $field (@SeqFields) { |
|
$field->{'selected'} = 'yes'; |
|
} |
return; |
return; |
} |
} |
|
|
Line 818 sub sequence_html_header {
|
Line 823 sub sequence_html_header {
|
sub sequence_html_output { |
sub sequence_html_output { |
my ($seq) = @_; |
my ($seq) = @_; |
my $data = $SeqStat{$seq->{'symb'}}; |
my $data = $SeqStat{$seq->{'symb'}}; |
# $SeqStat{$symb}->{'max'} |
|
# $SeqStat{$symb}->{'min'} |
|
# $SeqStat{$symb}->{'mean'} |
|
# $SeqStat{$symb}->{'std'} |
|
# $SeqStat{$symb}->{'count'} |
|
# $SeqStat{$symb}->{'max_possible'} |
|
my $row = '<tr>'; |
my $row = '<tr>'; |
foreach my $field (@SeqFields) { |
foreach my $field (@SeqFields) { |
# next if ($field->{'selected'} ne 'yes'); |
next if ($field->{'selected'} ne 'yes'); |
$row .= '<td bgcolor="'.$field->{'color'}.'"'; |
$row .= '<td bgcolor="'.$field->{'color'}.'"'; |
if (exists($field->{'align'})) { |
if (exists($field->{'align'})) { |
$row .= ' align="'.$field->{'align'}.'"'; |
$row .= ' align="'.$field->{'align'}.'"'; |
Line 1184 sub Excel_output {
|
Line 1183 sub Excel_output {
|
} |
} |
my $excel_sheet = $excel_workbook->addworksheet( |
my $excel_sheet = $excel_workbook->addworksheet( |
&Apache::loncommon::clean_excel_name($sheetname)); |
&Apache::loncommon::clean_excel_name($sheetname)); |
|
# |
|
my $format = &Apache::loncommon::define_excel_formats($excel_workbook); |
## |
## |
## Begin creating excel sheet |
## Begin creating excel sheet |
## |
## |
Line 1191 sub Excel_output {
|
Line 1192 sub Excel_output {
|
# |
# |
# Put the course description in the header |
# Put the course description in the header |
$excel_sheet->write($rows_output,$cols_output++, |
$excel_sheet->write($rows_output,$cols_output++, |
$ENV{'course.'.$ENV{'request.course.id'}.'.description'}); |
$ENV{'course.'.$ENV{'request.course.id'}.'.description'}, |
|
$format->{'h1'}); |
$cols_output += 3; |
$cols_output += 3; |
# |
# |
# Put a description of the sections listed |
# Put a description of the sections listed |
my $sectionstring = ''; |
my $sectionstring = ''; |
my @Sections = @Apache::lonstatistics::SelectedSections; |
$excel_sheet->write($rows_output,$cols_output++, |
if (scalar(@Sections) > 1) { |
&Apache::lonstathelpers::sections_description |
if (scalar(@Sections) > 2) { |
(@Apache::lonstatistics::SelectedSections), |
my $last = pop(@Sections); |
$format->{'h3'}); |
$sectionstring = "Sections ".join(', ',@Sections).', and '.$last; |
$cols_output += scalar(@Apache::lonstatistics::SelectedSections); |
} else { |
|
$sectionstring = "Sections ".join(' and ',@Sections); |
|
} |
|
} else { |
|
if ($Sections[0] eq 'all') { |
|
$sectionstring = "All sections"; |
|
} else { |
|
$sectionstring = "Section ".$Sections[0]; |
|
} |
|
} |
|
$excel_sheet->write($rows_output,$cols_output++,$sectionstring); |
|
$cols_output += scalar(@Sections); |
|
# |
# |
# Time restrictions |
# Time restrictions |
my $time_string; |
my $time_string; |
Line 1228 sub Excel_output {
|
Line 1218 sub Excel_output {
|
# See note above about lonlocal:locallocaltime |
# See note above about lonlocal:locallocaltime |
$time_string .= 'Data collected before '.localtime($endtime).'.'; |
$time_string .= 'Data collected before '.localtime($endtime).'.'; |
} |
} |
|
if (defined($time_string)) { |
|
$excel_sheet->write($rows_output,$cols_output++,$time_string); |
|
$cols_output+= 5; |
|
} |
# |
# |
# Put the date in there too |
# Put the date in there too |
$excel_sheet->write($rows_output,$cols_output++, |
$excel_sheet->write($rows_output,$cols_output++, |
Line 1235 sub Excel_output {
|
Line 1229 sub Excel_output {
|
# |
# |
$rows_output++; |
$rows_output++; |
$cols_output=0; |
$cols_output=0; |
# |
## |
# Long Headers |
## Sequence Statistics |
foreach my $field (@Fields) { |
## |
next if ($field->{'name'} eq 'problem_num'); |
&write_headers($excel_sheet,$format,\$rows_output,\$cols_output, |
next if ($field->{'selected'} ne 'yes'); |
\@SeqFields); |
if (exists($field->{'long_title'})) { |
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) { |
|
next if ($seq->{'num_assess'} < 1); |
|
my $data = $SeqStat{$seq->{'symb'}}; |
|
$cols_output=0; |
|
foreach my $field (@SeqFields) { |
|
next if ($field->{'selected'} ne 'yes'); |
$excel_sheet->write($rows_output,$cols_output++, |
$excel_sheet->write($rows_output,$cols_output++, |
$field->{'long_title'}); |
$data->{$field->{'name'}}); |
} else { |
|
$excel_sheet->write($rows_output,$cols_output++,''); |
|
} |
} |
|
$rows_output++; |
|
$cols_output=0; |
} |
} |
|
## |
|
## Resource Statistics |
|
## |
$rows_output++; |
$rows_output++; |
$cols_output=0; |
$cols_output=0; |
# Brief headers |
&write_headers($excel_sheet,$format,\$rows_output,\$cols_output, |
foreach my $field (@Fields) { |
\@Fields); |
next if ($field->{'selected'} ne 'yes'); |
# |
next if ($field->{'name'} eq 'problem_num'); |
|
# Use english for excel as I am not sure how well excel handles |
|
# other character sets.... |
|
$excel_sheet->write($rows_output,$cols_output++,$field->{'title'}); |
|
} |
|
$rows_output++; |
|
foreach my $data (@StatsArray) { |
foreach my $data (@StatsArray) { |
$cols_output=0; |
$cols_output=0; |
foreach my $field (@Fields) { |
foreach my $field (@Fields) { |
Line 1267 sub Excel_output {
|
Line 1263 sub Excel_output {
|
$data->{$field->{'name'}}); |
$data->{$field->{'name'}}); |
} |
} |
$rows_output++; |
$rows_output++; |
|
$cols_output=0; |
} |
} |
# |
# |
$excel_workbook->close(); |
$excel_workbook->close(); |
Line 1279 sub Excel_output {
|
Line 1276 sub Excel_output {
|
return; |
return; |
} |
} |
|
|
|
## |
|
## &write_headers |
|
## |
|
sub write_headers { |
|
my ($excel_sheet,$format,$rows_output,$cols_output,$Fields) = @_; |
|
## |
|
## First the long titles |
|
foreach my $field (@{$Fields}) { |
|
next if ($field->{'name'} eq 'problem_num'); |
|
next if ($field->{'selected'} ne 'yes'); |
|
if (exists($field->{'long_title'})) { |
|
$excel_sheet->write($$rows_output,${$cols_output}, |
|
$field->{'long_title'}, |
|
$format->{'bold'}); |
|
} else { |
|
$excel_sheet->write($$rows_output,${$cols_output},''); |
|
} |
|
${$cols_output}+= 1; |
|
} |
|
${$cols_output} =0; |
|
${$rows_output}+=1; |
|
## |
|
## Then the short titles |
|
foreach my $field (@{$Fields}) { |
|
next if ($field->{'selected'} ne 'yes'); |
|
next if ($field->{'name'} eq 'problem_num'); |
|
# Use english for excel as I am not sure how well excel handles |
|
# other character sets.... |
|
$excel_sheet->write($$rows_output,$$cols_output, |
|
$field->{'title'}, |
|
$format->{'bold'}); |
|
$$cols_output+=1; |
|
} |
|
${$cols_output} =0; |
|
${$rows_output}+=1; |
|
return; |
|
} |
|
|
################################################## |
################################################## |
################################################## |
################################################## |
## |
## |
Line 1312 sub compute_all_statistics {
|
Line 1347 sub compute_all_statistics {
|
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) { |
foreach my $seq (&Apache::lonstatistics::Sequences_with_Assess()) { |
last if ($c->aborted); |
last if ($c->aborted); |
next if ($seq->{'num_assess'} < 1); |
next if ($seq->{'num_assess'} < 1); |
|
&compute_sequence_statistics($seq); |
&compute_statistics_on_sequence($seq); |
&compute_statistics_on_sequence($seq); |
} |
} |
} |
} |
Line 1530 sub compute_sequence_statistics {
|
Line 1566 sub compute_sequence_statistics {
|
$SeqStat{$symb}->{'countmax'} = $cmax; |
$SeqStat{$symb}->{'countmax'} = $cmax; |
$SeqStat{$symb}->{'countmin'} = $cmin; |
$SeqStat{$symb}->{'countmin'} = $cmin; |
$SeqStat{$symb}->{'countstd'} = $cSTD; |
$SeqStat{$symb}->{'countstd'} = $cSTD; |
|
$SeqStat{$symb}->{'countmean'} = $cMean; |
$SeqStat{$symb}->{'count'} = $ccount; |
$SeqStat{$symb}->{'count'} = $ccount; |
$SeqStat{$symb}->{'items'} = $K; |
$SeqStat{$symb}->{'items'} = $K; |
$SeqStat{$symb}->{'KR-21'}=$kr_21; |
$SeqStat{$symb}->{'KR-21'}=$kr_21; |
|
|
return; |
return; |
} |
} |
|
|