Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[dbt] br_stf_corte_aberta #281

Merged
merged 5 commits into from
Sep 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 3 additions & 0 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,9 @@ models:
+post-hook:
- 'REVOKE `roles/bigquery.dataViewer` ON TABLE {{ this }} FROM "specialGroup:allUsers"'
- 'GRANT `roles/bigquery.dataViewer` ON TABLE {{ this }} TO "group:bd-pro@basedosdados.org"'
br_stf_corte_aberta:
+materialized: table
+schema: br_stf_corte_aberta
br_tse_eleicoes:
+materialized: table
+schema: br_tse_eleicoes
Expand Down
44 changes: 44 additions & 0 deletions models/br_stf_corte_aberta/br_stf_corte_aberta__decisoes.sql
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
{{
config(
schema='br_stf_corte_aberta',
alias='decisoes',
materialized='table',
partition_by={
"field": "ano",
"data_type": "int64",
"range": {
"start": 2000,
"end": 2023,
"interval": 1}
},
labels = {'tema': 'direito'},
post_hook = ['CREATE OR REPLACE ROW ACCESS POLICY allusers_filter
ON {{this}}
GRANT TO ("allUsers")
FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data_decisao), week) > 6)',
'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter
ON {{this}}
GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org")
FILTER USING (DATE_DIFF(DATE("{{ run_started_at.strftime("%Y-%m-%d") }}"), DATE(data_decisao), week) <= 6)' ]
)
}}

SELECT
SAFE_CAST(ano AS INT64) ano,
SAFE_CAST(classe AS STRING) classe,
SAFE_CAST(numero AS STRING) numero,
INITCAP(relator) relator,
SAFE_CAST(link AS STRING) link,
INITCAP(subgrupo_andamento) subgrupo_andamento,
INITCAP(andamento) andamento,
INITCAP(observacao_andamento_decisao) observacao_andamento_decisao,
INITCAP(modalidade_julgamento) modalidade_julgamento,
INITCAP(tipo_julgamento) tipo_julgamento,
INITCAP(meio_tramitacao) meio_tramitacao,
SAFE_CAST(indicador_tramitacao AS BOOL) indicador_tramitacao,
INITCAP(assunto_processo) assunto_processo,
INITCAP(ramo_direito) ramo_direito,
SAFE_CAST(data_autuacao AS DATE) data_autuacao,
SAFE_CAST(data_decisao AS DATE) data_decisao,
SAFE_CAST(data_baixa_processo AS DATE) data_baixa_processo
FROM basedosdados-staging.br_stf_corte_aberta_staging.decisoes AS t
Original file line number Diff line number Diff line change
@@ -0,0 +1,9 @@
{{ config(alias='dicionario', schema='br_stf_corte_aberta') }}

SELECT
SAFE_CAST(id_tabela AS STRING) id_tabela,
SAFE_CAST(nome_coluna AS STRING) nome_coluna,
INITCAP(chave) chave,
SAFE_CAST(cobertura_temporal AS STRING) cobertura_temporal,
INITCAP(valor) valor
FROM basedosdados-staging.br_stf_corte_aberta_staging.dicionario AS t
55 changes: 55 additions & 0 deletions models/br_stf_corte_aberta/schema.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
version: 2

models:
- name: br_stf_corte_aberta__decisoes
description: "Decisões de corte aberta do STF"
columns:
- name: ano
description: Ano da decisão
- name: classe
description: Tipo da classe
- name: numero
description: Número de identificação do processo judicial
- name: relator
description: Relator do processo
- name: link
description: Link do processo
- name: subgrupo_andamento
description: Subgrupo do andamento
- name: andamento
description: Andamento da decisão
- name: observacao_andamento_decisao
description: Observação sobre o andamento da decisão
- name: modalidade_julgamento
description: Modalidade do julgamento (eg. virtual, presencial, monocrática)
- name: tipo_julgamento
description: Tipo do julgamento (eg. colegiada, monocrático)
- name: meio_tramitacao
description: Meio da tramitação (eg. eletrônico, físico)
- name: indicador_tramitacao
description: Indica se o processo está em tramitação
- name: assunto_processo
description: Assunto do processo
- name: ramo_direito
description: Ramo de atuação do direito
- name: data_autuacao
description: Data de autuação
- name: data_decisao
description: Data da decisão
- name: data_baixa_processo
description: Data de baixa do processo


- name: br_stf_corte_aberta__dicionario
description: "Dicionário de dados referente a tabela de decisões de corte aberta do STF"
columns:
- name: id_tabela
description: ID da tabela
- name: nome_coluna
description: Nome da coluna
- name: chave
description: Chave
- name: cobertura_temporal
description: Cobertura temporal
- name: valor
description: Valor
Loading