Fazer calculo da média movel com datas

27/12/2015

2

Olá pessoal, estou com um problema e preciso de uma luz, tenho uma tabela com valores e datas (em datetime) que tem datas desde o começo do mês até o final, nos respectivos dias de compras ex: 2015-12-22, 2015-12-26 e por ai vai, preciso criar uma query ou uma function que retorne os calculos dessas datas pela média movel, ou seja, se eu quero a média movel do começo do dia primeiro, então eu pego cada data e divido pela quantidade de dias que eu quero saber a média movel, então tem um resultado, só que preciso que essa query ou function retorne todos os pontos calculados, ou seja, pegando o exemplo do dia 22, eu quero saber o do mês 12, logo seria o valor total do campo de compra daqueles dias, dividido por 22, preciso de uma query que retorne esse calculo dos dias pra mim, alguém tem alguma luz de como eu poderia fazer isso? Não obtive êxito na minhas tentativas...
Responder

Posts

28/12/2015

Edson Venancio

Da uma lida nesse link man talvez abstraia algo ..[url:descricao=http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/refatoracao-os-indicadores-da-bolsa/#6-4-exercicios-criando-indicadores]http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/refatoracao-os-indicadores-da-bolsa/#6-4-exercicios-criando-indicadores[/url]
Responder

28/12/2015

Patrick

Da uma lida nesse link man talvez abstraia algo ..[url:descricao=http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/refatoracao-os-indicadores-da-bolsa/#6-4-exercicios-criando-indicadores]http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/refatoracao-os-indicadores-da-bolsa/#6-4-exercicios-criando-indicadores[/url]



Olá Edson, eu já tenho esse link, eu abstrai a "lógica" dele, porém não consigo transformar isso em uma function SQL pelo nível de conhecimento... Ai queria algo mais claro, se possível em uma function de exemplo...
Responder

28/12/2015

Isaac Jose

Bom dia a todos.

Amigo essa situação não é a mesma desse seu outro post? Func
Responder

28/12/2015

Isaac Jose

Bom dia a todos.

Amigo essa situação não é a mesma desse seu outro post?
http://www.devmedia.com.br/forum/calcular-media-movel-dos-ultimos-30-dias/540659.
Responder

28/12/2015

Patrick

Bom dia a todos.

Amigo essa situação não é a mesma desse seu outro post? Func


Olá Isaac, mudou um pouco, porém resolvi criar outro, pra deixar mais claro... Já que o outro estava confuso...
Responder

28/12/2015

Isaac Jose

update tabela_com_Dia
set  qtddiautil = (
 
select manutencao.fn_Dias_Uteis((select  DataInicio = CAST(MAX(BintAno)AS VARCHAR(4))+'-'+
                     CAST(MAX(tintmes)AS VARCHAR(2))+'-'+
                     '01'
        from producao.Tb_AcumProd_PFPJ_Dia)
        ,(SELECT
         
        DataFim    = CAST(MAX(BintAno)AS VARCHAR(4))+'-'+
                     CAST(MAX(tintmes)AS VARCHAR(2))+'-'+
                     CAST(MAX(tintdia)AS VARCHAR(2))
from tabela_com_Dia a
where  a.tintMes =(select (max(tintmes)) from tabela_com_Dia )
 
       )))


veja a função eu dou uma data inicio e fim de acordo com o que tenho na tabela de produção e só vc adaptar para ela pegar como dtinicio o max mês -1 do max ano iniciando do dia que vc quiser com isso terá os dias depois e só dividir
Responder

05/01/2016

Patrick

update tabela_com_Dia
set  qtddiautil = (
 
select manutencao.fn_Dias_Uteis((select  DataInicio = CAST(MAX(BintAno)AS VARCHAR(4))+'-'+
                     CAST(MAX(tintmes)AS VARCHAR(2))+'-'+
                     '01'
        from producao.Tb_AcumProd_PFPJ_Dia)
        ,(SELECT
         
        DataFim    = CAST(MAX(BintAno)AS VARCHAR(4))+'-'+
                     CAST(MAX(tintmes)AS VARCHAR(2))+'-'+
                     CAST(MAX(tintdia)AS VARCHAR(2))
from tabela_com_Dia a
where  a.tintMes =(select (max(tintmes)) from tabela_com_Dia )
 
       )))


veja a função eu dou uma data inicio e fim de acordo com o que tenho na tabela de produção e só vc adaptar para ela pegar como dtinicio o max mês -1 do max ano iniciando do dia que vc quiser com isso terá os dias depois e só dividir


Não entendi muito bem ainda Isaac...
Responder

05/01/2016

Alex Lekao

rapaz, eu nao manjo desse paranaue. kkkkk

mas esta me parecendo que tem que usar recursividade, ai ja eh outro nivel para mim. rsrsr,

vou ficar devendo, desculpe.
Responder