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

[bdpro] mundo_transfermarkt_competicoes #133

Merged
merged 6 commits into from
Jul 28, 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
9 changes: 0 additions & 9 deletions dbt_project.yml
Original file line number Diff line number Diff line change
Expand Up @@ -172,15 +172,6 @@ models:
mundo_transfermarkt_competicoes:
+materialized: table
+schema: mundo_transfermarkt_competicoes
+post-hook:
- 'CREATE OR REPLACE ROW ACCESS POLICY allusers_filter
ON {{this}}
GRANT TO ("allUsers")
FILTER USING ( (EXTRACT(WEEK from data) <= (EXTRACT( WEEK from CURRENT_DATE())-6) ) OR ano_campeonato<EXTRACT(YEAR from CURRENT_DATE()))'
- 'CREATE OR REPLACE ROW ACCESS POLICY bdpro_filter
ON {{this}}
GRANT TO ("group:bd-pro@basedosdados.org", "group:sudo@basedosdados.org")
FILTER USING (ano_campeonato=EXTRACT(YEAR from CURRENT_DATE()))'
test_dataset:
+materialized: table
+schema: test_dataset
13 changes: 8 additions & 5 deletions models/mundo_transfermarkt_competicoes/brasileirao_serie_a.sql
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,12 @@
"field": "ano_campeonato",
"data_type": "int64",
"range": {
"start": 2003,
"end": 2023,
"interval": 1}
"start": 2003,
"end": 2023,
"interval": 1}
},
labels = {'tema': 'esporte'})
labels = {'tema': 'esporte'}
)
}}
SELECT
SAFE_CAST(REPLACE (ano_campeonato,".0","") AS INT64) ano_campeonato,
Expand Down Expand Up @@ -48,4 +49,6 @@ SAFE_CAST(REPLACE (chutes_man,".0","") AS INT64) chutes_man,
SAFE_CAST(REPLACE (chutes_vis,".0","") AS INT64) chutes_vis,
SAFE_CAST(REPLACE (chutes_fora_man,".0","") AS INT64) chutes_fora_man,
SAFE_CAST(REPLACE (chutes_fora_vis,".0","") AS INT64) chutes_fora_vis
FROM basedosdados-staging.mundo_transfermarkt_competicoes_staging.brasileirao_serie_a AS t
FROM basedosdados-staging.mundo_transfermarkt_competicoes_staging.brasileirao_serie_a AS t
WHERE (EXTRACT(WEEK FROM SAFE_CAST(data AS DATE)) <= (EXTRACT( WEEK FROM CURRENT_DATE())-6) )
OR SAFE_CAST(ano_campeonato AS INT64)<EXTRACT(YEAR from CURRENT_DATE())
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
{{
config(
schema='mundo_transfermarkt_competicoes',
materialized='table',
partition_by={
"field": "ano_campeonato",
"data_type": "int64",
"range": {
"start": 2003,
"end": 2023,
"interval": 1}
},
labels = {'tema': 'esporte'},
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"'])
}}
SELECT
SAFE_CAST(REPLACE (ano_campeonato,".0","") AS INT64) ano_campeonato,
SAFE_CAST(data AS DATE) data,
SAFE_CAST(horario AS STRING) horario,
SAFE_CAST(REPLACE (rodada,".0","") AS INT64) rodada,
SAFE_CAST(estadio AS STRING) estadio,
SAFE_CAST(arbitro AS STRING) arbitro,
SAFE_CAST(REPLACE (publico,".0","") AS INT64) publico,
SAFE_CAST(REPLACE (publico_max,".0","") AS INT64) publico_max,
SAFE_CAST(time_man AS STRING) time_man,
SAFE_CAST(time_vis AS STRING) time_vis,
SAFE_CAST(tecnico_man AS STRING) tecnico_man,
SAFE_CAST(tecnico_vis AS STRING) tecnico_vis,
SAFE_CAST(REPLACE (colocacao_man,".0","") AS INT64) colocacao_man,
SAFE_CAST(REPLACE (colocacao_vis,".0","") AS INT64) colocacao_vis,
SAFE_CAST(REPLACE (valor_equipe_titular_man,".0","") AS INT64) valor_equipe_titular_man,
SAFE_CAST(REPLACE (valor_equipe_titular_vis,".0","") AS INT64) valor_equipe_titular_vis,
SAFE_CAST(idade_media_titular_man AS FLOAT64) idade_media_titular_man,
SAFE_CAST(idade_media_titular_vis AS FLOAT64) idade_media_titular_vis,
SAFE_CAST(REPLACE (gols_man,".0","") AS INT64) gols_man,
SAFE_CAST(REPLACE (gols_vis,".0","") AS INT64) gols_vis,
SAFE_CAST(REPLACE (gols_1_tempo_man,".0","") AS INT64) gols_1_tempo_man,
SAFE_CAST(REPLACE (gols_1_tempo_vis,".0","") AS INT64) gols_1_tempo_vis,
SAFE_CAST(REPLACE (escanteios_man,".0","") AS INT64) escanteios_man,
SAFE_CAST(REPLACE (escanteios_vis,".0","") AS INT64) escanteios_vis,
SAFE_CAST(REPLACE (faltas_man,".0","") AS INT64) faltas_man,
SAFE_CAST(REPLACE (faltas_vis,".0","") AS INT64) faltas_vis,
SAFE_CAST(REPLACE (chutes_bola_parada_man,".0","") AS INT64) chutes_bola_parada_man,
SAFE_CAST(REPLACE (chutes_bola_parada_vis,".0","") AS INT64) chutes_bola_parada_vis,
SAFE_CAST(REPLACE (defesas_man,".0","") AS INT64) defesas_man,
SAFE_CAST(REPLACE (defesas_vis,".0","") AS INT64) defesas_vis,
SAFE_CAST(REPLACE (impedimentos_man,".0","") AS INT64) impedimentos_man,
SAFE_CAST(REPLACE (impedimentos_vis,".0","") AS INT64) impedimentos_vis,
SAFE_CAST(REPLACE (chutes_man,".0","") AS INT64) chutes_man,
SAFE_CAST(REPLACE (chutes_vis,".0","") AS INT64) chutes_vis,
SAFE_CAST(REPLACE (chutes_fora_man,".0","") AS INT64) chutes_fora_man,
SAFE_CAST(REPLACE (chutes_fora_vis,".0","") AS INT64) chutes_fora_vis
FROM basedosdados-staging.mundo_transfermarkt_competicoes_staging.brasileirao_serie_a AS t
86 changes: 85 additions & 1 deletion models/mundo_transfermarkt_competicoes/schema.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: 2
version: 2

models:
- name: brasileirao_serie_a
Expand Down Expand Up @@ -78,5 +78,89 @@ Fonte: https://www.transfermarkt.com/campeonato-brasileiro-serie-a/startseite/we
description: Chutes do time visitante
- name: chutes_fora_man
description: Chutes fora do time mandante
- name: chutes_fora_vis
description: Chutes fora do time visitante



- name: brasileirao_serie_a_atualizado
description: "Dados de 2003-03-29 até 2006-12-03 possuem somente as seguintes informações: data, horario, rodada, estadio, time_man, time_vis, gols_man, gols_vis. O motivo é que o site não disponibilizou outras informações.

A partir de 2007-05-03, informações mais completas foram disponibilizadas, contudo com algumas exceções.
- tecnico_man e tecnico_vis possuem alguns valores vazios devido a mudança de padrão. Geralmente técnicos possui id = 0. Contudo quando o técnico é um ex-jogador, ele possuí um id específico. Em consequência da inconsistência no padrão do id dos técnicos, linhas em que esse erro ocorre as colunas valor_equipe_titular_man, valor_equipe_titular_vis, idade_media_titular_man, idade_media_titular_vis, também são afetadas e resultando em vazio;
- Na data de 2016-12-11, rodada 38, a partida entre Chapecoense e Atlético-MG não ocorreu em decorrência do desastre que atingiu a equipe do Chapecoense na época, resultando assim em W.O. duplo;

Fonte: https://www.transfermarkt.com/campeonato-brasileiro-serie-a/startseite/wettbewerb/BRA1"
columns:
- name: ano_campeonato
description: Ano do campeonato
- name: data
description: Data da partida
- name: horario
description: Horário da partida
- name: rodada
description: Rodada
- name: estadio
description: Estádio
- name: arbitro
description: Árbitro
- name: publico
description: Público presente
- name: publico_max
description: Público máximo
- name: time_man
description: Time mandante
- name: time_vis
description: Time visitante
- name: tecnico_man
description: Técnico do time mandante
- name: tecnico_vis
description: Técnico do time visitante
- name: colocacao_man
description: Colocação do time mandante
- name: colocacao_vis
description: Colocação do time visitante
- name: valor_equipe_titular_man
description: Valor da equipe titular do time mandante
- name: valor_equipe_titular_vis
description: Valor da equipe titular do time visitante
- name: idade_media_titular_man
description: Idade média da equipe titular do time mandante
- name: idade_media_titular_vis
description: Idade média da equipe titular do time visitante
- name: gols_man
description: Gols do time mandante
- name: gols_vis
description: Gols do time visitante
- name: gols_1_tempo_man
description: Gols no primeiro tempo do time mandante
- name: gols_1_tempo_vis
description: Gols no primeiro tempo do time visitante
- name: escanteios_man
description: Escanteios do time mandante
- name: escanteios_vis
description: Escanteios do time visitante
- name: faltas_man
description: Faltas feitas pelo time mandante
- name: faltas_vis
description: Faltas feitas pelo time visitante
- name: chutes_bola_parada_man
description: Chutes de bola parada do time mandante
- name: chutes_bola_parada_vis
description: Chutes de bola parada do time visitante
- name: defesas_man
description: Defesas do time mandante
- name: defesas_vis
description: Defesas do time visitante
- name: impedimentos_man
description: Impedimentos do time mandante
- name: impedimentos_vis
description: Impedimentos do time visitante
- name: chutes_man
description: Chutes do time mandante
- name: chutes_vis
description: Chutes do time visitante
- name: chutes_fora_man
description: Chutes fora do time mandante
- name: chutes_fora_vis
description: Chutes fora do time visitante
Loading