Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
rute_caeiro
New Contributor II

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

Tags (1)
9 Replies

Re: Ajuda a criar expressão

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)

rute_caeiro
New Contributor II

Re: Ajuda a criar expressão

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

Re: Ajuda a criar expressão

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.

Re: Ajuda a criar expressão

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.

rute_caeiro
New Contributor II

Re: Ajuda a criar expressão

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

Re: Ajuda a criar expressão

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?

rute_caeiro
New Contributor II

Re: Ajuda a criar expressão

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.

MVP
MVP

Re: Ajuda a criar expressão

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

MVP
MVP

Re: Ajuda a criar expressão

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.