Array
(
)

Fazer calculo da média movel com datas

Patrick
   - 27 dez 2015

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...

Patrick
   - 28 dez 2015


Citação:
Da uma lida nesse link man talvez abstraia algo ..http://www.caelum.com.br/apostila-java-testes-xml-design-patterns/refatoracao-os-indicadores-da-bolsa/#6-4-exercicios-criando-indicadores


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...

Isaac Jose
   - 28 dez 2015

Bom dia a todos.

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

Isaac Jose
   - 28 dez 2015


Citação:
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.

Patrick
   - 28 dez 2015


Citação:
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...

Isaac Jose
   - 28 dez 2015

#Código

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

Patrick
   - 05 jan 2016


Citação:
#Código

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...

Alex Lekao
   - 05 jan 2016

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.