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: 
edson_souza
Contributor III
Contributor III

Qtde de Contas por Usuário.

Prezados, boa noite.

Estou com o seguinte problema:

Estou concatenando duas tabelas (Contas e Contas Histórico) que somadas ficam com a média de 50.000.000 registros.

Nelas tenho basicamente as seguintes informações:
Usuário, Conta e Valor.

Onde um usuário pode ter várias contas. Exemplo:

Usuário     Conta     Valor

AB            123         R$ 100,00

BC            223         R$ 300,00

AB            423         R$ 200,00

AB            523         R$ 1000,00

DE            623         R$ 10,00

...

E estou precisando analisar a quantidade contas por usuário, e essa quantidade disprecisa ser disposta num objeto Deslizador.

Assim, poderei trabalhar com "faixas". Exemplo:
Usuários com até 10 contas;

Usuários com de 11 a 50 contas;

Etc.

No momento estou carregando Contas concatenada com Conta Historico, chamando esse nodo de Contas e realizando o seguinte código para obter a quantidade de contas por usuário:

[Quantidade de Contas por Usuário]:

LOAD

          [Usuário],

          Count([Conta]) as [Qtde de Contas por Usuário]

RESIDENT Contas

group by [Usuário];

Porém, estou tendo um problema de performace, onde:
Contas + Conta Histórico levam menos de 10 minutos para carregar e Quantidade de Contas por Usuário está levando 1 hora.

Alguém poderia me ajudar com alguma forma para que eu diminua esse tempo de carga??

Grato,

Edson de Souza.

1 Solution

Accepted Solutions
Anonymous
Not applicable

Voce precisa mesmo fazer esse count no script?

pois é possível tanto no deslizador , como em objetos de lista, você adicionar uma expressão...

tente uma lista com:

=aggr(Count(Conta),Usuário)

ou use essa expressao dentro de um if para fazer "ate 10 contas" ...

View solution in original post

4 Replies
Anonymous
Not applicable

Voce precisa mesmo fazer esse count no script?

pois é possível tanto no deslizador , como em objetos de lista, você adicionar uma expressão...

tente uma lista com:

=aggr(Count(Conta),Usuário)

ou use essa expressao dentro de um if para fazer "ate 10 contas" ...

cesaraccardi
Specialist
Specialist

Olá Edson,

Você poderia dar mais detalhes sobre o seu ambiente? Qual a sua configuração de hardware/software?

edson_souza
Contributor III
Contributor III
Author

Funcionou aqui Rodrigo, valeu.

E para fazer o "Até 10 contas"... fiz algo assim:

=if(

[Qtde de Contas por Usuário]=1,Dual('1 Conta',1),

if([Qtde de Contas por Usuário]<7,Dual('De 2 até 6',2),

if([Qtde de Contas por Usuário]<25,Dual('De 7 até 24',3),

Dual('A partir de 25',4))))

Agora é só mudar o campo [Qtde de Contas por Usuário] para a expressão que tu passou.

Valeu.

edson_souza
Contributor III
Contributor III
Author

A dimensão ficou assim:

=if(

aggr(Count([Conta]),[Usuário])=1,Dual('1 Conta',1),

if(aggr(Count([Conta]),[Usuário])<7,Dual('De 2 até 6',2),

if(aggr(Count([Conta]),[Usuário])<25,Dual('De 7 até 24',3),

Dual('A partir de 25',4))))

Consequentemente, dinâmica de acordo com as seleções feitas. O que não era refletido no objeto quando feito no LOAD.