Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde pessoal!
Fiz uma formula para somar o periodo anterior, conforme abaixo:
>>>Mes anterior
=SUM({1<MonthYear={"$(=MonthName(addmonths(Date(max(EMISSAO)),-1)))"},TIPO_MOVTO={'V','E'},ITEM=p(ITEM),PARCEIRO=p(PARCEIRO),MEDICO=p(MEDICO),NOME_CLI=P(NOME_CLI),FABRICANTE=p(FABRICANTE),CONVENIO=p(CONVENIO),NOMEVEND=p(NOMEVEND),MUNICIPIO=p(MUNICIPIO)>}[BRUTO - DCOM - DFIN])
Gostaria de saber se existe alguma forma de não precisar incluir todos os campos, passível de seleção (CAMPO=p(CAMPO)), pois fazendo assim, se eu mudar/acrescentar qualquer campo na aplicação eu preciso ajustar a formula.
Obrigado pelo retorno, Thiago!
Mas assim não funciona porque eu preciso selecionar um mês e terá que vir a soma deste, que já estava ok e do mês anterior. Eu busquei outras soluções aqui na comunidade e resolvi da seguinte forma:
=SUM({<ANO=,Month=,MonthYear={"$(=MonthName(addmonths(Date(max(EMISSAO)),-1)))"},TIPO_MOVTO={'V','E'}>}[BRUTO - DCOM - DFIN])
Carlito,
Talvez assim sirva:
Sum({<EMISSAO={">=$(=MonthStart(today (),-1))<=$(=MonthEnd(today (),-1))"},TIPO_MOVTO={'V','E'},>}[BRUTO - DCOM - DFIN])
Obrigado pelo retorno, Thiago!
Mas assim não funciona porque eu preciso selecionar um mês e terá que vir a soma deste, que já estava ok e do mês anterior. Eu busquei outras soluções aqui na comunidade e resolvi da seguinte forma:
=SUM({<ANO=,Month=,MonthYear={"$(=MonthName(addmonths(Date(max(EMISSAO)),-1)))"},TIPO_MOVTO={'V','E'}>}[BRUTO - DCOM - DFIN])
Thiago, tudo bem?
Pode me explicar seu codigo pq set analysis é meu fraco.
Sum({<EMISSAO={">=$(=MonthStart(today (),-1)) //Pelo que eu entendi aqui voce esta fazendo uma comparação de tudo o que for menor ou igual a $(=MonthStart(today (),-1), tambem não entendo o motivo do $
<= // o que faz essa parte é um simples menor igual tambem? Se for o caso ele entra como AND ou OR?
Sum({<EMISSAO={">=$(=MonthStart(today (),-1))<=$(=MonthEnd(today (),-1))"},TIPO_MOVTO={'V','E'},>}[BRUTO - DCOM - DFIN])
// porque essa ultima virgula? Só erro de digitação?
Obrigado
Vamos por partes Eduardo,
>=$(=MonthStart(today (),-1)) >> considerando a data de hoje, esse pedaço retorna 01/07/2018
(MonthStart de today() - 1 mês)
<=$(=MonthEnd(today (),-1)) >> considerando a data de hoje, esse pedaço retorna 31/07/2018
(MonthEnd de today() - 1 mês)
O dollar expansion ($) se faz necessário pois estamos querendo o resultado da função MonthStart, por exemplo. Assim, o $ retorna o valor calculado...
Ou seja, aqui eu defino um intervalo para a EMISSAO: 01/07/2018 até 31/07/2018. Por isso uso >= E <=.
Quanto a última vírgula, é erro meu mesmo hehe...não deveria estar ali. Culpa do Ctrl+C e Ctrl+V. Quis aproveitar a expressão do Carlito e só editei com a minha ideia, daí esqueci dessa bendita vírgula aí.
Essa era minha duvida, porque na minha cabeça estava que voce queria esse intervalo, mas como não vi um AND ou OR fiquei confuso. Entao sempre que não tiver um operador entre um intervalo sera considerado E? e se eu quisesse Ou como ficaria?
O dollar sempre vai preceder uma função?
Eduardo,
Veja, o dollar sign precede uma função dentro do set...mas não necessariamente precisaria aparecer num intervalo numérico. Exemplo: Quero somar vendas cujo dia de venda (independente de mês ou ano) seja entre 5 e 10:
Sum({<DiaVenda={">=5<=10"}>}ValorVenda)
Nesse caso, basta setar o intervalo e pronto (considerando que a utilização de aspas simples e duplas já seja fácil pra você, é isso).