Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
hudson_prado
Contributor III
Contributor III

Formula de soma

Tenho uma tabela semelhante a essa:

(a tabela tem mais milhares de linhas, mas coloquei um pedaço para exemplificar)

            

IDDATACLIENTEVALORTOTAL
12018-02-21 00:00:00.000CLIENTE1R$     1.575,00R$ 8.024,07
12018-02-21 00:00:00.000CLIENTE1R$ 744,21R$ 8.024,07
12018-02-21 00:00:00.000CLIENTE1R$     2.554,86R$ 8.024,07
12018-02-21 00:00:00.000CLIENTE1R$ 3.150,00R$ 8.024,07
22018-02-21 00:00:00.000CLIENTE2R$        687,33R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$ 687,33R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$        687,34R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$ 1.172,66R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$     1.172,66R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$ 1.172,67R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$     1.172,67R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$ 1.172,67R$ 9.098,00
22018-02-21 00:00:00.000CLIENTE2R$     1.172,67R$ 9.098,00

Só para entenderem a situação. Eu quero calcular a variação de porcentagem entre transações.

Pra isso eu queria ter soma de "VALOR" de acordo com "CLIENTE".

Total representa o valor da transação completa, de acordo com o ID.

Tentei a formula: SUM(AGGR(MAX(DTBORDERO),VALOR))

Mas, me trouxe um numero bilionário e irreal.

Tentei também sem o SUM, mas não retornou valor nenhum.

Eu quero trazer a soma dos valores com a maior data, porque há mais transações de um mesmo cliente em datas diferentes.

Então quero calcular a mais recente com a primeira transação, por exemplo.

Se puderem me ajudar com ideias.

Sou novo no QLIK.

Obs. Uso o QlikCloud

Obrigado.

Labels (1)
1 Solution

Accepted Solutions
Thiago_Justen_

Com esse script:

TABELA_TEMP:

LOAD * INLINE [

ID, DATA, CLIENTE, VALOR, TOTAL

1, 22/02/2018, CLIENTE1,'1.575,00','8.024,07'

1, 23/02/2018, CLIENTE1,'744,21','8.024,07'

1, 24/02/2018, CLIENTE1,'2.554,86','8.024,07'

1, 25/02/2018, CLIENTE1,'3.150,00','8.024,07'

2, 26/02/2018, CLIENTE2,'687,33','9.098,00'

2, 27/02/2018, CLIENTE2,'687,33','9.098,00'

2, 28/02/2018, CLIENTE2,'687,34','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,66','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,66','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

];

FINAL:

LOAD

*,

    Num(If(Peek(ID)=ID,VALOR/Peek(VALOR),0),'###,00 %') as VARIACAO

Resident TABELA_TEMP ORDER BY ID,DATA;

DROP Table TABELA_TEMP;

Obtive esse resultado:

Capturar.PNG

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago

View solution in original post

5 Replies
Thiago_Justen_

Hudson,

É isso?

Capturar.PNG

Expressão:

sum(VALOR)/sum(ALL <DATA> VALOR)

ou por Cliente:

sum(VALOR)/sum(ALL <CLIENTE> VALOR)

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
hudson_prado
Contributor III
Contributor III
Author

Thiago,

Obrigado pela ajuda.

Não é isso, mas você me deu uma idéia.

Essa tabela é minha base de dados. Eu não tenho ela no qlik montada como você fez.

Cada ID representa um titulo de FIDC, o total é o montante do titulo.

O valor é de acordo com a quantidade que cada cliente pagou desse montante.

Eu queria fazer a representação de acordo com o valor total.

A soma do Valor é semrpe igual ao Total.

Então, eu queria fazer a representação de acordo com o ID ou o Total.

Por exemplo.

Cliente vendeu um titulo no valor de 10k, depois vendeu um titulo de 20k.

Então eu queria mostrar a porcentagem de aumento de acordo com o passar do tempo.

Se ele tá negociando mais ou menos de acordo com as anteriores.

Thiago_Justen_

Com esse script:

TABELA_TEMP:

LOAD * INLINE [

ID, DATA, CLIENTE, VALOR, TOTAL

1, 22/02/2018, CLIENTE1,'1.575,00','8.024,07'

1, 23/02/2018, CLIENTE1,'744,21','8.024,07'

1, 24/02/2018, CLIENTE1,'2.554,86','8.024,07'

1, 25/02/2018, CLIENTE1,'3.150,00','8.024,07'

2, 26/02/2018, CLIENTE2,'687,33','9.098,00'

2, 27/02/2018, CLIENTE2,'687,33','9.098,00'

2, 28/02/2018, CLIENTE2,'687,34','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,66','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,66','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

2, 21/02/2018, CLIENTE2,'1.172,67','9.098,00'

];

FINAL:

LOAD

*,

    Num(If(Peek(ID)=ID,VALOR/Peek(VALOR),0),'###,00 %') as VARIACAO

Resident TABELA_TEMP ORDER BY ID,DATA;

DROP Table TABELA_TEMP;

Obtive esse resultado:

Capturar.PNG

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago
hudson_prado
Contributor III
Contributor III
Author

Cara, desculpa minha mudança de ideia.

Mas, mesmo se desse certo, ficaria dificil a leitura.

Pensei em fazer da seguinte forma:

1.JPG

Separei por data da negociação e dentro dela o total e o campo que eu gostaria de colocar a variação de % de acordo com o valor anterior.

Então, no 15/01/2018 eu queria colocar a porcentagem de aumento com relação a data anterior.

Tentei algumas formulas, mas não consegui nada.

Obrigado mais uma vez pela ajuda.

Thiago_Justen_

Hudson,

Essa discussão foi resolvida aqui? Duvida - SUM com AGGR // FirstSortedValue

Se sim, por favor, feche esta também para mantermos a comunidade atualizada acerca das questões já resolvidas.

Abs e Sucesso!

Thiago Justen Teixeira Gonçalves
Farol BI
WhatsApp: 24 98152-1675
Skype: justen.thiago