Qlik Community

Qlik Brasil

Group community for Brazil users. discussion only in Portuguese.

Highlighted
vagner_analista
New Contributor III

Carregamento automático de soma

Senhores, preciso de uma ajuda. Sou iniciante e estou desenvolvendo minhas primeiras aplicações. Estou com uma situação em que eu tenho uma tabela de lançamentos financeiros, e esses lançamentos são originados de contratos com os fornecedores. Ao selecionar um contrato na lista, a aplicação mostra todos os dados referente a este contrato, tais como: o nome do fornecedor, o valor do contrato, valores pago desse contrato. Acontece que ao selecionar um contrato o sistema apresenta todos os dados corretamente, porém, se não selecionar nenhum contrato disponível na lista, ele soma todos os valores. Como faço para que ele não some os valores caso nenhum contrato esteja selecionado.

obs: é um campo do tipo texto que soma os valores da tabela de lançamentos financeiro.

Tags (1)
18 Replies
MCampestrini
Valued Contributor

Re: Carregamento automático de soma

Vagner

Você pode colocar, no seu objeto de texto, algo como:

If((GetSelectedCount(<campo do contrato>) = 1, <sua formula>, 0)

A função GetSelectedCount retorna a quantidade de valores selecionados em um campo.

Márcio Rodrigo Campestrini
vagner_analista
New Contributor III

Re: Carregamento automático de soma

=if(GetSelectedCount(VALORCONTRATO) >0,Money(sum(VALORCONTRATO)),0)

=if(GetSelectedCount(VALORCONTRATO) >1,Money(sum(VALORCONTRATO)),0)

=if(GetSelectedCount(VALORCONTRATO) >=1,Money(sum(VALORCONTRATO)),0)

Tentei das 3 formas, porém, agora não soma mais os valores, fica mostrando 0

mario_sergio_ti
Valued Contributor

Re: Carregamento automático de soma

Amigo

Dentro da função GetSelectedCount(), você coloca a dimensão que gostaria de definir como condição;

Ex.: [CAMPOCIDADE], e quando o usuário selecionar o campo, a função GetSelectedCount() irá contar a quantidade de registros selecionados.

vagner_analista
New Contributor III

Re: Carregamento automático de soma

Muito obrigado, era isso mesmo, coloquei o Campo CODIGOCONTRATO, e ao selecionar um contrato pelo código, passou a apresentar as somas corretamente. Só que funcionou para os objetos do campo texto, na mesma tela tenho um objeto do tipo tabela, que tem o mesmo comportamento, se não tiver nenhum contrato selecionado, ela apresenta dados de todos os contratos, tem como tirar isso também?

mario_sergio_ti
Valued Contributor

Re: Carregamento automático de soma

Segue;

Para as dimensões:

If(GetSelectedCount([CODIGOCONTRATO]) >0,[CAMPO1])

//Altera cada dimensão da tabela, substituindo [CAMPO1] apresentado acima.

Para as Medidas/Expressões da tabela:

=Money(sum(If(GetSelectedCount([CODIGOCONTRATO]) >0,[VALORCONTRATO],0)))

//Substitui o campo [VALORCONTRATO] por cada expressões.

vagner_analista
New Contributor III

Re: Carregamento automático de soma

Mário fiquei confuso de onde colocar a fórmula. Teste no campo Expressão, não deu certo, coloquei tambem no campo condicional, porém, nada.

Não sei se fui claro na minha explicação anterior, só para facitar o entendimento, desta vez o meu objeto é do tipo tabela, que esta recebendo vários detalhes do contrato, então, gostaria que os campos fossem preenchidos apenas, se algum contrato estiver selecionado. Desde já, grato pela ajuda.

mario_sergio_ti
Valued Contributor

Re: Carregamento automático de soma

Isso mesmo amigo;

Publique um print de sua tabela;

É para substituir o nome da dimensão, com a função acima, o mesmo para a expressão, alterando os campos claro.

vagner_analista
New Contributor III

Re: Carregamento automático de soma

Ao carregar a aplicação, o sistema já trás a tabela conforme abaixo, e eu gostaria que ela não apresentasse dado nenhum, visto que, não tem nenhum contrato selecionado:

print.PNG

Após selecionar um contrato, ela apresenta os dados desse contrato corretamente, conforme abaixo:

print2.PNG

mario_sergio_ti
Valued Contributor

Re: Carregamento automático de soma

Amigo, para facilitar sua vida;

Use só:

GetSelectedCount([CODIGOCONTRATO])>0

Na parte de condicional