Skip to main content
Announcements
NEW: Seamless Public Data Sharing with Qlik's New Anonymous Access Capability: TELL ME MORE!
cancel
Showing results for 
Search instead for 
Did you mean: 
valerioms
Creator
Creator

Faturamento planejado

Boa tarde!

Tenho a seguinte informação em uma planilha:

Mês/Ano_InicioValor
abr/1484.000,00
mar/14130.000,00

Preciso somar o valor do menor mês (no caso 130.000) e do mês atual (no caso o valor de abr/14 multiplicado por ele mesmo e Maio) o que daria 168.000. A soma total seria 298.000. Como fazer?

1 Solution

Accepted Solutions
Anonymous
Not applicable

No meu exemplo, eu criei uma variável vDataMin cujo valor é a menor data das transações. Ela é a data a partir da qual começamos a preencher os valores que faltavam. Fiz assim:

DataTemp:

Load

  Min(Mês_Ano_Inicio) as DataMin

Resident DadosOriginais;

Let vDataMin = Num(MonthStart(Peek('DataMin')));

Se você quer que isso aconteça apenas para um determinado meses anteriores ao atual, você pode usar o seguinte:

NumMeses:

Load

  36 as NumMeses

AutoGenerate 1;

Let vDataMin = Num(AddMonths(MonthStart(Today()), -Peek('NumMeses')));

Anexo está outro exemplo.

View solution in original post

7 Replies
eduardo_sommer
Partner - Specialist
Partner - Specialist

Desculpe, Valerio, mas não ficou claro o problema e os cálculos envolvidos.

Eduardo

junior_ehlke
Creator III
Creator III

A lógica seria Março + (Abril+Abril) ?
=Sum
({$<Mes={">$(=min(Mes))"}>} Vendas) +(Sum({$<Mes={">$(=Max(Mes))"}>} Vendas) + Sum({$<Mes={">$(=Max(Mes))"}>} Vendas))



valerioms
Creator
Creator
Author

Não Hamilton. Seria Março + Abril + Maio e assim consequentemente todo mês. O mês atual o sistema terá que entender sozinho e pegar o valor do mês anterior.

Anonymous
Not applicable

Oi, Valerio.

Se eu entendi corretamente, você quer que os meses que não possuem dados assuam os valores do mes anterior. Anexo vai um QVW com um script que faz isso. Por favor, dê uma olhada. Usando os seus dados, obtemos a soma de 298.000 como esperado.

Bruno

valerioms
Creator
Creator
Author

Olá Bruno, sim é isto mesmo. Mas ficou a faltar uma informação que não coloquei e que precisa ser incluída. Existe uma outra coluna a determinar o número de meses em que deve acontecer. Neste caso são 36 meses. Esta informação é variável.

Anonymous
Not applicable

No meu exemplo, eu criei uma variável vDataMin cujo valor é a menor data das transações. Ela é a data a partir da qual começamos a preencher os valores que faltavam. Fiz assim:

DataTemp:

Load

  Min(Mês_Ano_Inicio) as DataMin

Resident DadosOriginais;

Let vDataMin = Num(MonthStart(Peek('DataMin')));

Se você quer que isso aconteça apenas para um determinado meses anteriores ao atual, você pode usar o seguinte:

NumMeses:

Load

  36 as NumMeses

AutoGenerate 1;

Let vDataMin = Num(AddMonths(MonthStart(Today()), -Peek('NumMeses')));

Anexo está outro exemplo.

valerioms
Creator
Creator
Author

Olá Bruno.

Por favor, esqueça todas as informações que trocamos até agora. Vamos começar de novo. kkk. Desculpe. Sou novo em QlikView e não manjo muita coisa ainda. Envio um anexo onde constam 4 informações. A chave é o campo com este nome. Para esta chave eu tenho dados inseridos até certo mês. Entretanto devo considerar o início, neste caso Janeiro e somar até o mês atual, Maio (q não consta no anexo). Para cada chave isto vai acontecer muitas vezes, ou seja eu terei apenas a informação inicial, o resto o sistema deve detectar. Deve-se considerar sempre o valor do mês anterior, desde que este, não seja informado. Caso seja, o que deve ser considerado é o informado. Outra informação relevante, para cada chave eu tenho um tempo de contrato conforme a coluna com o mesmo nome. O sistema deverá gerar valores de acordo com o tempo citado na respectiva coluna. Mas, só serão visíveis as informações do início até o mês vigente. Tentei ser o mais explícito possível na planilha anexa. Aguardo seu retorno. Muito obrigado.