Plataforma de documentação operacional e gerencial da SETIC
Essa é uma revisão anterior do documento!
Histórico de Alterações | |||
---|---|---|---|
Data | Versão | Descrição | Autor |
04/09/2019 | 1.0 | Criação da documentação modelo | Rodrigo Arnaldo Kreuzberg |
11/09/2019 | 1.1 | Documentação da Dimensão CNAE | HUDSON FERNANDO MENDES DE FRANÇA |
11/09/2019 | 1.2 | Documentação da Dimensão IBGE Subsetor | HUDSON FERNANDO MENDES DE FRANÇA |
13/09/2019 | 1.3 | Documentação da Dimensão Empregado (Cargas dimensões) | HUDSON FERNANDO MENDES DE FRANÇA |
16/09/2019 | 1.4 | Correção da Documentação da Dimensão Empregado - Correção visual da tabela Dimensão x Indicadores | HUDSON FERNANDO MENDES DE FRANÇA |
18/09/2019 | 1.5 | Documentação da Dimensão Ocupação | Rodrigo Arnaldo Kreuzberg |
20/09/2019 | 1.6 | Inclusão da periodicidade da fonte de dados | Rodrigo Arnaldo Kreuzberg |
23/09/2019 | 1.7 | Documentação da Dimensão Tempo | HUDSON FERNANDO MENDES DE FRANÇA |
09/10/2019 | 1.8 | Atualização das dimensões | HUDSON FERNANDO MENDES DE FRANÇA |
11/10/2019 | 1.9 | Atualização das dimensões e inserção da fato emprego | Rodrigo Arnaldo Kreuzberg |
14/11/2019 | 1.10 | Documentação da Tabela Fato, da Dimensão Tempo e Revisão das demais dimensões com inserção de novos prints das mesmas. | Abdenildo Deividy Sobreira dos Santos |
A ideia do BMC ou do Quadro de Modelos de Negócios é fazer o Business Plan, um Plano de Negócio macro, ou seja, planejar e visualizar as principais demandas de um negócio, para qualquer setor, de uma forma muito mais rápida e barata do que fazer um Business Plan no modo tradicional, como um primeiro rabisco.
A relização do canvas para o Data Mart de Emprego ocorreram em dois encontros nos dias 22, 29 e 30 de Julho de 2019 e com os seguintes envolvidos:
O produto dos encontros está diponível neste link
Qual o total de admissões? | Total de Admissões realizadas no Estado de Rondônia, campo UF valor [11], é considerada admissão todos os registros na base de dados do CAGED cujo campo Admitidos/Desligados contenha o valor [ 1 ] |
---|---|
Qual o total de desligamentos? | Total de Desligamentos realizadas no Estado de Rondônia, campo UF valor [11], é considerada admissão todos os registros na base de dados do CAGED cujo campo Admitidos/Desligados contenha o valor [ 2 ] |
Qual o saldo mensal? | Resultado to Total de Admissões subtraindo-se o Total de Demissões, mês a mês |
DIMENSÕES
Indicadores x Dimensões | Tempo | Empregado | CNAE | Regiões Geográficas | Ocupação | Total de Admissão |
---|---|---|---|---|---|---|
Total de Admissão | X | X | X | |||
Total de desligamento | X | X | X | |||
Saldo mensal | X | X | X |
A plenária realizada no dia 12 de Agosto de 2019 aprovou a modelagem realizada pelo Time Baymax.
Os arquivos utilizados para realização da Stagin Area estão disponíveis no Gitlab Detic.
CREATE TABLE dm_emprego.dim_cbo_2002_ocupacao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_cbo_94_ocupacao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_classe_10 ( descricao VARCHAR(200) NULL, codigo VARCHAR(15) NULL );
CREATE TABLE dm_emprego.dim_cnae_20_subclas ( descricao VARCHAR(200) NULL, codigo VARCHAR(15) NULL );
CREATE TABLE dm_emprego.dim_cnae_2_classe ( codigo VARCHAR(15) NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_empregados ( cod_sexo int8 NULL, cod_ano int8 NULL, sexo VARCHAR(9) NULL, cod_grau_instrucao int8 NULL, grau_instrucao VARCHAR(23) NULL );
CREATE TABLE dm_emprego.dim_ibge_subsetor ( categorias VARCHAR(67) NULL, valor_na_fonte int4 NULL );
CREATE TABLE dm_emprego.dim_mesorregiao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_microrregiao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_municipios ( codigo int8 NULL, estado VARCHAR(2) NULL, cidade VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_raca_cor ( cod_raca_cor int8 NULL, raca_cor VARCHAR(9) NULL );
CREATE TABLE dm_emprego.dim_tipo_defic ( cod_tipo_defic int8 NULL, tipo_defic VARCHAR(20) NULL );
CREATE TABLE dm_emprego.dim_tipo_estab ( cod_tipo_estab int8 NULL, tipo_estab VARCHAR(11) NULL );
CREATE TABLE dm_emprego.dim_tipo_mov_desgregado ( cod_tipo_mov_desgregado int8 NULL, tipo_mov_desgregado VARCHAR(46) NULL );
CREATE OR REPLACE FUNCTION f_concat_sinonimos() RETURNS setof cbo_ocupacao_concat AS $$ DECLARE cont INT := 8388;--(select count(*) from st1.cbo_sinonimos); i INT := 1; sinonimos VARCHAR := (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 1); cod_ocup INT := 0; cod_sino INT := 0; BEGIN while (i <= cont) loop cod_ocup := (SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i ); cod_sino := (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i); IF (cod_ocup = cod_sino) THEN IF((SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1) IS NULL )THEN sinonimos := (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i); END IF; IF ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i ) <> (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1)) THEN INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1 ), sinonimos); sinonimos := (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i); END IF;-- fim do 1° IF sinonimos := concat(sinonimos, ' | ' , (SELECT t.titulo_sinimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i )); ELSE IF( ((SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1) = (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1)) AND (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i) IS NULL ) THEN INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1 ), sinonimos); END IF; INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i ), (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i )); END IF; IF ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 8388 ) = 992225) THEN INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 8388 ), (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 8388 )); END IF; i := i 1; END loop; END; $$ LANGUAGE plpgsql; DELETE FROM st1.cbo_ocupacao_concat; SELECT f_concat_sinonimos();
CREATE TABLE dm_emprego.dim_cbo_2002_ocupacao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_cbo_94_ocupacao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_classe_10 ( descricao VARCHAR(200) NULL, codigo VARCHAR(15) NULL );
CREATE TABLE dm_emprego.dim_cnae_20_subclas ( descricao VARCHAR(200) NULL, codigo VARCHAR(15) NULL );
CREATE TABLE dm_emprego.dim_cnae_2_classe ( codigo VARCHAR(15) NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_empregados ( cod_sexo int8 NULL, cod_ano int8 NULL, sexo VARCHAR(9) NULL, cod_grau_instrucao int8 NULL, grau_instrucao VARCHAR(23) NULL );
CREATE TABLE dm_emprego.dim_ibge_subsetor ( categorias VARCHAR(67) NULL, valor_na_fonte int4 NULL );
CREATE TABLE dm_emprego.dim_mesorregiao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_microrregiao ( codigo int8 NULL, descricao VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_municipios ( codigo int8 NULL, estado VARCHAR(2) NULL, cidade VARCHAR(200) NULL );
CREATE TABLE dm_emprego.dim_raca_cor ( cod_raca_cor int8 NULL, raca_cor VARCHAR(9) NULL );
CREATE TABLE dm_emprego.dim_tipo_defic ( cod_tipo_defic int8 NULL, tipo_defic VARCHAR(20) NULL );
CREATE TABLE dm_emprego.dim_tipo_estab ( cod_tipo_estab int8 NULL, tipo_estab VARCHAR(11) NULL );
CREATE TABLE dm_emprego.dim_tipo_mov_desgregado ( cod_tipo_mov_desgregado int8 NULL, tipo_mov_desgregado VARCHAR(46) NULL );
CREATE OR REPLACE FUNCTION f_concat_sinonimos() RETURNS setof cbo_ocupacao_concat AS $$ DECLARE cont INT := 8388;--(select count(*) from st1.cbo_sinonimos); i INT := 1; sinonimos VARCHAR := (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 1); cod_ocup INT := 0; cod_sino INT := 0; BEGIN while (i <= cont) loop cod_ocup := (SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i ); cod_sino := (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i); IF (cod_ocup = cod_sino) THEN IF((SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1) IS NULL )THEN sinonimos := (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i); END IF; IF ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i ) <> (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1)) THEN INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1 ), sinonimos); sinonimos := (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i); END IF;-- fim do 1° IF sinonimos := concat(sinonimos, ' | ' , (SELECT t.titulo_sinimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i )); ELSE IF( ((SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1) = (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1)) AND (SELECT t.cod_sinonimo FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i) IS NULL ) THEN INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i-1 ), sinonimos); END IF; INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i ), (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = i )); END IF; IF ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 8388 ) = 992225) THEN INSERT INTO st1.cbo_ocupacao_concat (cod_ocupacao, titulo_ocupacao) VALUES ((SELECT t.cod_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 8388 ), (SELECT t.titulo_ocupacao FROM st1.cbo_ocupac_c_sino t WHERE t.sk_ocup_sinon = 8388 )); END IF; i := i + 1; END loop; END; $$ LANGUAGE plpgsql; DELETE FROM st1.cbo_ocupacao_concat; SELECT f_concat_sinonimos();