Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 7059bbcd

Von Bernd Bleßmann vor mehr als 2 Jahren hinzugefügt

  • ID 7059bbcd0fa6154b92d3b9a03c0e50533665b413
  • Vorgänger b30b38df

Reports als Chart: mehrere Y-Werte

Unterschiede anzeigen:

SL/ReportGenerator.pm
'encoding' => 'UTF-8',
},
'chart_export' => {
'assignment_x' => 'x',
'assignment_y' => 'y1',
'assignment_x' => '',
'assignments_y' => [],
},
};
$self->{export} = {
......
my $opts = $self->{options};
my $assignment_x = $opts->{chart_export}->{assignment_x};
my $assignment_y = $opts->{chart_export}->{assignment_y};
my $assignment_x = $opts->{chart_export}->{assignment_x};
my $assignments_y = $opts->{chart_export}->{assignments_y};
my @data_x;
my @data_y;
my @labels;
my @datasets;
foreach my $row_set (@{ $self->{data} }) {
next if ('ARRAY' ne ref $row_set);
foreach my $row (@{ $row_set }) {
my $x = $row->{$assignment_x}->{data}->[0];
my $y = $row->{$assignment_y}->{data}->[0];
if ($x) {
push @data_x, $x;
push @data_y, $y//0;
my $label = $row->{$assignment_x}->{data}->[0];
if ($label) {
push @labels, $label;
my @set;
foreach my $assignment_y (@$assignments_y) {
my $y = $row->{$assignment_y}->{data}->[0];
push @set, $y;
}
push @datasets, \@set;
}
}
}
......
$::form->header;
print $::form->parse_html_template('report_generator/chart_report',
{
data_x => to_json(\@data_x),
data_y => to_json(\@data_y),
label_x => $assignment_x,
label_y => $assignment_y,
labels => to_json(\@labels),
datasets => to_json(\@datasets),
data_labels => to_json($assignments_y),
%$variables,
}
);

Auch abrufbar als: Unified diff