* @package simpleSAMLphp */ class sspmod_statistics_RatioDataset extends sspmod_statistics_StatDataset { public function aggregateSummary() { /** * Aggregate summary table from dataset. To be used in the table view. */ $this->summary = array(); $noofvalues = array(); foreach($this->results AS $slot => $res) { foreach ($res AS $key => $value) { if (array_key_exists($key, $this->summary)) { $this->summary[$key] += $value; if ($value > 0) $noofvalues[$key]++; } else { $this->summary[$key] = $value; if ($value > 0) $noofvalues[$key] = 1; else $noofvalues[$key] = 0; } } } foreach($this->summary AS $key => $val) { $this->summary[$key] = $this->divide($this->summary[$key], $noofvalues[$key]); } asort($this->summary); $this->summary = array_reverse($this->summary, TRUE); // echo '
'; print_r($summaryDataset); exit; } private function ag($k, $a) { if (array_key_exists($k, $a)) return $a[$k]; return 0; } private function divide($v1, $v2) { if ($v2 == 0) return 0; return ($v1 / $v2); } public function combine($result1, $result2) { $combined = array(); foreach($result2 AS $tick => $val) { $combined[$tick] = array(); foreach($val AS $index => $num) { $combined[$tick][$index] = $this->divide( $this->ag($index, $result1[$tick]), $this->ag($index, $result2[$tick]) ); } } // echo(''); // echo('combine 1 '); // print_r($result1); // echo('combine 2 '); // print_r($result2); // echo('combineed '); // print_r($combined); // // exit; return $combined; } public function getPieData() { return NULL; } }