Commits

tbrugz committed a39f384 Draft

mondrian & docs: melhorias

Comments (0)

Files changed (5)

 
 ordem normal de execução dos jobs:
 - `job_eleicoes_basico`
-- `job_eleicoes_br`
-- `job_eleicoes(_estado)`
+- `job_eleicoes_uf` (parametros: *uf* e *ano*) (inclui: `job_eleicoes_candidatos` e `job_eleicoes_votacao`)
 
 
 prΓ©-requisitos
 x dados-padrao: adicionar unidades federativas: tse_ufs.csv 
 ? aceitar + de 1 arquivo csv por transformaηγo
 x caminhos relativos para arquivos
-- separar candidato de votavel (?) ; tse_candidato_cons (politicos)
 x mover info de conexγo de BD para kettle.properties
  
-- modulo municipal (esquema multi-eleiηγo)
-- novas infos: 
-  ~ eleitorado
-  - prestaηγo de contas (receitas! e despesas)
-  - candidatos:vagas
+x modulo municipal (esquema multi-eleiηγo)
 - otimizaηυes mondrian-schema, banco de dados (indices?), ...
+- bens_cand: dimension lookup/update
 
-- add tse_unidade_eleitoral (BR, estados, municipios); FK para tse_partidos(_ue)(coligacoes?)
-- esquema: tse_partidos -> tse_partidos_ue ; tse_candidato -> tse_votavel
+
+tech/serviηos
+-------------
 - criar webservices? jpa(hibernate) + rest(jersey/cfx/axis2)
 
 
-nova versγo
------------
+modelo
+------
 
 transformaηυes que faltam:
 
 
 tabelas que faltam:
 
-? fato_tse_votos_bweb [origem_BWEB]
+x fato_tse_votos_bweb [origem_BWEB] -> TSE_DETALHE_SECAO
 x tse_candidatos_bens [origem_CANDBEM]
-- tse_candidatos_fedest (?)
+... tse_candidatos_fedest (?)
 x tse_secao_comparecimento [origem_BWEB] [-> tse_detalhe_secao]
 x tse_tipos_bens [origem_CANDBEM]
-~ tse_unidades_eleitorais [origem_CEFT] [-> tse_municipios]
+... tse_unidades_eleitorais [origem_CEFT] [-> tse_municipios]
 -> tse_unidade_eleitoral: add campo: ESFERA (fed,est,mun)
-- nao carregar candidatos invalidos (branco, nulo) para cargos nao existentes na eleiηγo em questγo (presidente em 2012)
-- coluna 'invalido' na tabela tse_candidatos
+- esquema refactoring: tse_partidos -> tse_partidos_ue
+x add tse_unidade_eleitoral (BR, estados, municipios)
+  - FK para (de?) tse_partidos(_ue)(coligacoes?)
+
+tse_candidatos:
+? nao carregar candidatos invalidos (branco, nulo) para cargos nao existentes na eleiηγo em questγo (presidente em 2012)
+x coluna 'invalido' na tabela tse_candidatos
+~ candidatos invalidos: carregar ue e uf
+- refactoring: tse_candidato -> tse_votavel ?
+  - separar candidato de votavel (?) ; tse_candidato_cons (politicos)
 
 
 modulo municipal
 ----------------
-
--> carregar dados eleiηυes 2008
-- adicionar tabela/dim tse_candidato_cons (politicos)
+~ carregar dados eleiηυes 2008
 
 
 novas infos
 -----------
 - arquivo CONSULTA_VAGAS e LEGENDAS
 ~ eleitorado
-- prestaηγo de contas
+- prestaηγo de contas (receitas! e despesas)
 	</target>
 
 	<target name="run-job-java-basicos">
-		<echo message="carga dados basicos [ano=${dadostse.carga.anoeleicao}]" />
+		<echo message="carga dados basicos" />
+		<!--echo message="carga dados basicos [ano=${dadostse.carga.anoeleicao}]" /-->
 		<java dir="${kettle.home}" jar="${kettle.home}/launcher/launcher.jar" fork="true">
 			<arg value="-main"/>
 			<arg value="org.pentaho.di.kitchen.Kitchen"/>
 			<arg value="/file:${project.dir}/${job.basico.file}"/>
-			<arg value="/param:dadostse.carga.anoeleicao=${dadostse.carga.anoeleicao}"/>
+			<!--arg value="/param:dadostse.carga.anoeleicao=${dadostse.carga.anoeleicao}"/-->
 		</java>
 	</target>
 

