Bom dia!
Utilizei esta seguinte fórmula para calcular determinados valores ao longo de um ano no Qlik Sense:
=Sum({$<[Mês]*={'jan','fev','mar','abr','mai','jun'}>}[Valor])
O Set Analysis está correto e está me retornando o que preciso, mas gostaria de saber se há uma fórmula específica para que eu não preciso todo mês, mexer neste código inserindo o mês atual.
Atenciosamente.
Oi Ricardo,
SUM({<DATA= {">=$(=YearStart(Today())) <=$(=Date(MonthStart(Today())-1))"} >} VALOR )
Caso esteja pegando o ano como base 2018,
Essa por exemplo pega do primeiro dia de janeiro 01/01/2018 até 30/06/2018, ai no mês que vem ela pega até 31/07/2018 e assim por diante sem precisar mexer
YearStart(Today()) --> Retorna o primeiro dia do ano
MonthStart(Today()) --> Retorna 01/07/2018
MonthStart(Today())-1 --> Retorna 30/06/2018
Ve se te ajuda assim
Month(Today())-1 não atenderia oque precisa?
Olá Ricardo,
Veja se alguma dessa maneira te ajuda
Today() --> 12/07/2018
Date(Today(),'YYYYMM') --> 201807
DATE(AddMonths(Today(),1),'YYYYMM') --> 201808
DATE(AddMonths(Today(),-1),'YYYYMM') --> 201806
DATE(AddMonths(Today(),-2),'YYYYMM') --> 201805
DATE(AddMonths(Today(),-3),'YYYYMM') --> 201804
DATE(AddMonths(Today(),-12),'YYYYMM') --> 201707 --> Mesmo Mês do Ano Passado
Abaixo a mesma comparação acima, porém dinamico, comparando o Mes atual com o Mes Passado
Valor de Venda do Mês Atual
SUM( {<DT_ANOMES_VENDA={"$(=Date#(Text(DATE(Today(),'YYYYMM'))))"} >} VALOR_VENDA)
Valor de Venda do Mês Anterior
SUM( {<DT_ANOMES_VENDA={"$(=Date#(Text(DATE(AddMonths(Today(),-1),'YYYYMM'))))"} >} VALOR_VENDA)
Valor de Venda do mesmo Mês no Ano Passado
SUM({<DT_ANOMES_VENDA={"$(=Date#(Text(DATE(AddMonths(Today(),-12),'YYYYMM'))))"} >} VALOR_VENDA)
Soma dos Ultimos 6 Meses:
SUM({<DT_ANOMES_VENDA={">=$(=MonthStart(AddMonths(Today(),-6))) <=$(=Date(MonthStart(Today())-1))"}>} VALOR_VENDA)
Espero ter ajudado
Infelizmente não deu certo, era mais ou menos isso mesmo que eu tinha em mente.
Minha fórmula ficou assim:
=Sum({$<[Mês]*={Month(Today())-1}>}[Valor])
Atenciosamente.
Alex, boa tarde!
Você algo que que faça uma soma "ATÉ", de janeiro até determinado mês?
=Sum({< [Mês] = {'$(=[Mês]-1)'} >} [Valor])
Tente assim
Ricardo,
Somar até o mês corrente basicamente seria aplicar um sum(valor). Mas digamos que você queira apenas somar os valores do ano atual (jan até mês corrente):
Sum({<Ano={$(=Max(Ano))}>}Valor)
Ou ainda:
Sum({<Ano={"$(=Year(Today()))"}>}Valor)
Oi Ricardo,
SUM({<DATA= {">=$(=YearStart(Today())) <=$(=Date(MonthStart(Today())-1))"} >} VALOR )
Caso esteja pegando o ano como base 2018,
Essa por exemplo pega do primeiro dia de janeiro 01/01/2018 até 30/06/2018, ai no mês que vem ela pega até 31/07/2018 e assim por diante sem precisar mexer
YearStart(Today()) --> Retorna o primeiro dia do ano
MonthStart(Today()) --> Retorna 01/07/2018
MonthStart(Today())-1 --> Retorna 30/06/2018
Ve se te ajuda assim
Aleluia rsrs Alex, deu certo para o ano de 2018!
Mas fiquei curioso se esta mesma fórmula se aplicaria a um período anterior.
Muito obrigado.
Então Ricardo,
Geralmente quando eu faço algo parecido, sempre crio no Script um campo com ANO/MES,
tipo Date(MinhaData,'YYYY/MM') ai fica mais facil para trabalhar com períodos nos meus SetAnalysis.
Mas pode ir testando com as datas até chegar na data que deseja,
Caso queira pegar o primeiro dia do ano de 2017, por exemplo : AddMonths(YearStart(Today()),-12)
Pode usar a função AddMonths, passando como negativo que ele volta os meses que desejar.
Com esse Analysis aqui {">= $(=DataDe:) <= $(=DataAté:)"} >} da para fazer bastante comparação com intervalos de Data.
Espero ter ajudado.
Não esqueça de finalizar o Tópico caso tenha sanado suas duvidas,
Abraço..
Att.
Alex M. Bender