Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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.
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 |
Dia | (sum(a)/sum(b))*(sum(c)/sum(d))*100 |
1 | 11,53846 |
2 | 30,30303 |
3 | 676,6917 |
4 | 113,0435 |
5 | 875 |
Quero que me retorne a quantidade de dias que foram menores que 95, no exemplo acima seriam 2 ( dia 1 e 2).
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))
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)
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))
Obrigado, funcionou!