modelo/tse-mondrianschema.xml

         <Dimension foreignKey="ID_UE" type="StandardDimension" name="tse_unidade_eleitoral">
             <Hierarchy primaryKey="ID_UE" hasAll="true" name="tse_unidade_eleitoral">
                 <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
             </Hierarchy>
         </Dimension>
         <Dimension foreignKey="ID_CANDIDATO" type="StandardDimension" name="tse_candidatos">
                         <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                     </Join>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_PARTIDO" column="ID_PARTIDO" table="TSE_PARTIDOS" name="tse_partidos"/>
                 <Level levelType="Regular" nameColumn="NM_CANDIDATO" column="ID_CANDIDATO" table="TSE_CANDIDATOS" name="tse_candidatos"/>
             </Hierarchy>
                     <Table schema="PUBLIC" name="TSE_CANDIDATOS"/>
                     <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_CANDIDATO" column="ID_CANDIDATO" table="TSE_CANDIDATOS" name="tse_candidatos"/>
             </Hierarchy>
         </Dimension>
                     <Table schema="PUBLIC" name="TSE_PARTIDOS"/>
                     <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_PARTIDO" column="ID_PARTIDO" table="TSE_PARTIDOS" name="tse_partidos"/>
             </Hierarchy>
         </Dimension>
                     <Table schema="PUBLIC" name="TSE_PARTIDOS"/>
                     <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_PARTIDO" column="ID_PARTIDO" table="TSE_PARTIDOS" name="tse_partidos"/>
             </Hierarchy>
         </Dimension>
         <Dimension foreignKey="ID_UE" type="StandardDimension" name="tse_unidade_eleitoral">
             <Hierarchy primaryKey="ID_UE" hasAll="true" name="tse_unidade_eleitoral">
                 <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
             </Hierarchy>
         </Dimension>
         <Dimension name="ano_eleicao">
                 <Level uniqueMembers="true" column="ANO_ELEICAO" name="ano_eleicao"/>
             </Hierarchy>
         </Dimension>
-        <Measure visible="true" aggregator="sum" column="DESPESA_MAX_CAMPANHA" name="despesa_max_campanha_sum"/>
-        <Measure visible="true" aggregator="count" column="DESPESA_MAX_CAMPANHA" name="despesa_max_campanha_count"/>
+        <Dimension name="valido">
+            <Hierarchy hasAll="true" name="valido">
+                <Level uniqueMembers="true" column="VALIDO" name="valido"/>
+            </Hierarchy>
+        </Dimension>
+        <Measure visible="true" aggregator="sum" column="DESPESA_MAX_CAMPANHA" name="despesa_max_campanha"/>
         <Measure visible="true" aggregator="count" column="ID_CANDIDATO" name="cand_count"/>
     </Cube>
     <Cube name="tse_candidatos_bens">
                         <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                     </Join>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_PARTIDO" column="ID_PARTIDO" table="TSE_PARTIDOS" name="tse_partidos"/>
                 <Level levelType="Regular" nameColumn="NM_CANDIDATO" column="SEQ_CANDIDATO" table="TSE_CANDIDATOS" name="tse_candidatos"/>
             </Hierarchy>
                     <Table schema="PUBLIC" name="TSE_CANDIDATOS"/>
                     <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_CANDIDATO" column="SEQ_CANDIDATO" table="TSE_CANDIDATOS" name="tse_candidatos"/>
             </Hierarchy>
         </Dimension>
                         <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                     </Join>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_PARTIDO" column="ID_PARTIDO" table="TSE_PARTIDOS" name="tse_partidos"/>
                 <Level levelType="Regular" nameColumn="NM_CANDIDATO" column="ID_CANDIDATO" table="TSE_CANDIDATOS" name="tse_candidatos"/>
             </Hierarchy>
                     <Table schema="PUBLIC" name="TSE_CANDIDATOS"/>
                     <Table schema="PUBLIC" name="TSE_UNIDADE_ELEITORAL"/>
                 </Join>
-                <Level levelType="Regular" uniqueMembers="true" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
+                <Level levelType="Regular" uniqueMembers="true" nameColumn="DESCRICAO_UE" column="ID_UE" table="TSE_UNIDADE_ELEITORAL" name="tse_unidade_eleitoral"/>
                 <Level levelType="Regular" nameColumn="NM_CANDIDATO" column="ID_CANDIDATO" table="TSE_CANDIDATOS" name="tse_candidatos"/>
             </Hierarchy>
         </Dimension>

sqldump-dadostse.properties

 sqldump.mondrianschema.cube@tse_candidatos_bens.measurecols=vl_bem
 sqldump.mondrianschema.cube@tse_candidatos_bens.factcountmeasure=cand_bens_count
 
-sqldump.mondrianschema.cube@tse_candidatos.degeneratedims=ano_eleicao
+sqldump.mondrianschema.cube@tse_candidatos.degeneratedims=ano_eleicao, valido
 sqldump.mondrianschema.cube@tse_candidatos.measurecols=despesa_max_campanha
 sqldump.mondrianschema.cube@tse_candidatos.factcountmeasure=cand_count
 #sqldump.mondrianschema.cube@tse_candidatos.aggregators=sum, count
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.