Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Valor do ultimo dia do mês

Boa tarde!

No gráfico de tabela simples, tenho uma visão de saldo mensal, porem no script esse saldo está diário, como faço para ter o saldo do ultimo dia de cada mês?

1 Solution

Accepted Solutions
lucianosv
Specialist
Specialist

Como eu respondi antes:

IF(date(monthsend(campo data),'DD/MM/YYYY') = date(campo data, 'DD/MM/YYYY') , 'S', 'N') as FlagUltimoDia

Pode haver algum errinho de sintaxe, mas ai fica fácil você corrigir.

View solution in original post

4 Replies
lucianosv
Specialist
Specialist

Bom dia.

Existe a função abaixo:

MonthsEnd(n, data [, turno = 0 [, primeiro_mês_do_ano = 1]])

Retorna um valor correspondente a uma data/hora com o último milissegundo do período de n meses (iniciando em 1º de janeiro) que contém a data. O formato de saída padrão será o DateFormat configurado no script. N deve ser (1), 2, (3), 4 ou 6. Turno é um inteiro, em que o valor 0 indica o período que contém a data. Valores negativos em turno indicam períodos anteriores e valores positivos indicam períodos posteriores. Se desejar alinhar com anos (fiscais) que não comecem em janeiro, indique um valor entre 2 e 12 em primeiro_mês_do_ano.

Exemplos:

monthsend ( 4, '2001-07-19' ) retorna '2001-08-31' com um valor numérico subjacente correspondente a '2001-08-31 23:59:59.999'

monthsend ( 4, '2001-10-19', -1 ) retorna '2001-08-31' com um valor numérico subjacente correspondente a '2001-08-31 23:59:59.999'

monthsend ( 4, '2001-10-19', 0, 2 ) retorna '2002-01-31' com um valor numérico subjacente correspondente a '2002-01-31 23:59:59.999'

Acredito que perguntando se a data que você utiliza for igual a MonthsEnd(mesma data), você pode criar um campo apontando o último dia de cada mês(Ex: Flag_UltDia = 'S')  e utilizar no set analisys.

Anonymous
Not applicable
Author

como seria a condicional para criar o campo Flag_UltDia no script?

lucianosv
Specialist
Specialist

Como eu respondi antes:

IF(date(monthsend(campo data),'DD/MM/YYYY') = date(campo data, 'DD/MM/YYYY') , 'S', 'N') as FlagUltimoDia

Pode haver algum errinho de sintaxe, mas ai fica fácil você corrigir.

nicolett_yuri

Complementando a resposta do Luciano, montei um script prático sobre o assunto.

A vantagem do código que postei é que se não houver lançamento no último dia do mês, ele vai retornar sempre o último lançamento para aquele mês como maior data.

Veja o anexo.