* [story#57435,1h] add addDrillData.
This commit is contained in:
+17
-2
@@ -785,6 +785,7 @@ class pivotModel extends model
|
||||
{
|
||||
foreach($record as $field => $value)
|
||||
{
|
||||
$record["{$field}_origin"] = $value;
|
||||
$tableField = !isset($fields[$field]) ? '' : $fields[$field]['object'] . '-' . $fields[$field]['field'];
|
||||
$withComma = in_array($tableField, $this->config->dataview->multipleMappingFields);
|
||||
|
||||
@@ -929,7 +930,7 @@ class pivotModel extends model
|
||||
|
||||
foreach($sliceKeys as $sliceKey)
|
||||
{
|
||||
$columnRecord->$sliceKey = array('count' => 0, 'distinct' => array(), 'sum' => 0, 'avg' => array(), 'max' => array(), 'min' => array());
|
||||
$columnRecord->$sliceKey = array('count' => 0, 'distinct' => array(), 'sum' => 0, 'avg' => array(), 'max' => array(), 'min' => array(), 'rows' => array(), 'drillFields' => array());
|
||||
}
|
||||
|
||||
$columnRecords[$groupUnionKey] = $columnRecord;
|
||||
@@ -938,6 +939,20 @@ class pivotModel extends model
|
||||
return $columnRecords;
|
||||
}
|
||||
|
||||
public function addDrillData(array $sliceRecord, object $record, int $rowNo, string $field, string $slice, array $groups): array
|
||||
{
|
||||
/* add rowNo. */
|
||||
$sliceRecord['rows'][] = $rowNo;
|
||||
|
||||
$drills = $sliceRecord['drillFields'];
|
||||
if($slice != 'noSlice') $groups[] = $slice;
|
||||
/* add dirll field value. */
|
||||
foreach($groups as $drillField) $drills[$drillField] = $record->{$drillField . '_origin'};
|
||||
|
||||
$sliceRecord['drillFields'] = $drills;
|
||||
return $sliceRecord;
|
||||
}
|
||||
|
||||
/**
|
||||
* Process column stat with slice.
|
||||
*
|
||||
@@ -953,7 +968,7 @@ class pivotModel extends model
|
||||
public function processColumnStat(int $index, string $field, string $slice, string $stat, array $groups, array $records): array
|
||||
{
|
||||
$sliceRecords = $this->initSliceColumnRecords($index, $field, $slice, $groups, $records);
|
||||
foreach($records as $record)
|
||||
foreach($records as $rowNo => $record)
|
||||
{
|
||||
$groupUnionKey = $this->getGroupsKey($groups, $record);
|
||||
$fieldKey = $this->getSliceFieldKey($index, $slice, $field, $record);
|
||||
|
||||
Reference in New Issue
Block a user