Ir para conteúdo
Fórum Script Brasil
  • 0

Consulta Média Móvel Completa


Marcio S Melo

Pergunta

Preciso fazer uma consulta em SQL. Tenho dois campos : data no formato aaaamm (por exemplo: 20101 para janeiro de 2010) e outro com uma chave ‘sim’ ou ‘não’,

O resultado que preciso chegar em junho de 2010 é igual a soma dos ‘sim’ de junho, maio, abril sobre o total de registros que tenho neste mesmo período, para os mês de maio teria maio, abril, março, etc.... isso para todos os meses de 2010, 2009 e 2008.

Editado por Marcio S Melo
Link para o comentário
Compartilhar em outros sites

6 respostass a esta questão

Posts Recomendados

  • 0

Como assim? Você precisa de quantos meses nessa soma? três?

Pode tentar isso aqui

SELECT
    SUM(IIF(chave = 'sim',1,0)) AS Soma
FROM
    tabela
WHERE
    data BETWEEN
        DATEADD('m', -2, FORMAT([Qual o ano e mês? no formato aaaa/mm], 'yyyy/mm'))
        AND
        FORMAT([Qual o ano e mês? no formato aaaa/mm], 'yyyy/mm')
;

Editado por Iceguy
Link para o comentário
Compartilhar em outros sites

  • 0

Por favor me ajudem. Segue abaixo a consulta:

O output é o resultado mensal

SELECT [base Reduzida (Range 3 anos)].DataREFERENCIA, [base Reduzida (Range 3 anos)].QUESTÃO, Round((Sum(IIf([base Reduzida (Range 3 anos)].[RESPOSTA]='TS' Or [base Reduzida (Range 3 anos)].[RESPOSTA]='S',1,0))/Count([base Reduzida (Range 3 anos)].[RESPOSTA]))*100,1) AS RESULTADO, Count([base Reduzida (Range 3 anos)].RESPOSTA) AS PESQUISAS

FROM [base Reduzida (Range 3 anos)]

GROUP BY [base Reduzida (Range 3 anos)].DataREFERENCIA, [base Reduzida (Range 3 anos)].QUESTÃO;

O que falta ainda é que o resultado exibido correspondente a cada mês acumulasse sempre os últimos três meses

Por exemplo, o resultado de junho acumula o total de ‘TS’ ou ‘S’ dos meses de junho, maio, abril

RESULTADO de Junho/2012 = Total de ‘TS’ ou ‘S’ dos meses de junho, maio, abril sobre o total de pesquisas de junho, maio, abril

RESULTADO de Maio/2012 = Total de ‘TS’ ou ‘S’ dos meses de maio, abril, março sobre o total de pesquisas de maio, abril, março

RESULTADO de Abril/2012 = Total de ‘TS’ ou ‘S’ dos meses de abril, março, fevereiro sobre o total de pesquisas de abril, março, fevereiro

Preciso desta forma entre hoje e janeiro de dos dois anos anteriores

Link para o comentário
Compartilhar em outros sites

  • 0

Podia ter continuado o tópico anterior, nã havia necessidade de abrir outro, afinal de contas o assunto é o mesmo, não é?

Tenta algo como SUM(IIF([RESPOSTA] IN ('S','TS') AND DataREFERENCIA BETWEEN DATEADD('m',-2,DataREFERENCIA) AND DataREFERENCIA,1,0))

*Não testei

Link para o comentário
Compartilhar em outros sites

  • 0

SELECT Format(([DATAREFERENCIA]),"mm/yyyy") AS DT, [bASE BRUTA].QUESTÃO, Sum(IIf([bASE BRUTA].[RESPOSTA] In ('S','TS','ANTES') And [bASE BRUTA].[DataREFERENCIA] Between DateAdd('m',-2,[DataREFERENCIA]) And [DataREFERENCIA],1,0)) AS TS_1m

FROM [bASE BRUTA]

GROUP BY Format(([DATAREFERENCIA]),"mm/yyyy"), [bASE BRUTA].QUESTÃO, Mid([QUESTÃO],4,1)

HAVING (((Mid([QUESTÃO],4,1))="Q"));

ele acaba não fazendo o agrupamento de forma correta, o output continua equivalente ao resultado mensal

Uma outra alternativa que estou tentando é a partir da consulta gerada com os resultado mensais somar os últimos 3 meses

SELECT [RESULTADO NACIONAL].DATAREFERENCIA, Sum(CASE WHEN [RESULTADO NACIONAL].M in('6','5','4') THEN [RESULTADO NACIONAL].TS_1m ELSE 0 END) AS SubTotal

FROM [RESULTADO NACIONAL]

GROUP BY [RESULTADO NACIONAL].DATAREFERENCIA;

'CASE WHEN' funciona no Access? com a consulta acima a seguinte mensagem de erro é exibida : 'Erro de Sintaxe (Operador Faltando)

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...