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: 
antoniodneto
Creator II
Creator II

Dúvidas de Cálculos - Fórmulas

Olá pessoal,

Tenho algumas dúvidas referentes a algumas fórmulas que estão dando errado no meu processo.

1) Cálculo de SUM com IF.

Tenho um campo de valor chamado RISCO_TOTAL, e algumas faixas de RATING, <0,2 - 2 - 3 - >4 enfim diversas.

Gostaria de criar um novo campo de risco para cada faixa, utilizei a seguinte expressão if(FAIXA_VA = '<0,2',SUM(RISCO_TOTAL)) ela me retorna um OK porém não traz o valor .

2) Selecionar somente os últimos meses.

Tenho no meu campo DATA 5 anos de histórico, como criar uma fórmula para lista o mais recente e os últimos 24 meses?

3) Cálculo de SUM com MÉDIA

Tenho um campo chamado  PDD e outro RISCO_TOTAL, gostaria de fazer um cálculo somando todo o campo PDD e criar uma MÉDIA da SOMA do RISCO_TOTAL, complicado?

4) Rankear

Tenho um campo chamado SETORES, que existem 40 tipos diferentes, como fazer uma expressão para que ele me mostra os 10 maiores pelo RISCO_TOTAL?

Muito obrigado pela ajuda de todos.

Abraço

Labels (1)
1 Solution

Accepted Solutions
pedrobergo
Employee
Employee

Olá Antonio,

Nesse caso, usar Set Analysis é o mais indicado.

Faça assim:

SUM( {$< REGIONAIS={'SP','MG','RJ','PR'}, [DATA BASE]={'>=01/08/2017<=30/09/2017'} >} RISCO_TOTAL)

Ele irá somar os valores da medida (ou campo) RISCO_TOTAL para as Regionais SP, MG, RJ e PR, com o intervalo de DATA_BASE maior ou igual 01/08/2017 e menor ou igual 30/09/2017.

Se quiser pesquisar mais sobre isso, consulte esses dois links

- Manual Set Analysis Completo em Português BR

- Help Qlik - Set Analysis

Abs,

View solution in original post

11 Replies
pedrobergo
Employee
Employee

Olá Antonio,

Veja se lhe atende...

1) sum({$<RATING={'<0,2'} RISCO_TOTAL)

sum({$<RATING={'2'} RISCO_TOTAL)

sum({$<RATING={'3'} RISCO_TOTAL)

2) Para os últimos 24 meses

SUM({$<DATA={">=$(=MonthStart(AddMonths(Max(DATA),-24))))"} RISCO_TOTAL)

Já para o mais recente:

sum({<DATA={'$(=max(DATA))'}>} RISCO_TOTAL)

3) Depende como vai usar, mas você pode utilizar AVG() ao invés de SUM().

AVG({$<RATING={'<0,2'} RISCO_TOTAL}

4) As dimensões dos gráficos do Qlik Sense tem a opção Limitação, onde vc pode colocar esse ranking (10 maiores)

Abs,

Pedro

antoniodneto
Creator II
Creator II
Author

Pedro

1) Continua dando erro

sum({$<FAIXA_VA={'<0,2'}RISCO_TOTAL)

sum({$<FAIXA_VA={'2'}RISCO_TOTAL)

sum({$<FAIXA_VA={'3'}RISCO_TOTAL)

2)O 24 meses é somente para o campo de DATA não precisaria ter a SOMA do RISCO_TOTAL.

3) Ainda vou testar

4) Deu certo !!!

pedrobergo
Employee
Employee

Olá Antonio

1) Esqueci de fechar o set analysis, tente assim.

sum({$<FAIXA_VA={'<0,2'} >} RISCO_TOTAL)

sum({$<FAIXA_VA={'2'} >} RISCO_TOTAL)

sum({$<FAIXA_VA={'3'} >} RISCO_TOTAL)

2) Vc quer que apareça no calendário, somente os últimos 24 meses?

Para isso, recomendo criar um calendário mestre para isso.

Esse post explica bem Creating A Master Calendar

Mas seria mais ou menos assim:

Calendario

LOAD DATA AS DATA_24M

Resident (X)  // Nome da tabela onde está a DATA

WHERE DATA>=(DATA-(24*30))

Abs,

Pedro

antoniodneto
Creator II
Creator II
Author

Pedro,

1) DEU CERTO, Muito Obrigado!!

2) Na verdade é uma tabela dinâmica mesmo tenho alguns valores de FAIXA pela linha do tempo, mas eu tenho um histórico desde 2013, mas eu não queria remover da minha tabela origem, criar essa fórmula apenas para mostrar os últimos 24 meses.

Obrigado

pedrobergo
Employee
Employee

Olá Antonio,

2) Poste exemplos do que precisa.

Abs,

antoniodneto
Creator II
Creator II
Author

2)

Então seria exatamente essa tabela.

 

 

 

Na tabela o primeiro mês exibido é Set/13 e vai até Set/17 (mais atual).

Porém eu quero travar somente 24 meses que seria de Set/15 até Set/17, ai quando inserir Outubro, ser Out/15-Out/17, sempre 24 meses.

 

Obrigado

pedrobergo
Employee
Employee

Olá Antonio,

2) Então pode usar a opção Limitação da DATA BASE, da seguinte maneira:

Número Fixo-->Superior--> 24 ou quantos desejar

Abs,

antoniodneto
Creator II
Creator II
Author

2) Bom dia,

Então Pedro eu testei com a limitação porém ao colocar ele mostra que o "cálculo com base na medida 11 a 30 dias" ele acaba retornando os 24 maiores meses referentes a essa medida, não a data em si.

Obrigado

pedrobergo
Employee
Employee

Olá Antonio,

Segue outra opção. Coloque essa sentença na dimensão DATA BASE da tabela:

=if([DATA BASE]>=MonthStart(addmonths(today(),-24)),[DATA BASE])

E desmarque Inluir Valores Nulos

Abs,