Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Posting on Qlik Community is temporarily paused for some users. Thank you for patience and we'll update you soon!
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_
MVP
MVP

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_
MVP
MVP

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_
MVP
MVP

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_
MVP
MVP

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