Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
joaoadriao
Contributor II
Contributor II

Função Count + função Age

Alguém me consegue ajudar com o erro desta função? 

Count({<(Age(today(), DATA_NASCIMENTO))={'45'}>} (Age(today(), DATA_NASCIMENTO)))

O meu objetivo é fazer um gráfico com o total de intervalo de idades, por exemplo: um count com as idades de <=10, 11-18, 19-25, 25-45, >=46

Business Intelligence Developer
1 Solution

Accepted Solutions
rodrigohacke
Partner - Contributor II
Partner - Contributor II

Boa Tarde,

Veja se esse script ajuda seu problema. Segue abaixo print e anexo de modelo exemplo que fiz.


Count(
If(Age(Today(),Data_Nascimento) >= 46, Nome,
If(Age(Today(),Data_Nascimento) >= 25 And Age(Today(),Data_Nascimento) <= 45, Nome,
If(Age(Today(),Data_Nascimento) >= 19 And Age(Today(),Data_Nascimento) <= 24, Nome,
If(Age(Today(),Data_Nascimento) >= 11 And Age(Today(),Data_Nascimento) <= 18, Nome,
If(Age(Today(),Data_Nascimento) <= 10, Nome
))))))

Exemplo.JPG

View solution in original post

3 Replies
rodrigohacke
Partner - Contributor II
Partner - Contributor II

Boa Tarde,

Veja se esse script ajuda seu problema. Segue abaixo print e anexo de modelo exemplo que fiz.


Count(
If(Age(Today(),Data_Nascimento) >= 46, Nome,
If(Age(Today(),Data_Nascimento) >= 25 And Age(Today(),Data_Nascimento) <= 45, Nome,
If(Age(Today(),Data_Nascimento) >= 19 And Age(Today(),Data_Nascimento) <= 24, Nome,
If(Age(Today(),Data_Nascimento) >= 11 And Age(Today(),Data_Nascimento) <= 18, Nome,
If(Age(Today(),Data_Nascimento) <= 10, Nome
))))))

Exemplo.JPG

joaoadriao
Contributor II
Contributor II
Author

Muito obrigado pela ajuda! Mas o outro problema é que não tenho o campo "Classificação", terei de fazer uma ValueList e adicionar lá esses valores. Sabe como fazer isso? 

Esse script que fez está a funcionar, obrigado! 

Business Intelligence Developer
rodrigohacke
Partner - Contributor II
Partner - Contributor II

Bom dia,

Eu recomendo você no script criar esse campo. Segue abaixo como ficaria na carga esse ajuste.

Carga:
LOAD
   *,
   Age(Today(),Data_Nascimento) as Idade
INLINE [
   Nome, Data_Nascimento
   Diego, 10/03/1971
   Felipe, 07/04/1977
   João, 21/05/1981
   Maria, 01/02/1950
   Tiago, 11/12/1987
   Tania, 30/07/2005
   Luiza, 05/09/2009
   Arthur, 06/09/2015
];

Cliente:
Load
   *,
   If(Idade >= 46, '>= 46 anos',
      If(Idade >= 25 And Idade <= 45, '25 a 45 anos',
         If(Idade >= 19 And Idade <= 24, '19 a 24 anos',
            If(Idade >= 11 And Idade <= 18, '11 a 18 anos',
               If(Idade <= 10, '<= 10 anos'))))) as Classificacao
Resident Carga;


Drop Table Carga;Dessa forma na hora de criar um gráfico você vai selecionar a dimensão Classificacao e na medida realizará um Count(Distinct Nome). Essa seria a forma mais prática e simples no seu código. 

Exemplo2.JPG