Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa tarde!
Tenho a seguinte informação em uma planilha:
Mês/Ano_Inicio | Valor |
abr/14 | 84.000,00 |
mar/14 | 130.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?
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.
Desculpe, Valerio, mas não ficou claro o problema e os cálculos envolvidos.
Eduardo
A lógica seria Março + (Abril+Abril) ?
=Sum({$<Mes={">$(=min(Mes))"}>} Vendas) +(Sum({$<Mes={">$(=Max(Mes))"}>} Vendas) + Sum({$<Mes={">$(=Max(Mes))"}>} Vendas))
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.
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
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.
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.
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.