Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
jeanlipes
Contributor II

Pegar o Total da Linha

Bom dia Pessoal,

Tenho a tabela abaixo que vai me informar a quantidade de coleções compradas por cliente, estou analisando 4 coleções e gostaria de fazer uma porcentagem sobre o número.

Exemplo na Sede:

Na coleção 1 pegar o 46 / 72 = 63.4 %

Na coleção 2 pegar o 21 / 72 = 29.1 %

Onde a soma de todas as linhas seria 100 %

Hoje se eu pegar o count(distinct cliente) / count(total distinct cliente) ele vai contar o 46 / 3620 que é o ultimo total que aparece na linha..

Alguém sabe como consigo pegar o total da regional?

Tags (1)
1 Solution

Accepted Solutions
jeanlipes
Contributor II

Re: Pegar o Total da Linha

Não deu certo,

Fiz um IF e funcionou:

IF(COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB)> 0,

COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB),

IF(COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB) > 0,

COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB),

5 Replies
Employee
Employee

Re: Pegar o Total da Linha

SUM(VALOR)/SUM(<Regional>VALOR) deve resolver o seu problema

jeanlipes
Contributor II

Re: Pegar o Total da Linha

Clever,

Ficaria assim:

COUNT(DISTINCT CLI_COD_CNPJ_CLIENTE) / COUNT(DISTINCT {<REP_NOM_REGIONAL>} CLI_COD_CNPJ_CLIENTE)


Esse CLI_COD_CNPJ_CLIENTE é o CNPJ do CLIENTE.

Colocando assim todas as linhas ficaram com 100%

maiconmello
Contributor III

Re: Pegar o Total da Linha

Jean, eu faria no script.

daria um sum da coleção agrupando por regional.

Ai você teria um campo totalizado já.

Na expressão colocaria simpliesmente assim :

sum(valor)/sum(valoragrupado)

Atenciosamente,

Maicon Mello

Employee
Employee

Re: Pegar o Total da Linha

Acredito que seja

COUNT(DISTINCT CLI_COD_CNPJ_CLIENTE) / COUNT(DISTINCT TOTAL <REP_NOM_REGIONAL> CLI_COD_CNPJ_CLIENTE)

jeanlipes
Contributor II

Re: Pegar o Total da Linha

Não deu certo,

Fiz um IF e funcionou:

IF(COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB)> 0,

COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SEDE'}>} CLI_COD_CHAVE_CLIENTE_TAB),

IF(COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB) > 0,

COUNT(DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB) / COUNT(TOTAL DISTINCT {<REP_NOM_REGIONAL = {'SUDESTE'}>} CLI_COD_CHAVE_CLIENTE_TAB),