diff --git a/admin/admin.db b/admin/admin.db index 382a354..3718c70 100644 Binary files a/admin/admin.db and b/admin/admin.db differ diff --git a/ferramentas/saiku/esquemaxml.php b/ferramentas/saiku/esquemaxml.php index 96bfc80..8a7936c 100644 --- a/ferramentas/saiku/esquemaxml.php +++ b/ferramentas/saiku/esquemaxml.php @@ -16,12 +16,19 @@ exit; //cria as dimensoes de tipo temporal $sqlAno = "select nu_ano from i3geo_metaestat.dim_tempo group by nu_ano order by nu_ano"; +$sqlMes = "select nu_ano,nu_mes,ds_mes_abreviado as mes,nu_ano::text||'-'||nu_mes::text as nu_anomes from i3geo_metaestat.dim_tempo group by nu_ano,nu_mes,mes,nu_anomes order by nu_ano,nu_mes"; $xml .= " - + $sqlAno - + + + + + + $sqlMes + + "; @@ -62,17 +69,17 @@ foreach($regioes as $regiao){ $tabelaAnt = "j".$i; $niveis[] = " "; } $niveis[] = " "; - + //verifica outras colunas $vis = $regiao['colunasvisiveis']; if($vis != ""){ @@ -111,7 +118,7 @@ foreach($regioes as $regiao){ "; } - } + } //fecha os elementos. LEVEL deve ser fechado pois o ultimo recebe as propriedades $xml .= " @@ -143,28 +150,48 @@ foreach($tbs as $tb){ $VirtualCubeDimension[] = " "; - $xml .= " - "; - $xml .= " - - - "; //verifica as dimensoes do tipo tempo $dimTempo = array(); foreach($tb as $medida){ $parametros = $m->listaParametro($medida["id_medida_variavel"],"","",$apenasTempo=true,$ordenaPeloPai=false); + $parComposto = array(); //guarda a composicao da chave que liga com a dimensao foreach($parametros as $parametro){ if($parametro["tipo"] == 1){ - $VirtualCubeDimension[] = " - - "; - $dimTempo[] = " - - "; + if(count($parametros) == 1){ + $VirtualCubeDimension[] = " + + "; + $dimTempo[] = " + + "; + } + $parComposto[] = $parametro["coluna"]; + } + if($parametro["tipo"] == 2){ + $parComposto[] = $parametro["coluna"]; + if(count($parametros) == 2){ + $VirtualCubeDimension[] = " + + "; + $dimTempo[] = " + + "; + } } } //echo "
";var_dump($parametro);exit;
 	}
+	$xml .= "
+	";
+	$sql = "select * from {$c["esquemadb"]}.{$c["tabela"]}";
+	if(count($parComposto) > 0){
+		$sql = "select *,".implode("||'-'||",$parComposto)." as ".implode("_",$parComposto)." from {$c["esquemadb"]}.{$c["tabela"]}";
+	}
+	$xml .= "
+		$sql
+			
+	";
+
 	$xml .= implode(" ",array_unique($dimTempo));
 
 	//inclui cada elemento em medida
--
libgit2 0.21.2