Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Ajuda a criar expressão

Boa Tarde,

Eu tenho uma situação onde faço um filtro de um material e um mês e obtenho apenas algumas datas, uma vez que esse material não tem valor em alguns dias do mês selecionado.

Com os valores que tenho gostava de obter 2 situações das quais não estou a conseguir resolver.

Podem ver a explicação no .qvw enviado em anexo.

Espero que alguém me possa ajudar.

Obrigada.

Rute

Labels (2)
9 Replies
nicolett_yuri

Ana, você pode criar um calendário (com todos os dias) e vincular com a sua tabela fato, dessa forma você consegue identificar quais os dias não teve venda.

Exemplo de como criar calendário: Função para Criar Calendário (Utilizando Data existente no modelo) ou Função para Criar Calendário (Passando datas)

Anonymous
Not applicable
Author

Yuri,foi decidido retirar todos os registos da tabela de facto com valor igual a zero, isto com o objectivo de termos ganhos na performance e no tamanho do qvw, porque o qvw neste momento já se encontra com 1.5 GB.

Antes de considerar voltar a carregar todos os registos com valores iguais a zero, gostaria realmente de excluir todas as hipóteses de fazer estas expressões, isto porque o carregamento dos registos com valores iguais a zero irá ter um impacto muito negativo uma vez que estamos perante a muita informação.

Relativamente à contagem dos dias que tenho value igual a zero, já está resolvido. Basicamente criei a expressão que me dá a contagem dos dias em que o valor é igual a zero e subtrai esse resultado ao número de dias do respectivo mês.

Agora falta-me uma expressão para calcular os períodos, sem que tenha de aumentar os registos presentes na aplicação.

Ana

nicolett_yuri

Entendo sua preocupação Ana, mas a única forma de fazer essa contagem é criando uma tabela de calendário. A quantidade de registros de uma tabela de calendário é insignificante, apenas uma linha por data, e não causará lentidão em sua aplicação.

Lembre-se que você não vai juntar essas tabelas com JOIN, apenas fará o vinculo com um campo de chave.

Feito isso você coloca a dimensão de data da tabela de Calendário e assim conseguirá contar as datas que não houveram venda.

nicolett_yuri

Apenas corrigindo: Não é a única forma, mas você precisa criar uma maneira de comparar o que você não tem em sua tabela fato que é uma tabela que possui todas as datas possíveis.

Anonymous
Not applicable
Author

Bom Dia,

Eu já tenho uma Master Calendar que contem todos os dias dos meses. No exemplo que dei quis apenas mostrar com que dias fico quando faço o filtro pelo Material A.

Exemplo (Na tabela de facto só temos os registos dos materiais para as datas onde o value é diferente de 0... Mas a Master Calendar terá sempre todos os dias desde a data mínima até a data máxima da aplicação)

MaterialDateValue
B01/05/201512
B02/05/201515
B03/05/2015111
B04/05/20151234
B05/05/20153454
B06/05/2015432
B07/05/20152345
A08/05/20154532
A09/05/2015523
A10/05/2015435
A11/05/20151316
A12/05/20151631
A13/05/20153
A14/05/2015135
A15/05/201512
A16/05/20155132
A17/05/20156645
A18/05/201513
A19/05/2015324
A20/05/2015351
A21/05/20151324
A22/05/2015135
A23/05/201557
A24/05/2015876
A25/05/2015734
A26/05/20153546
A27/05/20152356
A28/05/20152436
B29/05/2015374
B30/05/201584
B31/05/20158756

Resultado que pretendo atingir com uma expressão que me calcule os períodos em que o value é igual a zero:

MaterialPeriodos = 0
A2
B1

Períodos dos respectivos Materiais:

A -> Tem value igual a zero/null nas datas de 01/05/2015 a 07/05/2015 e depois 29/05/2015 a 31/05/2015... O que faz dois períodos!

B -> tem value igual a zero/null nas datas de 08/05/2015 a 28/05/2015... o que faz um período apenas.

Alguém consegue dar uma ideia de como é possível fazer esta expressão para calcular os períodos?

Ana

nicolett_yuri

Segue um exemplo para calcular os dias sem vendas.

Referente ao período: você considera um período o intervalo de quantos dias sem vendas?

Anonymous
Not applicable
Author

Yuri,

Basta um dia sem value para ser considerado um período.

Por Exemplo:

DateValue
01-05-2015234
02-05-20150
03-05-2015244

Teríamos um período entre o dia 1 e o dia 3.

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

2015-06-18 13_09_18-QlikView x64 - [C__tmp_Teste.qvw_].pngAna, boa tarde.

furtado@farolbi.com.br
Clever_Anjos
Employee
Employee

Já achou uma solução? Se sim, marque umas das respostas como "Correta" para fechar o tópico e nos ajudar a manter o forum organizado.