Skip to content
Snippets Groups Projects
Commit fad04d90 authored by lgtg20's avatar lgtg20
Browse files

feat: all dimensions working

parent 8182ab5f
No related branches found
No related tags found
3 merge requests!449Homologa,!444dev -> hom,!441Years of study mean
...@@ -472,7 +472,7 @@ rqf.addField({ ...@@ -472,7 +472,7 @@ rqf.addField({
}).addValue({ }).addValue({
name: 'max_year', name: 'max_year',
table: 'pnad_novo', table: 'pnad_novo',
tableField: '', tableField: 'ano_ref',
resultField: 'year', resultField: 'year',
where: { where: {
relation: '<=', relation: '<=',
...@@ -513,14 +513,21 @@ rqf.addField({ ...@@ -513,14 +513,21 @@ rqf.addField({
}); });
PnadNovoApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { PnadNovoApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
const dimensions = req.dims || {};
let teste = "pnad_novo.ano_ref = media.ano_ref" let joinQuery = `
console.log(req.dims) pnad_novo.ano_ref = media.ano_ref
if (req.dims) { ${dimensions.gender ? " AND media.gender_id = pnad_novo.sexo" : ""}
for (let i in req.dims) { ${dimensions.bolsa_familia ? "AND media.bolsa_familia_id = pnad_novo.recebeu_rendimentos_de_programa_bolsa_familia" : ""}
teste += ` and pnad_novo.${rqf[i].table} = media.${rqf[i].tableField}` ${dimensions.new_pnad_ethnic_group ? "AND media.new_pnad_ethnic_group_id = pnad_novo.cor_raca" : ""}
} ${dimensions.income_range ? "AND media.income_range_id = pnad_novo.faixa_rendimento_aux_tx" : ""}
} ${dimensions.age_range_all ? "AND media.age_range_all_id = pnad_novo.faixa_etaria" : ""}
${dimensions.location ? "AND media.location_id = pnad_novo.situacao_domicilio" : ""}
${dimensions.metro_code ? "AND media.metro_code_id = pnad_novo.cod_rm_ride" : ""}
${dimensions.cap_code ? "AND media.cap_code_id = pnad_novo.cod_cap" : ""}
${dimensions.region ? "AND media.region_id = pnad_novo.cod_regiao" : ""}
${dimensions.state ? "AND media.state_id = pnad_novo.cod_uf" : ""}
`
let mean = req.sql.clone() let mean = req.sql.clone()
.from('pnad_novo') .from('pnad_novo')
...@@ -528,16 +535,16 @@ PnadNovoApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => { ...@@ -528,16 +535,16 @@ PnadNovoApp.get('/', rqf.parse(), rqf.build(), (req, res, next) => {
.field('SUM(pnad_novo.anos_de_estudo * pnad_novo.peso_domicilio_pessoas_com_cal) / SUM(pnad_novo.peso_domicilio_pessoas_com_cal)', 'media_anos_estudo') .field('SUM(pnad_novo.anos_de_estudo * pnad_novo.peso_domicilio_pessoas_com_cal) / SUM(pnad_novo.peso_domicilio_pessoas_com_cal)', 'media_anos_estudo')
.where('pnad_novo.anos_de_estudo <> 99 and pnad_novo.faixa_etaria >= 6 and pnad_novo.ano_ref >= 2019') .where('pnad_novo.anos_de_estudo <> 99 and pnad_novo.faixa_etaria >= 6 and pnad_novo.ano_ref >= 2019')
.group('pnad_novo.ano_ref') .group('pnad_novo.ano_ref')
req.sql.from('pnad_novo') req.sql.from('pnad_novo')
.field('pnad_novo.ano_ref', 'year') .field('pnad_novo.ano_ref', 'year')
.field('media.media_anos_estudo', 'mean') .field('media.media_anos_estudo', 'mean')
.field('SQRT(SUM(POWER(pnad_novo.anos_de_estudo - media.media_anos_estudo, 2) * pnad_novo.peso_domicilio_pessoas_com_cal) / SUM(pnad_novo.peso_domicilio_pessoas_com_cal))', 'std_dev') .field('SQRT(SUM(POWER(pnad_novo.anos_de_estudo - media.media_anos_estudo, 2) * pnad_novo.peso_domicilio_pessoas_com_cal) / SUM(pnad_novo.peso_domicilio_pessoas_com_cal))', 'std_dev')
.join(mean, 'media', teste) .join(mean, 'media', joinQuery)
.where('pnad_novo.ano_ref >= 2019 AND pnad_novo.faixa_etaria >= 6 AND pnad_novo.anos_de_estudo <> 99') .where('pnad_novo.ano_ref >= 2019 AND pnad_novo.faixa_etaria >= 6 AND pnad_novo.anos_de_estudo <> 99')
.group('pnad_novo.ano_ref') .group('pnad_novo.ano_ref')
.group('media.media_anos_estudo') .group('media.media_anos_estudo')
console.log(req.sql.toString())
next(); next();
}, query, id2str.transform(false), response('years_of_study')); }, query, id2str.transform(false), response('years_of_study'));
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment