Example #1
0
 public function initInputAdvance($type)
 {
     $aMainTable = array();
     $tables = array();
     //$aMainTable ��֯
     $table = 'mainTable';
     $aMetric = \YcheukfReport\Lib\ALYS\Report\Advance::getAdvanceMetrics($type);
     if ('detail' == $type) {
         $aDimens = \YcheukfReport\Lib\ALYS\Report\Advance::getAdvanceDimens($type);
         $aMainTable['showField'] = array_merge($aDimens, $aMetric);
     } else {
         $aMainTable['showField'] = $aMetric;
     }
     if (empty($aMainTable['showField'])) {
         throw new \YcheukfReport\Lib\ALYS\ALYSException('ALYSEXPT_KEY_WRONG', 'need metrics');
     }
     $aMainTable['field3'] = array();
     $aMainTable['table2Field'] = array();
     $aMainTable['table'] = $table;
     //ֻ����һ������
     if (is_array($aMainTable['showField'])) {
         foreach ($aMainTable['showField'] as $f) {
             $aMainTable['field2Table'][$f] = $table;
         }
     }
     //tables ��֯
     $aDimens = \YcheukfReport\Lib\ALYS\Report\Advance::getAdvanceDimens($type);
     $tables[$table]['dimen']['key'] = $aDimens;
     $tables[$table]['dimen']['dimenkey2field'] = array_flip($aDimens);
     $this->aInput['input'][$type]['mainTable'] = $aMainTable;
     $this->aInput['input'][$type]['tables'] = $tables;
     //��ʼά�� ָ�� (����)
     $this->aInput['input'][$type]['table'][$table]['dimen'] = $this->aInput['input'][$type]['advanced']['dimen'];
     $this->aInput['input'][$type]['table'][$table]['metric'] = $this->aInput['input'][$type]['advanced']['metric'];
     \YcheukfReport\Lib\ALYS\Report\Start::setInput($this->aInput);
 }