Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
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!