Commit e8d6bbe27dfedc4dc2de8ac7c50837e4c6db054c
1 parent
faf55975
Exists in
master
and in
7 other branches
inclusão de cubos virtuais para cada variável
Showing
2 changed files
with
357 additions
and
496 deletions
Show diff stats
ferramentas/saiku/esquemaxml.php
@@ -7,9 +7,9 @@ | @@ -7,9 +7,9 @@ | ||
7 | //utilize $regiao para obter o xml de uma so regiao | 7 | //utilize $regiao para obter o xml de uma so regiao |
8 | // | 8 | // |
9 | /** | 9 | /** |
10 | -http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=&xmlesquema=http://localhost/i3geo/ferramentas/saiku/testemondrian.xml&output=xml | ||
11 | -http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?xmlesquema=&output=xml®iao=1 | ||
12 | -*/ | 10 | + http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?output=xml |
11 | + http://localhost/i3geo/ferramentas/saiku/esquemaxml.php?xmlesquema=&output=xml®iao=1 | ||
12 | + */ | ||
13 | 13 | ||
14 | // | 14 | // |
15 | //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas | 15 | //quando o saiku e iniciado de fora do i3geo, e necessario inicializar um mapfile para uso como base dos mapas |
@@ -90,9 +90,14 @@ $VirtualCubeDimensionDaRegiao = array(); | @@ -90,9 +90,14 @@ $VirtualCubeDimensionDaRegiao = array(); | ||
90 | $VirtualCubeMeasureDaRegiao = array(); | 90 | $VirtualCubeMeasureDaRegiao = array(); |
91 | $nivelDaDimensao = array(); | 91 | $nivelDaDimensao = array(); |
92 | 92 | ||
93 | +$VirtualCubeDimensionDaMedida = array(); | ||
94 | +$CubosPorMedida = array(); | ||
95 | + | ||
93 | $dimRegioes = dimensoesGeo(); | 96 | $dimRegioes = dimensoesGeo(); |
94 | 97 | ||
95 | -$xmlRegioes = array_map(function($element){return $element['xml'];}, $dimRegioes); | 98 | +$xmlRegioes = array_map(function($element){ |
99 | + return $element['xml']; | ||
100 | +}, $dimRegioes); | ||
96 | $xmlRegioes = implode(" ",$xmlRegioes); | 101 | $xmlRegioes = implode(" ",$xmlRegioes); |
97 | 102 | ||
98 | // | 103 | // |
@@ -116,8 +121,10 @@ $xmlCuboTodas = cuboTodas(); | @@ -116,8 +121,10 @@ $xmlCuboTodas = cuboTodas(); | ||
116 | // | 121 | // |
117 | $xmlCuboRegioes = cuboRegioes(); | 122 | $xmlCuboRegioes = cuboRegioes(); |
118 | 123 | ||
124 | +$xmlCuboVariaveis = cuboVariaveis(); | ||
125 | + | ||
119 | $xml = "<Schema name='i3Geo Metaestat'>"; | 126 | $xml = "<Schema name='i3Geo Metaestat'>"; |
120 | -$xml .= $xmlTempo.$xmlRegioes.$xmlOutrasDim.$xmlDimensoesTabelas.$xmlCuboRegioes.$xmlCuboTodas; | 127 | +$xml .= $xmlTempo.$xmlRegioes.$xmlOutrasDim.$xmlDimensoesTabelas.$xmlCuboRegioes.$xmlCuboTodas.$xmlCuboVariaveis; |
121 | $xml .= "</Schema>"; | 128 | $xml .= "</Schema>"; |
122 | 129 | ||
123 | //xml pronto!!!!! | 130 | //xml pronto!!!!! |
@@ -298,8 +305,8 @@ function pegaSelecaoRegioes(){ | @@ -298,8 +305,8 @@ function pegaSelecaoRegioes(){ | ||
298 | } | 305 | } |
299 | } | 306 | } |
300 | return array( | 307 | return array( |
301 | - "selecaoRegiao"=>$selecaoRegiao, | ||
302 | - "codigo_tipo_regiao"=>$codigo_tipo_regiao | 308 | + "selecaoRegiao"=>$selecaoRegiao, |
309 | + "codigo_tipo_regiao"=>$codigo_tipo_regiao | ||
303 | ); | 310 | ); |
304 | } | 311 | } |
305 | } | 312 | } |
@@ -360,7 +367,7 @@ function sqlDasRegioes($regiao,$caminho,$chavesRegiao){ | @@ -360,7 +367,7 @@ function sqlDasRegioes($regiao,$caminho,$chavesRegiao){ | ||
360 | $nomesColunas[] = " nome".$regiaoJoin["codigo_tipo_regiao"]; | 367 | $nomesColunas[] = " nome".$regiaoJoin["codigo_tipo_regiao"]; |
361 | 368 | ||
362 | $juncoes .= " JOIN {$regiaoJoin['esquemadb']}.{$regiaoJoin['tabela']} as $tabelaAtual ON | 369 | $juncoes .= " JOIN {$regiaoJoin['esquemadb']}.{$regiaoJoin['tabela']} as $tabelaAtual ON |
363 | - $tabelaAtual.$colunaLigacaoAtual::text = $tabelaAnterior.$colunaLigacaoAnterior::text | 370 | + $tabelaAtual.$colunaLigacaoAtual::text = $tabelaAnterior.$colunaLigacaoAnterior::text |
364 | "; | 371 | "; |
365 | $codRegioes[] = $regiaoJoin["codigo_tipo_regiao"]; | 372 | $codRegioes[] = $regiaoJoin["codigo_tipo_regiao"]; |
366 | } | 373 | } |
@@ -403,12 +410,12 @@ function dimensoesGeo(){ | @@ -403,12 +410,12 @@ function dimensoesGeo(){ | ||
403 | $sqls = array(); | 410 | $sqls = array(); |
404 | $temp = converte($regiao["nome_tipo_regiao"]); | 411 | $temp = converte($regiao["nome_tipo_regiao"]); |
405 | $xml1 = " | 412 | $xml1 = " |
406 | - <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' caption='Onde:".$temp."'> | ||
407 | - <Hierarchy hasAll='true' primaryKey='codigo{$regiao["codigo_tipo_regiao"]}'> | 413 | + <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' caption='Onde:".$temp."'> |
414 | + <Hierarchy hasAll='true' primaryKey='codigo{$regiao["codigo_tipo_regiao"]}'> | ||
408 | "; | 415 | "; |
409 | $xml2 = " | 416 | $xml2 = " |
410 | - <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_geocod' caption='GeoCod:".$temp."'> | ||
411 | - <Hierarchy hasAll='true' primaryKey='codigo{$regiao["codigo_tipo_regiao"]}'> | 417 | + <Dimension name='codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_geocod' caption='GeoCod:".$temp."'> |
418 | + <Hierarchy hasAll='true' primaryKey='codigo{$regiao["codigo_tipo_regiao"]}'> | ||
412 | "; | 419 | "; |
413 | // | 420 | // |
414 | //cria uma view juntando as tabelas da hierarquia de regioes | 421 | //cria uma view juntando as tabelas da hierarquia de regioes |
@@ -433,13 +440,13 @@ function dimensoesGeo(){ | @@ -433,13 +440,13 @@ function dimensoesGeo(){ | ||
433 | 440 | ||
434 | $temp = converte($regiao["nome_tipo_regiao"]); | 441 | $temp = converte($regiao["nome_tipo_regiao"]); |
435 | $niveisXml1[] = " | 442 | $niveisXml1[] = " |
436 | - <Level name='".$temp."' column='codigo{$regiao["codigo_tipo_regiao"]}' nameColumn='nome".$regiao["codigo_tipo_regiao"]."' | ||
437 | - uniqueMembers='false' /> | ||
438 | - "; | 443 | + <Level name='".$temp."' column='codigo{$regiao["codigo_tipo_regiao"]}' nameColumn='nome".$regiao["codigo_tipo_regiao"]."' |
444 | + uniqueMembers='false' /> | ||
445 | + "; | ||
439 | $niveisXml2[] = " | 446 | $niveisXml2[] = " |
440 | - <Level name='".$temp." - GeoCod #".$regiao["codigo_tipo_regiao"]."' column='codigo{$regiao["codigo_tipo_regiao"]}' nameColumn='codigo".$regiao["codigo_tipo_regiao"]."' | ||
441 | - uniqueMembers='false' /> | ||
442 | - "; | 447 | + <Level name='".$temp." - GeoCod #".$regiao["codigo_tipo_regiao"]."' column='codigo{$regiao["codigo_tipo_regiao"]}' nameColumn='codigo".$regiao["codigo_tipo_regiao"]."' |
448 | + uniqueMembers='false' /> | ||
449 | + "; | ||
443 | //juncoes | 450 | //juncoes |
444 | while($caminho){ | 451 | while($caminho){ |
445 | $a = array_shift($caminho); | 452 | $a = array_shift($caminho); |
@@ -482,14 +489,14 @@ function dimensoesGeo(){ | @@ -482,14 +489,14 @@ function dimensoesGeo(){ | ||
482 | $sqlreg = " WHERE tabela{$regiao["codigo_tipo_regiao"]}.".$rs["sql"]; | 489 | $sqlreg = " WHERE tabela{$regiao["codigo_tipo_regiao"]}.".$rs["sql"]; |
483 | } | 490 | } |
484 | $xml1 .= " | 491 | $xml1 .= " |
485 | - <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' > | ||
486 | - <SQL dialect='generic' >".$dadosSelect["select"].$sqlreg."</SQL> | ||
487 | - </view> | 492 | + <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."' > |
493 | + <SQL dialect='generic' >".$dadosSelect["select"].$sqlreg."</SQL> | ||
494 | + </view> | ||
488 | "; | 495 | "; |
489 | $xml2 .= " | 496 | $xml2 .= " |
490 | - <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_GeoCod' > | ||
491 | - <SQL dialect='generic' >".$dadosSelect["select"].$sqlreg."</SQL> | ||
492 | - </view> | 497 | + <view alias='view_codigo_tipo_regiao_".$regiao["codigo_tipo_regiao"]."_GeoCod' > |
498 | + <SQL dialect='generic' >".$dadosSelect["select"].$sqlreg."</SQL> | ||
499 | + </view> | ||
493 | "; | 500 | "; |
494 | $niveisXml1 = array_reverse($niveisXml1); | 501 | $niveisXml1 = array_reverse($niveisXml1); |
495 | $niveisXml2 = array_reverse($niveisXml2); | 502 | $niveisXml2 = array_reverse($niveisXml2); |
@@ -553,7 +560,7 @@ function dimensoesOutras(){ | @@ -553,7 +560,7 @@ function dimensoesOutras(){ | ||
553 | return $xml3; | 560 | return $xml3; |
554 | } | 561 | } |
555 | function dimensoesTabelas(){ | 562 | function dimensoesTabelas(){ |
556 | - global $nivelDaDimensao,$dimRegioes, $filhosDaRegiao, $m, $VirtualCubeDimension, $VirtualCubeMeasure, $chavesRegiao, $medidas, $codigo_tipo_regiao, $VirtualCubeDimensionDaRegiao, $VirtualCubeMeasureDaRegiao; | 563 | + global $VirtualCubeDimensionDaMedida, $CubosPorMedida, $nivelDaDimensao, $dimRegioes, $filhosDaRegiao, $m, $VirtualCubeDimension, $VirtualCubeMeasure, $chavesRegiao, $medidas, $codigo_tipo_regiao, $VirtualCubeDimensionDaRegiao, $VirtualCubeMeasureDaRegiao; |
557 | 564 | ||
558 | $xml = ""; | 565 | $xml = ""; |
559 | $tbs = array(); | 566 | $tbs = array(); |
@@ -567,6 +574,8 @@ function dimensoesTabelas(){ | @@ -567,6 +574,8 @@ function dimensoesTabelas(){ | ||
567 | else{ | 574 | else{ |
568 | array_push($tbs[$k],$medida); | 575 | array_push($tbs[$k],$medida); |
569 | } | 576 | } |
577 | + $CubosPorMedida[$medida["nome_variavel"]] = array(); | ||
578 | + $VirtualCubeDimensionDaMedida[$medida["nome_variavel"]] = array(); | ||
570 | } | 579 | } |
571 | } | 580 | } |
572 | //monta os cubos para cada esquema.tabela diferente | 581 | //monta os cubos para cada esquema.tabela diferente |
@@ -581,13 +590,24 @@ function dimensoesTabelas(){ | @@ -581,13 +590,24 @@ function dimensoesTabelas(){ | ||
581 | "; | 590 | "; |
582 | 591 | ||
583 | array_push( | 592 | array_push( |
584 | - $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]], | ||
585 | - "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}' />" | ||
586 | - ); | 593 | + $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]], |
594 | + "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}' />" | ||
595 | + ); | ||
587 | array_push( | 596 | array_push( |
588 | - $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]], | ||
589 | - "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}_geocod' />" | ||
590 | - ); | 597 | + $VirtualCubeDimensionDaRegiao[$c["codigo_tipo_regiao"]], |
598 | + "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}_geocod' />" | ||
599 | + ); | ||
600 | + | ||
601 | + array_push( | ||
602 | + $VirtualCubeDimensionDaMedida[$c["nome_variavel"]], | ||
603 | + "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}' />" | ||
604 | + ); | ||
605 | + array_push( | ||
606 | + $VirtualCubeDimensionDaMedida[$c["nome_variavel"]], | ||
607 | + "<VirtualCubeDimension name='codigo_tipo_regiao_{$c["codigo_tipo_regiao"]}_geocod' />" | ||
608 | + ); | ||
609 | + | ||
610 | + | ||
591 | //verifica as dimensoes do tipo tempo | 611 | //verifica as dimensoes do tipo tempo |
592 | $dimEnsoes = array(); | 612 | $dimEnsoes = array(); |
593 | 613 | ||
@@ -629,6 +649,7 @@ function dimensoesTabelas(){ | @@ -629,6 +649,7 @@ function dimensoesTabelas(){ | ||
629 | //$dimEnsoes[] = '<DimensionUsage foreignKey="coduf" name="codigo_tipo_regiao_2" source="codigo_tipo_regiao_2"/>'; | 649 | //$dimEnsoes[] = '<DimensionUsage foreignKey="coduf" name="codigo_tipo_regiao_2" source="codigo_tipo_regiao_2"/>'; |
630 | 650 | ||
631 | $xml .= "<Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>"; | 651 | $xml .= "<Cube cache='false' name='Tabela: {$c["esquemadb"]}{$c["tabela"]}'>"; |
652 | + | ||
632 | $incluirChaves = array("tabelamedida{$c["id_medida_variavel"]}.*"); | 653 | $incluirChaves = array("tabelamedida{$c["id_medida_variavel"]}.*"); |
633 | //colunas quando o nome da coluna com os valores for vazia | 654 | //colunas quando o nome da coluna com os valores for vazia |
634 | foreach($tb as $mdd){ | 655 | foreach($tb as $mdd){ |
@@ -651,7 +672,7 @@ function dimensoesTabelas(){ | @@ -651,7 +672,7 @@ function dimensoesTabelas(){ | ||
651 | } | 672 | } |
652 | $r = $chavesRegiao[$c["codigo_tipo_regiao"]]; | 673 | $r = $chavesRegiao[$c["codigo_tipo_regiao"]]; |
653 | $sql = " | 674 | $sql = " |
654 | - select ".implode(",",$incluirChaves).", tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text as codigoreg | 675 | + select ".implode(",",$incluirChaves).", tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text as codigoreg |
655 | "; | 676 | "; |
656 | if(count($dimRegioes[$c["codigo_tipo_regiao"]]["colunas"]) > 0){ | 677 | if(count($dimRegioes[$c["codigo_tipo_regiao"]]["colunas"]) > 0){ |
657 | $sql .= ",".implode(",",$dimRegioes[$c["codigo_tipo_regiao"]]["colunas"]); | 678 | $sql .= ",".implode(",",$dimRegioes[$c["codigo_tipo_regiao"]]["colunas"]); |
@@ -659,38 +680,38 @@ function dimensoesTabelas(){ | @@ -659,38 +680,38 @@ function dimensoesTabelas(){ | ||
659 | } | 680 | } |
660 | 681 | ||
661 | $sql .= " | 682 | $sql .= " |
662 | - from {$c["esquemadb"]}.{$c["tabela"]} as tabelamedida{$c["id_medida_variavel"]} | ||
663 | - JOIN {$r["esquemadb"]}.{$r["tabela"]} as tabela{$r["codigo_tipo_regiao"]} | ||
664 | - ON tabela{$r["codigo_tipo_regiao"]}.{$r["identificador"]}::text = tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text | ||
665 | - "; | 683 | + from {$c["esquemadb"]}.{$c["tabela"]} as tabelamedida{$c["id_medida_variavel"]} |
684 | + JOIN {$r["esquemadb"]}.{$r["tabela"]} as tabela{$r["codigo_tipo_regiao"]} | ||
685 | + ON tabela{$r["codigo_tipo_regiao"]}.{$r["identificador"]}::text = tabelamedida{$c["id_medida_variavel"]}.{$c["colunaidgeo"]}::text | ||
686 | + "; | ||
666 | $sql .= $dimRegioes[$c["codigo_tipo_regiao"]]["juncoes"]; | 687 | $sql .= $dimRegioes[$c["codigo_tipo_regiao"]]["juncoes"]; |
667 | $f = array(); | 688 | $f = array(); |
668 | foreach($tb as $mdd){ | 689 | foreach($tb as $mdd){ |
669 | if($mdd["filtro"] != ""){ | 690 | if($mdd["filtro"] != ""){ |
670 | $f[] = str_replace('"',"'",$mdd["filtro"]); | 691 | $f[] = str_replace('"',"'",$mdd["filtro"]); |
671 | } | 692 | } |
672 | - } | 693 | + } |
673 | if(count($f) > 0){ | 694 | if(count($f) > 0){ |
674 | $sql .= " WHERE ".implode(" OR ",$f); | 695 | $sql .= " WHERE ".implode(" OR ",$f); |
675 | } | 696 | } |
676 | 697 | ||
677 | $xml .= " | 698 | $xml .= " |
678 | - <view alias='view_{$c["esquemadb"]}{$c["tabela"]}' ><SQL dialect='generic' >$sql</SQL></view> | 699 | + <view alias='view_{$c["esquemadb"]}{$c["tabela"]}' ><SQL dialect='generic' >$sql</SQL></view> |
679 | "; | 700 | "; |
680 | //dimensoes vinculadas | 701 | //dimensoes vinculadas |
681 | $temp = $dimRegioes[$c["codigo_tipo_regiao"]]["codRegioes"]; | 702 | $temp = $dimRegioes[$c["codigo_tipo_regiao"]]["codRegioes"]; |
682 | $temp[] = $c["codigo_tipo_regiao"]; | 703 | $temp[] = $c["codigo_tipo_regiao"]; |
683 | foreach($temp as $cod){ | 704 | foreach($temp as $cod){ |
684 | $xml .= " | 705 | $xml .= " |
685 | - <DimensionUsage foreignKey='codigo{$cod}' name='codigo_tipo_regiao_{$cod}' source='codigo_tipo_regiao_{$cod}'/> | ||
686 | - <DimensionUsage foreignKey='codigo{$cod}' name='codigo_tipo_regiao_{$cod}_geocod' source='codigo_tipo_regiao_{$cod}_geocod'/> | 706 | + <DimensionUsage foreignKey='codigo{$cod}' name='codigo_tipo_regiao_{$cod}' source='codigo_tipo_regiao_{$cod}'/> |
707 | + <DimensionUsage foreignKey='codigo{$cod}' name='codigo_tipo_regiao_{$cod}_geocod' source='codigo_tipo_regiao_{$cod}_geocod'/> | ||
687 | "; | 708 | "; |
688 | } | 709 | } |
689 | //inclui as dimensoes filhas | 710 | //inclui as dimensoes filhas |
690 | foreach($filhosDaRegiao[$c["codigo_tipo_regiao"]] as $fr){ | 711 | foreach($filhosDaRegiao[$c["codigo_tipo_regiao"]] as $fr){ |
691 | $xml .= " | 712 | $xml .= " |
692 | - <DimensionUsage foreignKey='codigoreg' name='codigo_tipo_regiao_".$fr."' source='codigo_tipo_regiao_".$fr."'/> | ||
693 | - <DimensionUsage foreignKey='codigoreg' name='codigo_tipo_regiao_".$fr."_geocod' source='codigo_tipo_regiao_".$fr."_geocod'/> | 713 | + <DimensionUsage foreignKey='codigoreg' name='codigo_tipo_regiao_".$fr."' source='codigo_tipo_regiao_".$fr."'/> |
714 | + <DimensionUsage foreignKey='codigoreg' name='codigo_tipo_regiao_".$fr."_geocod' source='codigo_tipo_regiao_".$fr."_geocod'/> | ||
694 | "; | 715 | "; |
695 | } | 716 | } |
696 | 717 | ||
@@ -719,6 +740,10 @@ function dimensoesTabelas(){ | @@ -719,6 +740,10 @@ function dimensoesTabelas(){ | ||
719 | "; | 740 | "; |
720 | $VirtualCubeMeasure[] = $u; | 741 | $VirtualCubeMeasure[] = $u; |
721 | array_push($VirtualCubeMeasureDaRegiao[$c["codigo_tipo_regiao"]],$u); | 742 | array_push($VirtualCubeMeasureDaRegiao[$c["codigo_tipo_regiao"]],$u); |
743 | + //verifica em qual variavel entra | ||
744 | + //<VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_12]'/> | ||
745 | + $u = "<VirtualCubeMeasure cubeName='Tabela: {$c["esquemadb"]}{$c["tabela"]}' name='[Measures].[id_medida_variavel_".$medida["id_medida_variavel"]."]'/>"; | ||
746 | + array_push($CubosPorMedida[$c["nome_variavel"]],$u); | ||
722 | } | 747 | } |
723 | $xml .= " | 748 | $xml .= " |
724 | </Cube> | 749 | </Cube> |
@@ -755,4 +780,19 @@ function cuboRegioes(){ | @@ -755,4 +780,19 @@ function cuboRegioes(){ | ||
755 | } | 780 | } |
756 | return $xml; | 781 | return $xml; |
757 | } | 782 | } |
783 | + | ||
784 | +function cuboVariaveis(){ | ||
785 | + global $CubosPorMedida, $VirtualCubeDimensionDaMedida; | ||
786 | + //var_dump($VirtualCubeDimensionDaMedida);exit; | ||
787 | + $xml = ""; | ||
788 | + $chaves = array_keys($CubosPorMedida); | ||
789 | + foreach ($chaves as $c){ | ||
790 | + $xml .= '<VirtualCube name="'.converte($c).'" >'; | ||
791 | + $xml .= '<VirtualCubeDimension name="Tempo" />'; | ||
792 | + $xml .= implode(" ",$VirtualCubeDimensionDaMedida[$c]); | ||
793 | + $xml .= implode(" ",$CubosPorMedida[$c]); | ||
794 | + $xml .= '</VirtualCube>'; | ||
795 | + } | ||
796 | + return $xml; | ||
797 | +} | ||
758 | ?> | 798 | ?> |
ferramentas/saiku/testemondrian.xml
1 | <Schema name='i3Geo Metaestat'> | 1 | <Schema name='i3Geo Metaestat'> |
2 | <Dimension name='Anual' type='TimeDimension' caption='Tempo: Anual'> | 2 | <Dimension name='Anual' type='TimeDimension' caption='Tempo: Anual'> |
3 | - <Hierarchy hasAll='true' primaryKey='nu_ano'> | ||
4 | - <view alias='tempo_ano'> | ||
5 | - <SQL dialect='generic'>select nu_ano from | ||
6 | - i3geo_metaestat.dim_tempo group | ||
7 | - by nu_ano order by nu_ano | ||
8 | - </SQL> | ||
9 | - </view> | ||
10 | - <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' | ||
11 | - levelType='TimeYears' /> | ||
12 | - </Hierarchy> | 3 | + <Hierarchy hasAll='true' primaryKey='nu_ano'> |
4 | + <view alias='tempo_ano' ><SQL dialect='generic' >select nu_ano from i3geo_metaestat.dim_tempo group by nu_ano order by nu_ano</SQL></view> | ||
5 | + <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' levelType='TimeYears'/> | ||
6 | + </Hierarchy> | ||
13 | </Dimension> | 7 | </Dimension> |
14 | <Dimension name='Mensal' type='TimeDimension' caption='Tempo: Mensal'> | 8 | <Dimension name='Mensal' type='TimeDimension' caption='Tempo: Mensal'> |
15 | - <Hierarchy hasAll='true' primaryKey='nu_anomes'> | ||
16 | - <view alias='tempo_ano'> | ||
17 | - <SQL dialect='generic'>select | ||
18 | - nu_ano::text,nu_mes::text,ds_mes_abreviado as | ||
19 | - mes,COALESCE | ||
20 | - (nu_ano::text||'-'||nu_mes::text,nu_ano::text) as | ||
21 | - nu_anomes from | ||
22 | - i3geo_metaestat.dim_tempo group by | ||
23 | - nu_ano,nu_mes,mes,nu_anomes | ||
24 | - order by nu_ano,nu_mes | ||
25 | - </SQL> | ||
26 | - </view> | ||
27 | - <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' | ||
28 | - levelType='TimeYears' /> | ||
29 | - <Level nameColumn='mes' name='Mes' column='nu_mes' type='Numeric' | ||
30 | - uniqueMembers='false' levelType='TimeMonths' /> | ||
31 | - </Hierarchy> | 9 | + <Hierarchy hasAll='true' primaryKey='nu_anomes'> |
10 | + <view alias='tempo_ano' ><SQL dialect='generic' >select nu_ano::text,nu_mes::text,ds_mes_abreviado as mes,COALESCE (nu_ano::text||'-'||nu_mes::text,nu_ano::text) as nu_anomes from i3geo_metaestat.dim_tempo group by nu_ano,nu_mes,mes,nu_anomes order by nu_ano,nu_mes</SQL></view> | ||
11 | + <Level name='Ano' column='nu_ano' type='Numeric' uniqueMembers='true' levelType='TimeYears'/> | ||
12 | + <Level nameColumn='mes' name='Mes' column='nu_mes' type='Numeric' uniqueMembers='false' levelType='TimeMonths'/> | ||
13 | + </Hierarchy> | ||
32 | </Dimension> | 14 | </Dimension> |
33 | <Dimension name='Tempo' type='TimeDimension' caption='Tempo'> | 15 | <Dimension name='Tempo' type='TimeDimension' caption='Tempo'> |
34 | - <Hierarchy hasAll='true' primaryKey='nu_anomes'> | ||
35 | - <view alias='tempo'> | ||
36 | - <SQL dialect='generic'>select | ||
37 | - nu_ano::text,nu_mes::text,ds_mes_abreviado as | ||
38 | - mes,COALESCE | ||
39 | - (nu_ano::text||'-'||nu_mes::text,nu_ano::text) as | ||
40 | - nu_anomes from | ||
41 | - i3geo_metaestat.dim_tempo group by | ||
42 | - nu_ano,nu_mes,mes,nu_anomes | ||
43 | - order by nu_ano,nu_mes | ||
44 | - </SQL> | 16 | + <Hierarchy hasAll='true' primaryKey='nu_anomes'> |
17 | + <view alias='tempo' ><SQL dialect='generic' >select nu_ano::text,nu_mes::text,ds_mes_abreviado as mes,COALESCE (nu_ano::text||'-'||nu_mes::text,nu_ano::text) as nu_anomes from i3geo_metaestat.dim_tempo group by nu_ano,nu_mes,mes,nu_anomes order by nu_ano,nu_mes</SQL></view> | ||
18 | + <Level name='Ano' column='nu_ano' type='String' uniqueMembers='true' levelType='TimeYears'/> | ||
19 | + <Level nameColumn='mes' name='Mes' column='nu_mes' type='String' uniqueMembers='false' levelType='TimeMonths'/> | ||
20 | + </Hierarchy> | ||
21 | + </Dimension> | ||
22 | + | ||
23 | + <Dimension name='codigo_tipo_regiao_1' caption='Onde:Bairro (IBGE)'> | ||
24 | + <Hierarchy hasAll='true' primaryKey='codigo1'> | ||
25 | + | ||
26 | + <view alias='view_codigo_tipo_regiao_1' > | ||
27 | + <SQL dialect='generic' >SELECT tabela1.co_bairro::text as codigo, tabela1.co_bairro::text AS codigo1,tabela1.no_bairro::text AS nome1,tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 FROM i3geo_metaestat.bairros as tabela1 | ||
28 | + JOIN i3geo_metaestat.municipios as tabela2 ON | ||
29 | + tabela2.co_municipio::text = tabela1.co_municipio::text | ||
30 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
31 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
32 | + </SQL> | ||
45 | </view> | 33 | </view> |
46 | - <Level name='Ano' column='nu_ano' type='String' uniqueMembers='true' | ||
47 | - levelType='TimeYears' /> | ||
48 | - <Level nameColumn='mes' name='Mes' column='nu_mes' type='String' | ||
49 | - uniqueMembers='false' levelType='TimeMonths' /> | 34 | + |
35 | + <Level name='Estado' column='codigo3' nameColumn='nome3' | ||
36 | + uniqueMembers='false' /> | ||
37 | + | ||
38 | + <Level name='Munic&iacute;pio' column='codigo2' nameColumn='nome2' | ||
39 | + uniqueMembers='false' /> | ||
40 | + | ||
41 | + <Level name='Bairro (IBGE)' column='codigo1' nameColumn='nome1' | ||
42 | + uniqueMembers='false' /> | ||
43 | + | ||
50 | </Hierarchy> | 44 | </Hierarchy> |
51 | - </Dimension> | ||
52 | - | ||
53 | - <Dimension name='codigo_tipo_regiao_1' caption='Onde:Bairro (IBGE)'> | ||
54 | - <Hierarchy hasAll='true' primaryKey='co_bairro'> | ||
55 | - | ||
56 | - <view alias='view_codigo_tipo_regiao_1'> | ||
57 | - <SQL dialect='generic'>SELECT regiao.co_bairro as codigo | ||
58 | - ,regiao.no_bairro | ||
59 | - AS nome,j0.no_cidade AS | ||
60 | - j0no_cidade,j0.co_municipio AS | ||
61 | - j0co_municipio,j1.no_uf AS | ||
62 | - j1no_uf,j1.co_uf AS | ||
63 | - j1co_uf,regiao.co_bairro as | ||
64 | - co_bairro,regiao.no_bairro as | ||
65 | - no_bairro,regiao.no_distr as | ||
66 | - no_distr,regiao.no_municip as | ||
67 | - no_municip FROM | ||
68 | - i3geo_metaestat.bairros AS regiao INNER JOIN | ||
69 | - i3geo_metaestat.municipios | ||
70 | - AS j0 ON j0.co_municipio::text = | ||
71 | - regiao.co_municipio::text | ||
72 | - INNER JOIN i3geo_metaestat.uf | ||
73 | - AS j1 ON | ||
74 | - j1.co_uf::text = j0.co_uf::text | ||
75 | - </SQL> | 45 | + </Dimension> |
46 | + | ||
47 | + <Dimension name='codigo_tipo_regiao_1_geocod' caption='GeoCod:Bairro (IBGE)'> | ||
48 | + <Hierarchy hasAll='true' primaryKey='codigo1'> | ||
49 | + | ||
50 | + <view alias='view_codigo_tipo_regiao_1_GeoCod' > | ||
51 | + <SQL dialect='generic' >SELECT tabela1.co_bairro::text as codigo, tabela1.co_bairro::text AS codigo1,tabela1.no_bairro::text AS nome1,tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 FROM i3geo_metaestat.bairros as tabela1 | ||
52 | + JOIN i3geo_metaestat.municipios as tabela2 ON | ||
53 | + tabela2.co_municipio::text = tabela1.co_municipio::text | ||
54 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
55 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
56 | + </SQL> | ||
76 | </view> | 57 | </view> |
77 | - | ||
78 | - <Level name='Estado' column='j1co_uf' nameColumn='j1no_uf' | 58 | + |
59 | + <Level name='Estado - GeoCod #3' column='codigo3' nameColumn='codigo3' | ||
60 | + uniqueMembers='false' /> | ||
61 | + | ||
62 | + <Level name='Munic&iacute;pio - GeoCod #2' column='codigo2' nameColumn='codigo2' | ||
63 | + uniqueMembers='false' /> | ||
64 | + | ||
65 | + <Level name='Bairro (IBGE) - GeoCod #1' column='codigo1' nameColumn='codigo1' | ||
79 | uniqueMembers='false' /> | 66 | uniqueMembers='false' /> |
80 | - | ||
81 | - <Level name='Munic&iacute;pio' column='j0co_municipio' | ||
82 | - nameColumn='j0no_cidade' uniqueMembers='false' /> | ||
83 | - | ||
84 | - <Level name='Bairro (IBGE)' column='codigo' nameColumn='nome' | ||
85 | - uniqueMembers='true'> | ||
86 | - </Level> | ||
87 | - | 67 | + |
88 | </Hierarchy> | 68 | </Hierarchy> |
89 | - </Dimension> | ||
90 | - | ||
91 | - <Dimension name='codigo_tipo_regiao_47' | ||
92 | - caption='Onde:Colegiado de gest&atilde;o em sa&uacute;de'> | ||
93 | - <Hierarchy hasAll='true' primaryKey='co_colegiado'> | ||
94 | - | ||
95 | - <view alias='view_codigo_tipo_regiao_47'> | ||
96 | - <SQL dialect='generic'>SELECT regiao.co_colegiado as codigo | ||
97 | - ,regiao.no_colegiado AS nome FROM i3geo_metaestat.colegiado_gestao | ||
98 | - AS regiao | ||
99 | - </SQL> | 69 | + </Dimension> |
70 | + | ||
71 | + <Dimension name='codigo_tipo_regiao_47' caption='Onde:Colegiado de gest&atilde;o em sa&uacute;de'> | ||
72 | + <Hierarchy hasAll='true' primaryKey='codigo47'> | ||
73 | + | ||
74 | + <view alias='view_codigo_tipo_regiao_47' > | ||
75 | + <SQL dialect='generic' >SELECT tabela47.co_colegiado::text as codigo, tabela47.co_colegiado::text AS codigo47,tabela47.no_colegiado::text AS nome47 FROM i3geo_metaestat.colegiado_gestao as tabela47 | ||
76 | +</SQL> | ||
100 | </view> | 77 | </view> |
101 | - | ||
102 | - <Level name='Colegiado de gest&atilde;o em sa&uacute;de' | ||
103 | - column='codigo' nameColumn='nome' uniqueMembers='true'> | ||
104 | - </Level> | ||
105 | - | 78 | + |
79 | + <Level name='Colegiado de gest&atilde;o em sa&uacute;de' column='codigo47' nameColumn='nome47' | ||
80 | + uniqueMembers='false' /> | ||
81 | + | ||
106 | </Hierarchy> | 82 | </Hierarchy> |
107 | - </Dimension> | ||
108 | - | ||
109 | - <Dimension name='codigo_tipo_regiao_3' caption='Onde:Estado'> | ||
110 | - <Hierarchy hasAll='true' primaryKey='codigo'> | ||
111 | - <view alias='view_codigo_tipo_regiao_3'> | ||
112 | - <SQL dialect='generic'> | ||
113 | - SELECT | ||
114 | - co_uf::text as codigo, | ||
115 | - co_uf::text as co_uf, | ||
116 | - no_uf::text | ||
117 | - FROM | ||
118 | - i3geo_metaestat.uf | ||
119 | - | ||
120 | - </SQL> | 83 | + </Dimension> |
84 | + | ||
85 | + <Dimension name='codigo_tipo_regiao_47_geocod' caption='GeoCod:Colegiado de gest&atilde;o em sa&uacute;de'> | ||
86 | + <Hierarchy hasAll='true' primaryKey='codigo47'> | ||
87 | + | ||
88 | + <view alias='view_codigo_tipo_regiao_47_GeoCod' > | ||
89 | + <SQL dialect='generic' >SELECT tabela47.co_colegiado::text as codigo, tabela47.co_colegiado::text AS codigo47,tabela47.no_colegiado::text AS nome47 FROM i3geo_metaestat.colegiado_gestao as tabela47 | ||
90 | +</SQL> | ||
121 | </view> | 91 | </view> |
122 | - <Level name='Estado' column='co_uf' nameColumn='no_uf' | ||
123 | - uniqueMembers='true' /> | 92 | + |
93 | + <Level name='Colegiado de gest&atilde;o em sa&uacute;de - GeoCod #47' column='codigo47' nameColumn='codigo47' | ||
94 | + uniqueMembers='false' /> | ||
95 | + | ||
124 | </Hierarchy> | 96 | </Hierarchy> |
125 | - | ||
126 | - </Dimension> | ||
127 | - /////////////////////////////////////////////////////////////////////////// | ||
128 | - <Dimension name='codigo_tipo_regiao_2' caption='Onde:Munic&iacute;pio'> | ||
129 | - <Hierarchy hasAll='true' primaryKey='codigo'> | ||
130 | - <view alias='view_codigo_tipo_regiao_2'> | ||
131 | - <SQL dialect='generic'> | ||
132 | - SELECT a0.co_municipio::text as codigo ,a0.co_municipio::text AS co_municipio , | ||
133 | - a0.no_cidade::text AS no_cidade ,b0.co_uf::text AS co_uf ,b0.no_uf::text AS no_uf | ||
134 | - FROM i3geo_metaestat.municipios as a0 JOIN i3geo_metaestat.uf as b0 ON | ||
135 | -a0.co_uf::text = b0.co_uf::text | ||
136 | -UNION | ||
137 | -SELECT a1.co_uf::text as codigo ,'','',a1.co_uf::text AS co_uf ,a1.no_uf::text AS no_uf FROM i3geo_metaestat.uf as a1 | ||
138 | - </SQL> | 97 | + </Dimension> |
98 | + | ||
99 | + <Dimension name='codigo_tipo_regiao_3' caption='Onde:Estado'> | ||
100 | + <Hierarchy hasAll='true' primaryKey='codigo3'> | ||
101 | + | ||
102 | + <view alias='view_codigo_tipo_regiao_3' > | ||
103 | + <SQL dialect='generic' >SELECT tabela3.co_uf::text as codigo, tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 FROM i3geo_metaestat.uf as tabela3 | ||
104 | +</SQL> | ||
139 | </view> | 105 | </view> |
140 | - <Level name='Estado' column='no_uf' nameColumn='no_uf' | ||
141 | - uniqueMembers='true' /> | ||
142 | - <Level name='Munic&iacute;pio' column='no_cidade' | ||
143 | - nameColumn='no_cidade' uniqueMembers='true' /> | 106 | + |
107 | + <Level name='Estado' column='codigo3' nameColumn='nome3' | ||
108 | + uniqueMembers='false' /> | ||
109 | + | ||
144 | </Hierarchy> | 110 | </Hierarchy> |
145 | - </Dimension> | ||
146 | - | ||
147 | - <Dimension name='codigo_tipo_regiao_1_geocod' caption='GeoCod:Bairro (IBGE)'> | ||
148 | - <Hierarchy hasAll='true' primaryKey='co_bairro'> | ||
149 | - | ||
150 | - <view alias='view_codigo_tipo_regiao_1_GeoCod'> | ||
151 | - <SQL dialect='generic'>SELECT regiao.co_bairro as codigo | ||
152 | - ,regiao.no_bairro | ||
153 | - AS nome,j0.no_cidade AS | ||
154 | - j0no_cidade,j0.co_municipio AS | ||
155 | - j0co_municipio,j1.no_uf AS | ||
156 | - j1no_uf,j1.co_uf AS | ||
157 | - j1co_uf,regiao.co_bairro as | ||
158 | - co_bairro,regiao.no_bairro as | ||
159 | - no_bairro,regiao.no_distr as | ||
160 | - no_distr,regiao.no_municip as | ||
161 | - no_municip FROM | ||
162 | - i3geo_metaestat.bairros AS regiao INNER JOIN | ||
163 | - i3geo_metaestat.municipios | ||
164 | - AS j0 ON j0.co_municipio::text = | ||
165 | - regiao.co_municipio::text | ||
166 | - INNER JOIN i3geo_metaestat.uf | ||
167 | - AS j1 ON | ||
168 | - j1.co_uf::text = j0.co_uf::text | ||
169 | - </SQL> | 111 | + </Dimension> |
112 | + | ||
113 | + <Dimension name='codigo_tipo_regiao_3_geocod' caption='GeoCod:Estado'> | ||
114 | + <Hierarchy hasAll='true' primaryKey='codigo3'> | ||
115 | + | ||
116 | + <view alias='view_codigo_tipo_regiao_3_GeoCod' > | ||
117 | + <SQL dialect='generic' >SELECT tabela3.co_uf::text as codigo, tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 FROM i3geo_metaestat.uf as tabela3 | ||
118 | +</SQL> | ||
170 | </view> | 119 | </view> |
171 | - | ||
172 | - <Level name='Munic&iacute;pio - GeoCod #2' column='j0co_municipio' | ||
173 | - nameColumn='j0co_municipio' uniqueMembers='false' /> | ||
174 | - | ||
175 | - <Level name='Estado - GeoCod #3' column='j1co_uf' nameColumn='j1co_uf' | 120 | + |
121 | + <Level name='Estado - GeoCod #3' column='codigo3' nameColumn='codigo3' | ||
176 | uniqueMembers='false' /> | 122 | uniqueMembers='false' /> |
177 | - | ||
178 | - <Level name='Bairro (IBGE) - GeoCod #1' column='codigo' | ||
179 | - nameColumn='codigo' uniqueMembers='true' /> | ||
180 | - | ||
181 | - </Hierarchy> | ||
182 | - </Dimension> | ||
183 | - | ||
184 | - <Dimension name='codigo_tipo_regiao_47_geocod' | ||
185 | - caption='GeoCod:Colegiado de gest&atilde;o em sa&uacute;de'> | ||
186 | - <Hierarchy hasAll='true' primaryKey='co_colegiado'> | ||
187 | - | ||
188 | - <view alias='view_codigo_tipo_regiao_47_GeoCod'> | ||
189 | - <SQL dialect='generic'>SELECT regiao.co_colegiado as codigo | ||
190 | - ,regiao.no_colegiado AS nome FROM i3geo_metaestat.colegiado_gestao | ||
191 | - AS regiao | ||
192 | - </SQL> | ||
193 | - </view> | ||
194 | - | ||
195 | - <Level | ||
196 | - name='Colegiado de gest&atilde;o em sa&uacute;de - GeoCod #47' | ||
197 | - column='codigo' nameColumn='codigo' uniqueMembers='true' /> | ||
198 | - | 123 | + |
199 | </Hierarchy> | 124 | </Hierarchy> |
200 | - </Dimension> | ||
201 | - | ||
202 | - <Dimension name='codigo_tipo_regiao_3_geocod' caption='GeoCod:Estado'> | ||
203 | - <Hierarchy hasAll='true' primaryKey='co_uf'> | ||
204 | - | ||
205 | - <view alias='view_codigo_tipo_regiao_3_GeoCod'> | ||
206 | - <SQL dialect='generic'>SELECT regiao.co_uf as codigo | ||
207 | - ,regiao.no_uf AS | ||
208 | - nome,regiao.co_uf as co_uf,regiao.sg_uf as | ||
209 | - sg_uf,regiao.no_uf as | ||
210 | - no_uf,regiao.no_regiao as no_regiao FROM | ||
211 | - i3geo_metaestat.uf AS | ||
212 | - regiao | ||
213 | - </SQL> | 125 | + </Dimension> |
126 | + | ||
127 | + <Dimension name='codigo_tipo_regiao_2' caption='Onde:Munic&iacute;pio'> | ||
128 | + <Hierarchy hasAll='true' primaryKey='codigo2'> | ||
129 | + | ||
130 | + <view alias='view_codigo_tipo_regiao_2' > | ||
131 | + <SQL dialect='generic' >SELECT tabela2.co_municipio::text as codigo, tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 FROM i3geo_metaestat.municipios as tabela2 | ||
132 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
133 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
134 | + </SQL> | ||
214 | </view> | 135 | </view> |
215 | - | ||
216 | - <Level name='Estado - GeoCod #3' column='codigo' nameColumn='codigo' | ||
217 | - uniqueMembers='true' /> | ||
218 | - | 136 | + |
137 | + <Level name='Estado' column='codigo3' nameColumn='nome3' | ||
138 | + uniqueMembers='false' /> | ||
139 | + | ||
140 | + <Level name='Munic&iacute;pio' column='codigo2' nameColumn='nome2' | ||
141 | + uniqueMembers='false' /> | ||
142 | + | ||
219 | </Hierarchy> | 143 | </Hierarchy> |
220 | - </Dimension> | ||
221 | - | ||
222 | - <Dimension name='codigo_tipo_regiao_2_geocod' caption='GeoCod:Munic&iacute;pio'> | ||
223 | - <Hierarchy hasAll='true' primaryKey='co_municipio'> | ||
224 | - | ||
225 | - <view alias='view_codigo_tipo_regiao_2_GeoCod'> | ||
226 | - <SQL dialect='generic'>SELECT regiao.co_municipio as codigo | ||
227 | - ,regiao.no_cidade AS nome,j0.no_uf AS j0no_uf,j0.co_uf AS | ||
228 | - j0co_uf,regiao.co_municipio as co_municipio,regiao.no_cidade as | ||
229 | - no_cidade,regiao.co_uf as co_uf,regiao.sg_uf as | ||
230 | - sg_uf,regiao.area_territorial as | ||
231 | - area_territorial,regiao.nu_ano_instalacao as nu_ano_instalacao FROM | ||
232 | - i3geo_metaestat.municipios AS regiao INNER JOIN i3geo_metaestat.uf | ||
233 | - AS j0 ON j0.co_uf::text = regiao.co_uf::text | ||
234 | - </SQL> | 144 | + </Dimension> |
145 | + | ||
146 | + <Dimension name='codigo_tipo_regiao_2_geocod' caption='GeoCod:Munic&iacute;pio'> | ||
147 | + <Hierarchy hasAll='true' primaryKey='codigo2'> | ||
148 | + | ||
149 | + <view alias='view_codigo_tipo_regiao_2_GeoCod' > | ||
150 | + <SQL dialect='generic' >SELECT tabela2.co_municipio::text as codigo, tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 FROM i3geo_metaestat.municipios as tabela2 | ||
151 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
152 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
153 | + </SQL> | ||
235 | </view> | 154 | </view> |
236 | - | ||
237 | - <Level name='Estado - GeoCod #3' column='j0co_uf' nameColumn='j0co_uf' | 155 | + |
156 | + <Level name='Estado - GeoCod #3' column='codigo3' nameColumn='codigo3' | ||
157 | + uniqueMembers='false' /> | ||
158 | + | ||
159 | + <Level name='Munic&iacute;pio - GeoCod #2' column='codigo2' nameColumn='codigo2' | ||
238 | uniqueMembers='false' /> | 160 | uniqueMembers='false' /> |
239 | - | ||
240 | - <Level name='Munic&iacute;pio - GeoCod #2' column='codigo' | ||
241 | - nameColumn='codigo' uniqueMembers='true' /> | ||
242 | - | ||
243 | - </Hierarchy> | ||
244 | - </Dimension> | ||
245 | - | ||
246 | - <Dimension name='public_sfb_teste_descncm' caption='NCM'> | ||
247 | - <Hierarchy hasAll='true' primaryKey='codigo'> | ||
248 | - <view alias='public_sfb_teste_descncm'> | ||
249 | - <SQL dialect='generic'>SELECT dim.descncm as codigo, dim.descncm | ||
250 | - AS nome | ||
251 | - FROM public.sfb_teste as dim group by codigo | ||
252 | - </SQL> | ||
253 | - </view> | ||
254 | - <Level name='NCM' column='codigo' nameColumn='nome' | ||
255 | - uniqueMembers='true' /> | 161 | + |
256 | </Hierarchy> | 162 | </Hierarchy> |
257 | - </Dimension> | ||
258 | - <Cube cache='false' name='Tabela: idsustb_indicador'> | ||
259 | - <view alias='view_idsustb_indicador'> | ||
260 | - <SQL dialect='generic'> | ||
261 | - select tb_indicador.*,ibge::text as codigodim,uf.co_uf::text as co_uf, ano::text as ano_ from | ||
262 | - idsus.tb_indicador | ||
263 | - JOIN i3geo_metaestat.municipios as municipio ON ibge::text = co_municipio::text | ||
264 | - JOIN i3geo_metaestat.uf as uf ON municipio.co_uf::text = uf.co_uf::text | ||
265 | - </SQL> | ||
266 | - </view> | ||
267 | - <DimensionUsage foreignKey='codigodim' name='codigo_tipo_regiao_2' | ||
268 | - source='codigo_tipo_regiao_2' /> | ||
269 | - <DimensionUsage foreignKey='codigodim' | ||
270 | - name='codigo_tipo_regiao_2_geocod' source='codigo_tipo_regiao_2_geocod' /> | ||
271 | - | ||
272 | - <DimensionUsage foreignKey='co_uf' | ||
273 | - name='codigo_tipo_regiao_3' source='codigo_tipo_regiao_3' /> | ||
274 | - | ||
275 | - <DimensionUsage foreignKey='ano_' name='Tempo' source='Tempo' /> | ||
276 | - | ||
277 | - <Measure name='id_medida_variavel_12' caption='IDSUS municipal' | ||
278 | - column='idsus_mun' aggregator='avg' /> | ||
279 | - | ||
280 | - <Measure name='id_medida_variavel_15' | ||
281 | - caption='&Iacute;ndice da aten&ccedil;&atilde;o b&aacute;sica' | ||
282 | - column='idatb' aggregator='avg' /> | ||
283 | - | ||
284 | - <Measure name='id_medida_variavel_16' | ||
285 | - caption='&Iacute;ndice de m&eacute;dia e alta complexidade' | ||
286 | - column='idmac' aggregator='avg' /> | ||
287 | - | ||
288 | - <Measure name='id_medida_variavel_17' caption='&Iacute;ndice de acesso do SUS' | ||
289 | - column='id_acesso_sus' aggregator='avg' /> | ||
290 | - | ||
291 | - <Measure name='id_medida_variavel_18' | ||
292 | - caption='&Iacute;ndice de acesso da aten&ccedil;&atilde;o b&aacute;sica' | ||
293 | - column='atbas_acess' aggregator='avg' /> | ||
294 | - | ||
295 | - <Measure name='id_medida_variavel_19' | ||
296 | - caption='&Iacute;ndice de acesso da m&eacute;dia complexidade ambulatorial e hospitalar' | ||
297 | - column='acess_ah_medc' aggregator='avg' /> | ||
298 | - | ||
299 | - <Measure name='id_medida_variavel_20' | ||
300 | - caption='&Iacute;ndice de acesso da alta complexidade, urg&ecirc;ncia e emerg&ecirc;ncia' | ||
301 | - column='acess_ah_altc' aggregator='avg' /> | ||
302 | - | ||
303 | - <Measure name='id_medida_variavel_21' caption='&Iacute;ndice de efetividade do SUS' | ||
304 | - column='id_quali_sus' aggregator='avg' /> | ||
305 | - | ||
306 | - <Measure name='id_medida_variavel_22' | ||
307 | - caption='&Iacute;ndice de efetividade da aten&ccedil;&atilde;o b&aacute;sica' | ||
308 | - column='atbas_quali' aggregator='avg' /> | ||
309 | - | ||
310 | - <Measure name='id_medida_variavel_23' | ||
311 | - caption='&Iacute;ndice de efetividade ambiental e hospitalar da m&eacute;dia e alta complexidade' | ||
312 | - column='quali_ah_mac' aggregator='avg' /> | ||
313 | - | ||
314 | - </Cube> | ||
315 | - | ||
316 | - <Cube cache='false' name='Tabela: ibgepopulacao_residente'> | ||
317 | - <view alias='view_ibgepopulacao_residente'> | ||
318 | - <SQL dialect='generic'> | ||
319 | - select a.*,a.co_municipio::text as codigo,uf.co_uf::text as co_uf, ano::text as ano_ | ||
320 | - from | ||
321 | - ibge.populacao_residente as a | ||
322 | - JOIN i3geo_metaestat.municipios AS municipio ON municipio.co_municipio::text = a.co_municipio::text | ||
323 | - JOIN i3geo_metaestat.uf as uf ON municipio.co_uf::text = uf.co_uf::text | ||
324 | - </SQL> | ||
325 | - </view> | ||
326 | - <DimensionUsage foreignKey='codigo' name='codigo_tipo_regiao_2' | ||
327 | - source='codigo_tipo_regiao_2' /> | ||
328 | - <DimensionUsage foreignKey='codigo' | ||
329 | - name='codigo_tipo_regiao_2_geocod' source='codigo_tipo_regiao_2_geocod' /> | ||
330 | - | ||
331 | - <DimensionUsage foreignKey='co_uf' | ||
332 | - name='codigo_tipo_regiao_3' source='codigo_tipo_regiao_3' /> | ||
333 | - | ||
334 | - <DimensionUsage foreignKey='ano_' name='Tempo' source='Tempo' /> | ||
335 | - | ||
336 | - <Measure name='id_medida_variavel_25' caption='Popula&ccedil;&atilde;o total' | ||
337 | - column='pop_res_tot' aggregator='sum' /> | ||
338 | - | ||
339 | - </Cube> | ||
340 | - | ||
341 | - <Cube cache='false' name='Tabela: dbacoes_saudetb_farmacia_pop'> | ||
342 | - <view alias='view_dbacoes_saudetb_farmacia_pop'> | ||
343 | - <SQL dialect='generic'>select *,ano_farm||'-'||mes_farm_pop::text | ||
344 | - as | ||
345 | - ano_farm_mes_farm_pop_ from dbacoes_saude.tb_farmacia_pop | ||
346 | - </SQL> | ||
347 | - </view> | ||
348 | - <DimensionUsage foreignKey='co_ibge' name='codigo_tipo_regiao_2' | ||
349 | - source='codigo_tipo_regiao_2' /> | ||
350 | - | ||
351 | - <DimensionUsage foreignKey='co_ibge' | ||
352 | - name='codigo_tipo_regiao_2_geocod' source='codigo_tipo_regiao_2_geocod' /> | ||
353 | - | ||
354 | - <DimensionUsage foreignKey='ano_farm_mes_farm_pop_' | ||
355 | - name='Tempo' source='Tempo' /> | ||
356 | - | ||
357 | - <Measure name='id_medida_variavel_40' caption='Farm&aacute;cias populares existentes' | ||
358 | - column='nu_farm_funcionando' aggregator='sum' /> | ||
359 | - | ||
360 | - </Cube> | ||
361 | - | ||
362 | - <Cube cache='false' name='Tabela: publicsfb_teste'> | ||
363 | - <view alias='view_publicsfb_teste'> | ||
364 | - <SQL dialect='generic'>select *,coduf::text as codigo,ano::text as ano_ from | ||
365 | - public.sfb_teste | ||
366 | - </SQL> | ||
367 | - </view> | ||
368 | - | ||
369 | - <DimensionUsage foreignKey='codigo' | ||
370 | - name='codigo_tipo_regiao_3' source='codigo_tipo_regiao_3' /> | ||
371 | - | ||
372 | - <DimensionUsage foreignKey='codigo' | ||
373 | - name='codigo_tipo_regiao_2' source='codigo_tipo_regiao_2' /> | ||
374 | - | ||
375 | - | ||
376 | - <DimensionUsage foreignKey='ano_' name='Tempo' source='Tempo' /> | ||
377 | - <DimensionUsage foreignKey='descncm' name='nome' | ||
378 | - source='public_sfb_teste_descncm' /> | ||
379 | - | ||
380 | - <Measure name='id_medida_variavel_42' caption='Kg liq P1' | ||
381 | - column='kgliqp1' aggregator='sum' /> | ||
382 | - | ||
383 | - <Measure name='id_medida_variavel_43' caption='Mil d&oacute;lares' | ||
384 | - column='us1000' aggregator='sum' /> | ||
385 | - | ||
386 | - </Cube> | ||
387 | - | ||
388 | - <VirtualCube name="Regi&atilde;o: Estado"> | ||
389 | - | ||
390 | - <VirtualCubeDimension name='codigo_tipo_regiao_3' /> | ||
391 | - | ||
392 | - <VirtualCubeDimension name='codigo_tipo_regiao_3_geocod' /> | ||
393 | - | ||
394 | - <VirtualCubeDimension name='Tempo' /> | ||
395 | - | ||
396 | - <VirtualCubeDimension name='public_sfb_teste_descncm' /> | ||
397 | - | ||
398 | - <VirtualCubeMeasure cubeName='Tabela: publicsfb_teste' | ||
399 | - name='[Measures].[id_medida_variavel_42]' /> | ||
400 | - | ||
401 | - <VirtualCubeMeasure cubeName='Tabela: publicsfb_teste' | ||
402 | - name='[Measures].[id_medida_variavel_43]' /> | ||
403 | - | ||
404 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
405 | - name='[Measures].[id_medida_variavel_12]' /> | ||
406 | - | ||
407 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
408 | - name='[Measures].[id_medida_variavel_15]' /> | ||
409 | - | ||
410 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
411 | - name='[Measures].[id_medida_variavel_16]' /> | ||
412 | - | ||
413 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
414 | - name='[Measures].[id_medida_variavel_17]' /> | ||
415 | - | ||
416 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
417 | - name='[Measures].[id_medida_variavel_18]' /> | ||
418 | - | ||
419 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
420 | - name='[Measures].[id_medida_variavel_19]' /> | ||
421 | - | ||
422 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
423 | - name='[Measures].[id_medida_variavel_20]' /> | ||
424 | - | ||
425 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
426 | - name='[Measures].[id_medida_variavel_21]' /> | ||
427 | - | ||
428 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
429 | - name='[Measures].[id_medida_variavel_22]' /> | ||
430 | - | ||
431 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
432 | - name='[Measures].[id_medida_variavel_23]' /> | ||
433 | - | ||
434 | - <VirtualCubeMeasure cubeName='Tabela: ibgepopulacao_residente' | ||
435 | - name='[Measures].[id_medida_variavel_25]' /> | ||
436 | - | ||
437 | - <VirtualCubeMeasure cubeName='Tabela: dbacoes_saudetb_farmacia_pop' | ||
438 | - name='[Measures].[id_medida_variavel_40]' /> | ||
439 | - </VirtualCube> | ||
440 | - | ||
441 | - <VirtualCube name="Regi&atilde;o: Munic&iacute;pio"> | 163 | + </Dimension> |
164 | + <Cube cache='false' name='Tabela: idsustb_indicador'> | ||
165 | + <view alias='view_idsustb_indicador' ><SQL dialect='generic' > | ||
166 | + select tabelamedida12.*,ano::text as ano_, tabelamedida12.ibge::text as codigoreg | ||
167 | + ,tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 | ||
168 | + from idsus.tb_indicador as tabelamedida12 | ||
169 | + JOIN i3geo_metaestat.municipios as tabela2 | ||
170 | + ON tabela2.co_municipio::text = tabelamedida12.ibge::text | ||
171 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
172 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
173 | + </SQL></view> | ||
174 | + | ||
175 | + <DimensionUsage foreignKey='codigo3' name='codigo_tipo_regiao_3' source='codigo_tipo_regiao_3'/> | ||
176 | + <DimensionUsage foreignKey='codigo3' name='codigo_tipo_regiao_3_geocod' source='codigo_tipo_regiao_3_geocod'/> | ||
177 | + | ||
178 | + <DimensionUsage foreignKey='codigo2' name='codigo_tipo_regiao_2' source='codigo_tipo_regiao_2'/> | ||
179 | + <DimensionUsage foreignKey='codigo2' name='codigo_tipo_regiao_2_geocod' source='codigo_tipo_regiao_2_geocod'/> | ||
180 | + | ||
181 | + <DimensionUsage foreignKey='ano_' name='Tempo' source='Tempo'/> | ||
182 | + | ||
183 | + <Measure name='id_medida_variavel_12' caption='1 - IDSUS municipal' column='idsus_mun' aggregator='avg' /> | ||
184 | + | ||
185 | + <Measure name='id_medida_variavel_16' caption='2 - &Iacute;ndice de m&eacute;dia e alta complexidade' column='idmac' aggregator='avg' /> | ||
186 | + | ||
187 | + <Measure name='id_medida_variavel_15' caption='3 - &Iacute;ndice da aten&ccedil;&atilde;o b&aacute;sica' column='idatb' aggregator='avg' /> | ||
188 | + | ||
189 | + <Measure name='id_medida_variavel_20' caption='&Iacute;ndice de acesso da alta complexidade, urg&ecirc;ncia e emerg&ecirc;ncia' column='acess_ah_altc' aggregator='avg' /> | ||
190 | + | ||
191 | + <Measure name='id_medida_variavel_18' caption='&Iacute;ndice de acesso da aten&ccedil;&atilde;o b&aacute;sica' column='atbas_acess' aggregator='avg' /> | ||
192 | + | ||
193 | + <Measure name='id_medida_variavel_19' caption='&Iacute;ndice de acesso da m&eacute;dia complexidade ambulatorial e hospitalar' column='acess_ah_medc' aggregator='avg' /> | ||
194 | + | ||
195 | + <Measure name='id_medida_variavel_17' caption='&Iacute;ndice de acesso do SUS' column='id_acesso_sus' aggregator='avg' /> | ||
196 | + | ||
197 | + <Measure name='id_medida_variavel_23' caption='&Iacute;ndice de efetividade ambiental e hospitalar da m&eacute;dia e alta complexidade' column='quali_ah_mac' aggregator='avg' /> | ||
198 | + | ||
199 | + <Measure name='id_medida_variavel_22' caption='&Iacute;ndice de efetividade da aten&ccedil;&atilde;o b&aacute;sica' column='atbas_quali' aggregator='avg' /> | ||
200 | + | ||
201 | + <Measure name='id_medida_variavel_21' caption='&Iacute;ndice de efetividade do SUS' column='id_quali_sus' aggregator='avg' /> | ||
202 | + | ||
203 | + </Cube> | ||
204 | + <Cube cache='false' name='Tabela: dbacoes_saudetb_farmacia_pop'> | ||
205 | + <view alias='view_dbacoes_saudetb_farmacia_pop' ><SQL dialect='generic' > | ||
206 | + select tabelamedida40.*,'1'::numeric as contagem40,ano_farm||'-'||mes_farm_pop::text as ano_farm_mes_farm_pop_, tabelamedida40.co_ibge::text as codigoreg | ||
207 | + ,tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 | ||
208 | + from dbacoes_saude.tb_farmacia_pop as tabelamedida40 | ||
209 | + JOIN i3geo_metaestat.municipios as tabela2 | ||
210 | + ON tabela2.co_municipio::text = tabelamedida40.co_ibge::text | ||
211 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
212 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
213 | + </SQL></view> | ||
214 | + | ||
215 | + <DimensionUsage foreignKey='codigo3' name='codigo_tipo_regiao_3' source='codigo_tipo_regiao_3'/> | ||
216 | + <DimensionUsage foreignKey='codigo3' name='codigo_tipo_regiao_3_geocod' source='codigo_tipo_regiao_3_geocod'/> | ||
217 | + | ||
218 | + <DimensionUsage foreignKey='codigo2' name='codigo_tipo_regiao_2' source='codigo_tipo_regiao_2'/> | ||
219 | + <DimensionUsage foreignKey='codigo2' name='codigo_tipo_regiao_2_geocod' source='codigo_tipo_regiao_2_geocod'/> | ||
220 | + | ||
221 | + <DimensionUsage foreignKey='ano_farm_mes_farm_pop_' name='Tempo' source='Tempo'/> | ||
222 | + | ||
223 | + <Measure name='id_medida_variavel_40' caption='Farm&aacute;cias populares existentes' column='contagem40' aggregator='sum' /> | ||
224 | + | ||
225 | + </Cube> | ||
226 | + <Cube cache='false' name='Tabela: ibgepopulacao_residente'> | ||
227 | + <view alias='view_ibgepopulacao_residente' ><SQL dialect='generic' > | ||
228 | + select tabelamedida25.*,ano::text as ano_, tabelamedida25.munic::text as codigoreg | ||
229 | + ,tabela2.co_municipio::text AS codigo2,tabela2.no_cidade::text AS nome2,tabela3.co_uf::text AS codigo3,tabela3.no_uf::text AS nome3 | ||
230 | + from ibge.populacao_residente as tabelamedida25 | ||
231 | + JOIN i3geo_metaestat.municipios as tabela2 | ||
232 | + ON tabela2.co_municipio::text = tabelamedida25.munic::text | ||
233 | + JOIN i3geo_metaestat.uf as tabela3 ON | ||
234 | + tabela3.co_uf::text = tabela2.co_uf::text | ||
235 | + </SQL></view> | ||
236 | + | ||
237 | + <DimensionUsage foreignKey='codigo3' name='codigo_tipo_regiao_3' source='codigo_tipo_regiao_3'/> | ||
238 | + <DimensionUsage foreignKey='codigo3' name='codigo_tipo_regiao_3_geocod' source='codigo_tipo_regiao_3_geocod'/> | ||
239 | + | ||
240 | + <DimensionUsage foreignKey='codigo2' name='codigo_tipo_regiao_2' source='codigo_tipo_regiao_2'/> | ||
241 | + <DimensionUsage foreignKey='codigo2' name='codigo_tipo_regiao_2_geocod' source='codigo_tipo_regiao_2_geocod'/> | ||
242 | + | ||
243 | + <DimensionUsage foreignKey='ano_' name='Tempo' source='Tempo'/> | ||
244 | + | ||
245 | + <Measure name='id_medida_variavel_25' caption='Popula&ccedil;&atilde;o total' column='pop_res_tot' aggregator='sum' /> | ||
246 | + | ||
247 | + </Cube> | ||
248 | + <VirtualCube name="Regi&atilde;o: Munic&iacute;pio" ><VirtualCubeDimension name='codigo_tipo_regiao_2' /> <VirtualCubeDimension name='codigo_tipo_regiao_2_geocod' /> <VirtualCubeDimension name='Tempo' /> | ||
249 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_12]'/> | ||
250 | + | ||
251 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_16]'/> | ||
252 | + | ||
253 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_15]'/> | ||
254 | + | ||
255 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_20]'/> | ||
256 | + | ||
257 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_18]'/> | ||
258 | + | ||
259 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_19]'/> | ||
260 | + | ||
261 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_17]'/> | ||
262 | + | ||
263 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_23]'/> | ||
264 | + | ||
265 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_22]'/> | ||
266 | + | ||
267 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_21]'/> | ||
268 | + | ||
269 | + <VirtualCubeMeasure cubeName='Tabela: dbacoes_saudetb_farmacia_pop' name='[Measures].[id_medida_variavel_40]'/> | ||
270 | + | ||
271 | + <VirtualCubeMeasure cubeName='Tabela: ibgepopulacao_residente' name='[Measures].[id_medida_variavel_25]'/> | ||
272 | + </VirtualCube><VirtualCube name="Todas as medidas" > | ||
442 | <VirtualCubeDimension name='codigo_tipo_regiao_2' /> | 273 | <VirtualCubeDimension name='codigo_tipo_regiao_2' /> |
274 | + | ||
443 | <VirtualCubeDimension name='codigo_tipo_regiao_2_geocod' /> | 275 | <VirtualCubeDimension name='codigo_tipo_regiao_2_geocod' /> |
444 | - <VirtualCubeDimension name='Tempo' /> | ||
445 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
446 | - name='[Measures].[id_medida_variavel_12]' /> | ||
447 | - | ||
448 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
449 | - name='[Measures].[id_medida_variavel_15]' /> | ||
450 | - | ||
451 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
452 | - name='[Measures].[id_medida_variavel_16]' /> | ||
453 | - | ||
454 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
455 | - name='[Measures].[id_medida_variavel_17]' /> | ||
456 | - | ||
457 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
458 | - name='[Measures].[id_medida_variavel_18]' /> | ||
459 | - | ||
460 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
461 | - name='[Measures].[id_medida_variavel_19]' /> | ||
462 | - | ||
463 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
464 | - name='[Measures].[id_medida_variavel_20]' /> | ||
465 | - | ||
466 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
467 | - name='[Measures].[id_medida_variavel_21]' /> | ||
468 | - | ||
469 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
470 | - name='[Measures].[id_medida_variavel_22]' /> | ||
471 | - | ||
472 | - <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' | ||
473 | - name='[Measures].[id_medida_variavel_23]' /> | ||
474 | - | ||
475 | - <VirtualCubeMeasure cubeName='Tabela: ibgepopulacao_residente' | ||
476 | - name='[Measures].[id_medida_variavel_25]' /> | ||
477 | - | ||
478 | - <VirtualCubeMeasure cubeName='Tabela: dbacoes_saudetb_farmacia_pop' | ||
479 | - name='[Measures].[id_medida_variavel_40]' /> | ||
480 | - </VirtualCube> | ||
481 | -</Schema> | 276 | + |
277 | + <VirtualCubeDimension name='Tempo' /> | ||
278 | + | ||
279 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_12]'/> | ||
280 | + | ||
281 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_16]'/> | ||
282 | + | ||
283 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_15]'/> | ||
284 | + | ||
285 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_20]'/> | ||
286 | + | ||
287 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_18]'/> | ||
288 | + | ||
289 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_19]'/> | ||
290 | + | ||
291 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_17]'/> | ||
292 | + | ||
293 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_23]'/> | ||
294 | + | ||
295 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_22]'/> | ||
296 | + | ||
297 | + <VirtualCubeMeasure cubeName='Tabela: idsustb_indicador' name='[Measures].[id_medida_variavel_21]'/> | ||
298 | + | ||
299 | + <VirtualCubeMeasure cubeName='Tabela: dbacoes_saudetb_farmacia_pop' name='[Measures].[id_medida_variavel_40]'/> | ||
300 | + | ||
301 | + <VirtualCubeMeasure cubeName='Tabela: ibgepopulacao_residente' name='[Measures].[id_medida_variavel_25]'/> | ||
302 | + </VirtualCube></Schema> | ||
482 | \ No newline at end of file | 303 | \ No newline at end of file |