Calcular a Taxa de Licenciamento dos Bens (Veículos) extraindo o valor mensal entre o período de validade
Olá Senhores,
Novamente venho buscar auxílios na criação de uma consulta, não sei se é possível mas vou fazer uma breve explicação:
preciso fazer um rateio mensal, ou seja mês a mês, do valor pago de licenciamento entre o período de DtEmissao e DtValidade.
o resultado dessa consulta seria:
OIDBem,
Identificacao,
Descricao,
Dia/Mes/Ano - obs.:"(data/mes/ano do primeiro dia do mês de cada mês dentro do período DtEmissao e DtValidade)",
valor,
Sendo assim teria que dividir o valor (taxa) mês a mês e armazenar na coluna auxiliar de dia/mes/ano entre os período DtEmissao e Dtvalidade para saber o custo mês a mês de cada veículo da frota
nessa consulta abaixo coloquei um filtro para dois veículos (identificacao) 102 e 75, mas preciso extrair de toda a frota, nela está apresentado os campos:
OIDBem,
Valor,
Descricao,
Periocidade,
Identificacao,
TipoPeriocidade,
DtValidade,
DtEmissao,
-------//--------------
SELECT DISTINCT
e.OIDBem,
ee.Valor,
tee.Descricao,
tee.Periodicidade,
e1.Identificacao,
tee.TipoPeriodicidade,
ee.DtValidade,
ee.DtEmissao
FROM EquipamentoEvento ee
INNER JOIN Equipamento e
ON ee.OIDBem = e.OIDBem
INNER JOIN EquipamentoEvento ee1
ON e.OIDBem = ee1.OIDBem
INNER JOIN TipoEquipamentoEvento tee
ON ee.OIDTipoEquipamentoEvento = tee.OIDTipoEquipamentoEvento
INNER JOIN vEquipamento e1
ON ee.OIDBem = e1.OIDBem
LEFT OUTER JOIN Documento
on e.OIDBem = ee1.OIDBem
WHERE e1.Identificacao IN ('1020','75') and ee.Valor IS NOT NULL AND ee.DtEmissao BETWEEN '2019/01/01' AND GETDATE()
Novamente venho buscar auxílios na criação de uma consulta, não sei se é possível mas vou fazer uma breve explicação:
preciso fazer um rateio mensal, ou seja mês a mês, do valor pago de licenciamento entre o período de DtEmissao e DtValidade.
o resultado dessa consulta seria:
OIDBem,
Identificacao,
Descricao,
Dia/Mes/Ano - obs.:"(data/mes/ano do primeiro dia do mês de cada mês dentro do período DtEmissao e DtValidade)",
valor,
Sendo assim teria que dividir o valor (taxa) mês a mês e armazenar na coluna auxiliar de dia/mes/ano entre os período DtEmissao e Dtvalidade para saber o custo mês a mês de cada veículo da frota
nessa consulta abaixo coloquei um filtro para dois veículos (identificacao) 102 e 75, mas preciso extrair de toda a frota, nela está apresentado os campos:
OIDBem,
Valor,
Descricao,
Periocidade,
Identificacao,
TipoPeriocidade,
DtValidade,
DtEmissao,
-------//--------------
SELECT DISTINCT
e.OIDBem,
ee.Valor,
tee.Descricao,
tee.Periodicidade,
e1.Identificacao,
tee.TipoPeriodicidade,
ee.DtValidade,
ee.DtEmissao
FROM EquipamentoEvento ee
INNER JOIN Equipamento e
ON ee.OIDBem = e.OIDBem
INNER JOIN EquipamentoEvento ee1
ON e.OIDBem = ee1.OIDBem
INNER JOIN TipoEquipamentoEvento tee
ON ee.OIDTipoEquipamentoEvento = tee.OIDTipoEquipamentoEvento
INNER JOIN vEquipamento e1
ON ee.OIDBem = e1.OIDBem
LEFT OUTER JOIN Documento
on e.OIDBem = ee1.OIDBem
WHERE e1.Identificacao IN ('1020','75') and ee.Valor IS NOT NULL AND ee.DtEmissao BETWEEN '2019/01/01' AND GETDATE()
Adriano Anacleto
Curtidas 0
Melhor post
Emerson Nascimento
01/09/2023
está errada a passagem de parâmetros para a função. deveria ser data de emissão e data de validade.
datediff(month, ee.DtEmissao, ee.DtValidade)+1 meses,
round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtValidade)+1),3) taxa
datediff(month, ee.DtEmissao, ee.DtValidade)+1 meses,
round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtValidade)+1),3) taxa
GOSTEI 1
Mais Respostas
Emerson Nascimento
23/08/2023
essa consulta é difícil de montar, porque é impossível determinar as colunas.
não conheço teus registros, mas imagino o seguite:
o resultado, segundo o que você solicitou, seria:
como o número de colunas varia, pra não usar PIVOT, talvez possa ser apresentado o número de meses e o valor mensal:
não conheço teus registros, mas imagino o seguite:
produto valor emissao validade x 1000 15/01/23 23/08/23 y 800 17/01/23 14/05/23
o resultado, segundo o que você solicitou, seria:
produto emissao taxa coluna1 coluna2 coluna3 coluna4 coluna5 coluna6 coluna7 coluna8 x 15/01/23 125 01/01/23 01/02/23 01/03/23 01/04/23 01/05/23 01/06/23 01/07/23 01/08/23 y 17/01/23 160 01/01/23 01/02/23 01/03/23 01/04/23 01/05/23
como o número de colunas varia, pra não usar PIVOT, talvez possa ser apresentado o número de meses e o valor mensal:
SELECT DISTINCT e.OIDBem, ee.Valor, tee.Descricao, tee.Periodicidade, e1.Identificacao, tee.TipoPeriodicidade, ee.DtValidade, ee.DtEmissao, datediff(month, ee.DtEmissao, ee.DtEmissao)+1 meses, round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtEmissao)+1),3) taxa FROM EquipamentoEvento ee INNER JOIN Equipamento e ON ee.OIDBem = e.OIDBem INNER JOIN EquipamentoEvento ee1 ON e.OIDBem = ee1.OIDBem INNER JOIN TipoEquipamentoEvento tee ON ee.OIDTipoEquipamentoEvento = tee.OIDTipoEquipamentoEvento INNER JOIN vEquipamento e1 ON ee.OIDBem = e1.OIDBem LEFT OUTER JOIN Documento ON e.OIDBem = ee1.OIDBem WHERE e1.Identificacao IN ('1020','75') and ee.Valor IS NOT NULL AND ee.DtEmissao BETWEEN '2019/01/01' AND GETDATE()
GOSTEI 0
Adriano Anacleto
23/08/2023
essa consulta é difícil de montar, porque é impossível determinar as colunas.
não conheço teus registros, mas imagino o seguite:
o resultado, segundo o que você solicitou, seria:
como o número de colunas varia, pra não usar PIVOT, talvez possa ser apresentado o número de meses e o valor mensal:
Olá Emerson Nascimento,
Agradeço desde já sua atenção em me ajudar. Segue abaixo parte do resultado na consulta, perceba que a coluna meses trouxa apena 1, busquei algumas soluções no seu codigo no entanto não obtive sucesso, caso vc consiga me auxiliar agradeço!
OIDBem Valor Descricao Periodicidade Identificacao TipoPeriodicidade DtValidade DtEmissao meses taxa
FA06E4F36F10 0,00 Cronotacógrafos 706 75 (null) 24/05/2020 00:00:00.000 24/04/2020 00:00:00.000 1 0,0000000000000
3320A8EFD573 129,08 Seguro - Ônibus Fretamento Mês Matriz 1 1020 M 10/08/2020 00:00:00.000 10/08/2019 00:00:00.000 1 129,0800000000000
3320A8EFD573 10,57 DPVAT - Seguro Obrigatório 1 1020 A 31/08/2021 00:00:00.000 31/08/2020 00:00:00.000 1 10,5700000000000
3320A8EFD573 123,53 Taxa de Licenciamento Veicular 1 1020 A 31/08/2021 00:00:00.000 31/08/2020 00:00:00.000 1 123,5300000000000
FA06E4F36F10 37,90 DPVAT - Seguro Obrigatório 1 75 A 30/04/2020 00:00:00.000 30/04/2019 00:00:00.000 1 37,9000000000000
FA06E4F36F10 1250,29 IPVA - Estado de Santa Catarina 1 75 A 30/04/2021 00:00:00.000 30/04/2020 00:00:00.000 1 1250,2900000000000
3320A8EFD573 129,08 Seguro - Ônibus Fretamento Mês Matriz 1 1020 M 10/08/2021 00:00:00.000 10/08/2020 00:00:00.000 1 129,0800000000000
3320A8EFD573 1725,41 Seguro - Ônibus Fretamento Anual Matriz 1 1020 A 10/08/2024 00:00:00.000 10/08/2023 00:00:00.000 1 1725,4100000000000
FA06E4F36F10 128,85 Taxa de Licenciamento Veicular 1 75 A 30/04/2022 00:00:00.000 30/04/2021 00:00:00.000 1 128,8500000000000
3320A8EFD573 142,69 Taxa de Licenciamento Veicular 1 1020 A 31/08/2023 00:00:00.000 31/08/2022 00:00:00.000 1 142,6900000000000
3320A8EFD573 0,00 DPVAT - Seguro Obrigatório 1 1020 A 31/08/2022 00:00:00.000 31/08/2021 00:00:00.000 1 0,0000000000000
FA06E4F36F10 142,69 Taxa de Licenciamento Veicular 1 75 A 30/04/2023 00:00:00.000 30/04/2022 00:00:00.000 1 142,6900000000000
FA06E4F36F10 1288,46 IPVA - Estado de Santa Catarina 1 75 A 30/04/2020 00:00:00.000 30/04/2019 00:00:00.000 1 1288,4600000000000
3320A8EFD573 37,90 DPVAT - Seguro Obrigatório 1 1020 A 31/08/2020 00:00:00.000 31/08/2019 00:00:00.000 1 37,9000000000000
3320A8EFD573 1156,00 IPVA - Estado de Santa Catarina 1 1020 A 31/08/2022 00:00:00.000 31/08/2021 00:00:00.000 1 1156,0000000000000
3320A8EFD573 1630,45 Seguro - Ônibus Fretamento Anual Matriz 1 1020 A 10/08/2023 00:00:00.000 10/08/2022 00:00:00.000 1 1630,4500000000000
3320A8EFD573 1172,31 IPVA - Estado de Santa Catarina 1 1020 A 31/08/2021 00:00:00.000 31/08/2020 00:00:00.000 1 1172,3100000000000
3320A8EFD573 0,00 Cronotacógrafos 706 1020 (null) 25/03/2024 00:00:00.000 01/04/2022 00:00:00.000 1 0,0000000000000
FA06E4F36F10 119,62 Taxa de Licenciamento Veicular 1 75 A 30/04/2020 00:00:00.000 30/04/2019 00:00:00.000 1 119,6200000000000
FA06E4F36F10 129,08 Seguro - Ônibus Fretamento Mês Matriz 1 75 M 10/08/2020 00:00:00.000 10/08/2019 00:00:00.000 1 129,0800000000000
3320A8EFD573 128,85 Taxa de Licenciamento Veicular 1 1020 A 31/08/2022 00:00:00.000 31/08/2021 00:00:00.000 1 128,8500000000000
FA06E4F36F10 0,00 Cronotacógrafos 706 75 (null) 24/04/2022 00:00:00.000 12/05/2020 00:00:00.000 1 0,0000000000000
FA06E4F36F10 0,00 Cronotacógrafos 706 75 (null) 13/04/2024 00:00:00.000 27/04/2022 00:00:00.000 1 0,0000000000000
não conheço teus registros, mas imagino o seguite:
produto valor emissao validade x 1000 15/01/23 23/08/23 y 800 17/01/23 14/05/23
o resultado, segundo o que você solicitou, seria:
produto emissao taxa coluna1 coluna2 coluna3 coluna4 coluna5 coluna6 coluna7 coluna8 x 15/01/23 125 01/01/23 01/02/23 01/03/23 01/04/23 01/05/23 01/06/23 01/07/23 01/08/23 y 17/01/23 160 01/01/23 01/02/23 01/03/23 01/04/23 01/05/23
como o número de colunas varia, pra não usar PIVOT, talvez possa ser apresentado o número de meses e o valor mensal:
SELECT DISTINCT e.OIDBem, ee.Valor, tee.Descricao, tee.Periodicidade, e1.Identificacao, tee.TipoPeriodicidade, ee.DtValidade, ee.DtEmissao, datediff(month, ee.DtEmissao, ee.DtEmissao)+1 meses, round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtEmissao)+1),3) taxa FROM EquipamentoEvento ee INNER JOIN Equipamento e ON ee.OIDBem = e.OIDBem INNER JOIN EquipamentoEvento ee1 ON e.OIDBem = ee1.OIDBem INNER JOIN TipoEquipamentoEvento tee ON ee.OIDTipoEquipamentoEvento = tee.OIDTipoEquipamentoEvento INNER JOIN vEquipamento e1 ON ee.OIDBem = e1.OIDBem LEFT OUTER JOIN Documento ON e.OIDBem = ee1.OIDBem WHERE e1.Identificacao IN ('1020','75') and ee.Valor IS NOT NULL AND ee.DtEmissao BETWEEN '2019/01/01' AND GETDATE()
Olá Emerson Nascimento,
Agradeço desde já sua atenção em me ajudar. Segue abaixo parte do resultado na consulta, perceba que a coluna meses trouxa apena 1, busquei algumas soluções no seu codigo no entanto não obtive sucesso, caso vc consiga me auxiliar agradeço!
OIDBem Valor Descricao Periodicidade Identificacao TipoPeriodicidade DtValidade DtEmissao meses taxa
FA06E4F36F10 0,00 Cronotacógrafos 706 75 (null) 24/05/2020 00:00:00.000 24/04/2020 00:00:00.000 1 0,0000000000000
3320A8EFD573 129,08 Seguro - Ônibus Fretamento Mês Matriz 1 1020 M 10/08/2020 00:00:00.000 10/08/2019 00:00:00.000 1 129,0800000000000
3320A8EFD573 10,57 DPVAT - Seguro Obrigatório 1 1020 A 31/08/2021 00:00:00.000 31/08/2020 00:00:00.000 1 10,5700000000000
3320A8EFD573 123,53 Taxa de Licenciamento Veicular 1 1020 A 31/08/2021 00:00:00.000 31/08/2020 00:00:00.000 1 123,5300000000000
FA06E4F36F10 37,90 DPVAT - Seguro Obrigatório 1 75 A 30/04/2020 00:00:00.000 30/04/2019 00:00:00.000 1 37,9000000000000
FA06E4F36F10 1250,29 IPVA - Estado de Santa Catarina 1 75 A 30/04/2021 00:00:00.000 30/04/2020 00:00:00.000 1 1250,2900000000000
3320A8EFD573 129,08 Seguro - Ônibus Fretamento Mês Matriz 1 1020 M 10/08/2021 00:00:00.000 10/08/2020 00:00:00.000 1 129,0800000000000
3320A8EFD573 1725,41 Seguro - Ônibus Fretamento Anual Matriz 1 1020 A 10/08/2024 00:00:00.000 10/08/2023 00:00:00.000 1 1725,4100000000000
FA06E4F36F10 128,85 Taxa de Licenciamento Veicular 1 75 A 30/04/2022 00:00:00.000 30/04/2021 00:00:00.000 1 128,8500000000000
3320A8EFD573 142,69 Taxa de Licenciamento Veicular 1 1020 A 31/08/2023 00:00:00.000 31/08/2022 00:00:00.000 1 142,6900000000000
3320A8EFD573 0,00 DPVAT - Seguro Obrigatório 1 1020 A 31/08/2022 00:00:00.000 31/08/2021 00:00:00.000 1 0,0000000000000
FA06E4F36F10 142,69 Taxa de Licenciamento Veicular 1 75 A 30/04/2023 00:00:00.000 30/04/2022 00:00:00.000 1 142,6900000000000
FA06E4F36F10 1288,46 IPVA - Estado de Santa Catarina 1 75 A 30/04/2020 00:00:00.000 30/04/2019 00:00:00.000 1 1288,4600000000000
3320A8EFD573 37,90 DPVAT - Seguro Obrigatório 1 1020 A 31/08/2020 00:00:00.000 31/08/2019 00:00:00.000 1 37,9000000000000
3320A8EFD573 1156,00 IPVA - Estado de Santa Catarina 1 1020 A 31/08/2022 00:00:00.000 31/08/2021 00:00:00.000 1 1156,0000000000000
3320A8EFD573 1630,45 Seguro - Ônibus Fretamento Anual Matriz 1 1020 A 10/08/2023 00:00:00.000 10/08/2022 00:00:00.000 1 1630,4500000000000
3320A8EFD573 1172,31 IPVA - Estado de Santa Catarina 1 1020 A 31/08/2021 00:00:00.000 31/08/2020 00:00:00.000 1 1172,3100000000000
3320A8EFD573 0,00 Cronotacógrafos 706 1020 (null) 25/03/2024 00:00:00.000 01/04/2022 00:00:00.000 1 0,0000000000000
FA06E4F36F10 119,62 Taxa de Licenciamento Veicular 1 75 A 30/04/2020 00:00:00.000 30/04/2019 00:00:00.000 1 119,6200000000000
FA06E4F36F10 129,08 Seguro - Ônibus Fretamento Mês Matriz 1 75 M 10/08/2020 00:00:00.000 10/08/2019 00:00:00.000 1 129,0800000000000
3320A8EFD573 128,85 Taxa de Licenciamento Veicular 1 1020 A 31/08/2022 00:00:00.000 31/08/2021 00:00:00.000 1 128,8500000000000
FA06E4F36F10 0,00 Cronotacógrafos 706 75 (null) 24/04/2022 00:00:00.000 12/05/2020 00:00:00.000 1 0,0000000000000
FA06E4F36F10 0,00 Cronotacógrafos 706 75 (null) 13/04/2024 00:00:00.000 27/04/2022 00:00:00.000 1 0,0000000000000
GOSTEI 0
Adriano Anacleto
23/08/2023
Olá Emerson Nascimento,
Perfeito! agora rodou conforme esperado!
Grato pelo seus auxílios!
Perfeito! agora rodou conforme esperado!
Grato pelo seus auxílios!
GOSTEI 0
Adriano Anacleto
23/08/2023
está errada a passagem de parâmetros para a função. deveria ser data de emissão e data de validade.
datediff(month, ee.DtEmissao, ee.DtValidade)+1 meses,
round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtValidade)+1),3) taxa
datediff(month, ee.DtEmissao, ee.DtValidade)+1 meses,
round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtValidade)+1),3) taxa
Olá Emerson Nascimento,
Perfeito! agora rodou conforme esperado!
Grato pelo seus auxílios!
GOSTEI 0
Adriano Anacleto
23/08/2023
está errada a passagem de parâmetros para a função. deveria ser data de emissão e data de validade.
datediff(month, ee.DtEmissao, ee.DtValidade)+1 meses,
round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtValidade)+1),3) taxa
datediff(month, ee.DtEmissao, ee.DtValidade)+1 meses,
round(ee.Valor / (datediff(month, ee.DtEmissao, ee.DtValidade)+1),3) taxa
Olá Emerson Nascimento,
Perfeito! agora rodou conforme esperado!
Grato pelo seus auxílios!
Olá Emerson Nascimento,
Como eu faria para apresentar uma coluna com dia/mes/ano entre as datas de Emissão e Validade para que possa fazer uma linha do tempo, preciso carregar essa consulta no Dashboard de BI. A consulta rodou calculou a divisão corretamente, agora precisaria de uma coluna auxiliar que seja apresentado por exemplo as datas de cada mês pode ser como exemplo:
Data Emissão 10/08/2023 com validade 10/08/2024
01/08/2023
01/09/2023
01/10/2023
01/11/2023
01/12/2023
01/01/2024
01/02/2024
01/03/2024
01/04/2024
01/05/2024
01/06/2024
01/07/2024
GOSTEI 0