Commit 828cd977d209090116c34d7cc83711290e71b294

Authored by Edmar Moretti
1 parent 8758ae42

--no commit message

Showing 1 changed file with 17 additions and 6 deletions   Show diff stats
ferramentas/saiku/esquemaxml.php
... ... @@ -630,8 +630,14 @@ function dimensoesTabelas(){
630 630  
631 631 $xml .= "<Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>";
632 632 $incluirChaves = array("tabelamedida{$c["id_medida_variavel"]}.*");
633   - if($c["colunavalor"] == ""){
634   - $incluirChaves[] = "'1'::numeric as contagem";
  633 + //colunas quando o nome da coluna com os valores for vazia
  634 + foreach($tb as $mdd){
  635 + if($mdd["colunavalor"] == "" && $mdd["filtro"] == ""){
  636 + $incluirChaves[] = "'1'::numeric as contagem".$mdd["id_medida_variavel"];
  637 + }
  638 + if($mdd["colunavalor"] == "" && $mdd["filtro"] != ""){
  639 + $incluirChaves[] = "CASE WHEN {$mdd["filtro"]} THEN 1 ELSE 0 END as contagem".$mdd["id_medida_variavel"];
  640 + }
635 641 }
636 642 if(count($parComposto) > 0){
637 643 //$sql = "select *,".implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_ from {$c["esquemadb"]}.{$c["tabela"]}";
... ... @@ -660,9 +666,14 @@ function dimensoesTabelas(){
660 666 ON tabela{$r["codigo_tipo_regiao"]}.{$r["identificador"]}::text = tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text
661 667 ";
662 668 $sql .= $dimRegioes[$c["codigo_tipo_regiao"]]["juncoes"];
663   -
664   - if($c["filtro"] != ""){
665   - $sql .= " WHERE ".str_replace('"',"'",$c["filtro"]);
  669 + $f = array();
  670 + foreach($tb as $mdd){
  671 + if($medida["filtro"] != ""){
  672 + $f[] = str_replace('"',"'",$mdd["filtro"]);
  673 + }
  674 + }
  675 + if(count($f) > 0){
  676 + $sql .= " WHERE ".implode(" OR ",$f);
666 677 }
667 678  
668 679 $xml .= "
... ... @@ -697,7 +708,7 @@ function dimensoesTabelas(){
697 708 $agregador = "count";
698 709 }
699 710 if($medida["colunavalor"] == ""){
700   - $nomeColunaValor = "contagem";
  711 + $nomeColunaValor = "contagem".$medida["id_medida_variavel"];
701 712 }
702 713 else{
703 714 $nomeColunaValor = $medida["colunavalor"];
... ...