Bom dia,
Preciso definir os meses como números (Janeiro=1; Fevereiro=2..) para criar uma variável para receber esses números.
Por exemplo, quero analisar os últimos 4 meses, estamos em outubro logo vMonth=10. Agora para analisar Setembro, Agosto e Julho usaria uma lógica do tipo: vMonth - 1 ; vMonth - 2 ; vMonth - 3.
Alguém saberia me ajudar?
Francisco, boa tarde!
Vamos lá..
Primeiramente se o seu campo de data da sua tabela estiver apenas o mês e ele estiver no formato, Janeiro, Fevereiro e etc, não vai adiantar você fazer nenhum comando para transforma-lo em data.. a primeira coisa e muda-lo no script.
Ou seja, pra criar o campo vai ser assim..
IF(CampoMes = 'Janeiro', 1,
IF(CampoMes = 'Fevereiro',2,
IF(CampoMes = 'Março',3))) AS CAMPOMES.. lembrando de fazer até dezembro.
Depois disso para criar a variável de navegação sera assim..
Se você quiser analisar sempre os últimos 4 meses a partir do mês atual ficará mais ou menos assim..
sum({< CampoMes = {'>=$(=month( AddMonths( today(),-4) ) )'} >} Valor) isso traria a soma dos valores de 4 meses atras até hoje.. ai você pode usar varias formas diferentes..
Qualquer dúvida à disposição.
Use a função addmonths e estabeleça o critério como -1, -2, -3.
Addmonths(SeuCampoDeData, -1), retornará o mês anterior.
Ou, também Date(today(), 'M')
Att,
Francisco,
Para transformar mês alfa para mês numerico basta utilizar a função num():
num(month(CampoData),'##').
Mas pelo que entendi da sua necessidade o fernando deu uma boa alternativa.
Francisco, boa tarde!
Vamos lá..
Primeiramente se o seu campo de data da sua tabela estiver apenas o mês e ele estiver no formato, Janeiro, Fevereiro e etc, não vai adiantar você fazer nenhum comando para transforma-lo em data.. a primeira coisa e muda-lo no script.
Ou seja, pra criar o campo vai ser assim..
IF(CampoMes = 'Janeiro', 1,
IF(CampoMes = 'Fevereiro',2,
IF(CampoMes = 'Março',3))) AS CAMPOMES.. lembrando de fazer até dezembro.
Depois disso para criar a variável de navegação sera assim..
Se você quiser analisar sempre os últimos 4 meses a partir do mês atual ficará mais ou menos assim..
sum({< CampoMes = {'>=$(=month( AddMonths( today(),-4) ) )'} >} Valor) isso traria a soma dos valores de 4 meses atras até hoje.. ai você pode usar varias formas diferentes..
Qualquer dúvida à disposição.
Francisco,
não esquecer que o campo quando criado pelo month() é um campo DUAL, ou seja, tem numero e texto no mesmo campo.