Skip to main content
Announcements
Qlik Community Office Hours, March 20th. Former Talend Community users, ask your questions live. SIGN UP
cancel
Showing results for 
Search instead for 
Did you mean: 
Anecyof
Explorer II
Explorer II

Contar dias que aparece uma condição

Boa tarde, preciso de ajuda no qlik sense. Tenho um arquivo com coluna com data e quatro colunas (a,b,c,d) com valores, fiz uma tabela onde uma coluna é a data e a outra coluna me dá o valor de (a/b)*(c/d)*100. Gostaria de contar quantos dias aparece o valor (sum(a)/sum(b))*(sum(c)/sum(d))*100  menor que 95.

Tentei a expressão: if(((a/b)*(c/d)*100)<95, Count(Distinct Day(data))), mas ela conta todos os dias que tem na tabela se a condição foi verdadeira. O que eu quero é contar os dias que aparecem o valor menor que 95, o valor (a/b)*(c/d)*100 não é gravado no arquivo. Por favor, existe alguma fórmula, já procurei e não encontrei.

Diaabcd
11232826
21518411
33619257
42646105
578303

 

Dia(sum(a)/sum(b))*(sum(c)/sum(d))*100
111,53846
230,30303
3

676,6917

4113,0435
5875

 

Quero que me retorne a quantidade de dias que foram menores que 95, no exemplo acima seriam 2 ( dia 1 e 2). 

1 Solution

Accepted Solutions
rodrigohacke
Partner - Contributor II
Partner - Contributor II

Boa Tarde,

 

Segue abaixo como faria a Soma do valor e a contagem dos dias onde o resultado da Soma for menor que 95

Soma

RangeSum((a / b) * (c / d)) * 100

 

Qtde < 95

Count(Aggr(If(RangeSum((a / b) * (c / d)) * 100 < 95, 1), Dia))

 

Contar Dias.JPG

View solution in original post

3 Replies
victorbertoldo
Contributor II
Contributor II

Crie uma Flag.

Adapte para sua realidade:

t1:
load * Inline [
Dia,a,	b,	c,	d
1,	12,	32,	8,	26
2,	15,	18,	4	,11
3,	36,	19,	25,	7
4,	26,	46,	10,	5
5,	7,	8,	30,	3
];

NoConcatenate
t2:
Load *,
	if(valor<95,1,0) as flag_dias;
load Dia,
	(sum(a)/sum(b))*(sum(c)/sum(d))*100 as valor
Resident t1
group By Dia;    

drop Table t1;

 

Use set analysis para pegar o valor: Count({$<flag_dias={1}>}Dia)

 

Screenshot_1.png

 

rodrigohacke
Partner - Contributor II
Partner - Contributor II

Boa Tarde,

 

Segue abaixo como faria a Soma do valor e a contagem dos dias onde o resultado da Soma for menor que 95

Soma

RangeSum((a / b) * (c / d)) * 100

 

Qtde < 95

Count(Aggr(If(RangeSum((a / b) * (c / d)) * 100 < 95, 1), Dia))

 

Contar Dias.JPG

Anecyof
Explorer II
Explorer II
Author

Obrigado, funcionou!