Pessoal,
Bom dia.
Estou com uma dúvida que está me deixando incomodado no Qlik Sense
Parece fácil de resolver mas eu não estou conseguindo.
É o seguinte:
Preciso criar uma coluna com os valores orçados de meta de venda em volume em uma tabela simples que possui todo o nosso movimento de vendas em volume e outros números.
A regra é: Aos domingos não deve existir valores, aos sábados eu tenho que definir minha meta em 50% e em dias de semana normais tenho que mostrar o valor cheio, usando dias úteis de cada mês que estão guardados em uma tabela.
Por exemplo: para determinado mês tenho 90.000 toneladas orçadas. Desta forma tenho que dividir este valor por igual entre os dias úteis e aplicar 0,5 desse valor diário para os sábados e o valor cheio para os dias úteis.
Poderiam me ajudar ? Já procurei vários exemplos na comunidade mas não achei nada muito parecido.
Abraço a todos.
André,
Se você tiver algum exemplo seria mais fácil, mas de qualquer forma deixa eu sugerir algo:
Criar uma variável para a meta diária:
vMetaDiaria=>Sum(TonOrcada) / Count(NetWorkDays(Min(Data),Max(Data),$(vFeriados)))
E daí, usamos o if para criar a situação necesária:
If(WeekDay(Data)=5,$(vMetaDiaria)*0.5,$(vMetaDiaria))
//Aqui o que fizemos no if = Se dia da semana for Sábado (WeekDay() = 5), considera 0,5 da meta, se não considera a 100% da meta.
Nessa sugestão calculo vFeriados no script. Veja aqui como: Re: Projeção de Vendas
Thiago,
Bom dia.
Antes de mais nada quero te agradecer demais por me responder.
Eu fiz mais ou menos desta forma. Porém tenho alguns pontos que diferenciam o exemplo que você me passou pois temos duas tabelas que armazenam os dias úteis e os feriados.
Daí tentei das seguintes formas:
//sem o domingo:
if([Dia Semana] = 'sáb', Sum({$<mes =, ano = >}toneladas_bdg)/DiasUteisMes * 0.5,
if([Dia Semana] = 'dom', ' ', Sum({$<mes =, ano = >}toneladas_bdg)/DiasUteisMes * 1))
Tenho o seguinte resultado:
Neste caso, não está zerando o valor orçado do dia 1 de maio que foi feriado e não divide o valor em partes iguais por todos os dias úteis. tenho 90.561 toneladas orçadas e quando trago para a tabela onde quero mostrar o valor, tenho 93.501.
Tentei adaptar esta fórmula que é usada no valor projetado, mas também não dá certo:
if (Dimensionality() = 0,sum({<[Data Documento]= {"=$(=max([Data Documento]))"}>}toneladas_bdg),
aggr(rangesum(above($(vVolBDG),0,rowno(total)))/rangesum(above(only(CountDiaUtilHist),0,rowno(total))),[Data Documento])*DiasUteisMes)
Tenho o seguinte resultado:
Neste eu consigo tratar corretamente os dias úties, mas não entendo de onde vem o valor enorme que a fórmula calcula. A variável vVolBDG é =Sum(toneladas_bdg).
Podes me ajudar ???
Abraço.