Commit 828cd977d209090116c34d7cc83711290e71b294
1 parent
8758ae42
Exists in
master
and in
7 other branches
--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,8 +630,14 @@ function dimensoesTabelas(){ | ||
630 | 630 | ||
631 | $xml .= "<Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>"; | 631 | $xml .= "<Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>"; |
632 | $incluirChaves = array("tabelamedida{$c["id_medida_variavel"]}.*"); | 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 | if(count($parComposto) > 0){ | 642 | if(count($parComposto) > 0){ |
637 | //$sql = "select *,".implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_ from {$c["esquemadb"]}.{$c["tabela"]}"; | 643 | //$sql = "select *,".implode("||'-'||",$parComposto)."::text as ".implode("_",$parComposto)."_ from {$c["esquemadb"]}.{$c["tabela"]}"; |
@@ -660,9 +666,14 @@ function dimensoesTabelas(){ | @@ -660,9 +666,14 @@ function dimensoesTabelas(){ | ||
660 | ON tabela{$r["codigo_tipo_regiao"]}.{$r["identificador"]}::text = tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text | 666 | ON tabela{$r["codigo_tipo_regiao"]}.{$r["identificador"]}::text = tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text |
661 | "; | 667 | "; |
662 | $sql .= $dimRegioes[$c["codigo_tipo_regiao"]]["juncoes"]; | 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 | $xml .= " | 679 | $xml .= " |
@@ -697,7 +708,7 @@ function dimensoesTabelas(){ | @@ -697,7 +708,7 @@ function dimensoesTabelas(){ | ||
697 | $agregador = "count"; | 708 | $agregador = "count"; |
698 | } | 709 | } |
699 | if($medida["colunavalor"] == ""){ | 710 | if($medida["colunavalor"] == ""){ |
700 | - $nomeColunaValor = "contagem"; | 711 | + $nomeColunaValor = "contagem".$medida["id_medida_variavel"]; |
701 | } | 712 | } |
702 | else{ | 713 | else{ |
703 | $nomeColunaValor = $medida["colunavalor"]; | 714 | $nomeColunaValor = $medida["colunavalor"]; |