Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Dúvida - Soma baseada em uma tag

Pessoal tenho o load inline abaixo:

dados:

Load * inline [

tipo, tag, id

segundadivisao, "",1

sao paulo, "", 1

flamengo, "",1

vasco, segundadivisao, 1

];

com, base nesse load, gostaria de fazer uma somatória em uma grid, caso o tipo, possua algum outro tipo a tag com o mesmo nome.

Por exemplo, no caso se eu selecionar segundadivisão, a soma deveria retornar 1, pois o vasco esta com essa tag, e para todos os outros 0 (zero).

Brincadeiras a parte, não estou conseguindo fazer a expressão que me retorne a soma como preciso.

Em anexo esta o qvw.

Att,

8 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Não entendi muito bem o que você quer fazer, mas tente esse expressão.

=Sum({<tag=, tipo={'$(=(MaxString(tag)))'}>} id)

Você poderia colocar um exemplo do resultado que você deseja.

Don't worry, be Qlik.

Tonial

Don't Worry, be Qlik.
Not applicable
Author

Grande Tonial, antes de mais nada obrigado pela ajuda meu amigo.

Usando a sua expressão a tabela ficou assim:

Como Esta.png

Eu preciso que fique assim:

como DEVERIA estar.png

Percebeu a diferença ?  O Nº de Vezes é quantas vezes esse tipo, no caso segundadivisao, esta sendo usado como uma tag para outro tipo.

Nesse exemplo não fica claro a utilidade, mas tenho um projeto que preciso fazer exatamente isso com outros dados.

Abraços.

Not applicable
Author

Boa tarde Jackson,

Tente utilizar o ApplyMap...conforme o exemplo em anexo!

Not applicable
Author

repare na coluna Teste da pivot table

Not applicable
Author

Marcos, antes de mais nada obrigado pela ajuda !

Desculpa mas não entendi exatamente como o mapping vai me ajudar nesse caso. 

Not applicable
Author

Então basicamente a ideia funciona assim...

Foi mapeado a coluna tipo e ID conforme o script abaixo:

Mapping:

Mapping LOAD tipo, id

Resident

  dados;

Obs. Dados foi o apelido que eu dei para sua inline

depois ao aplicar o applymap, eu mando procurar a coluna tag correspondente a coluna tipo, se achar retornar o id senao retorna 0

Load *,

  ApplyMap('Mapping',tag, 0) AS teste

Resident

dados;

Depois o resultado final, ao somar a coluna teste, tudo que for 1 ou mais  significa que em algum momento a descrição da tag é igual a descrição do tipo....

Not applicable
Author

Olha só galera, minha aplicação precisa funcionar assim, na imagem abaixo, exitem duas tabelas, a de cima com os projetos e da baixo com as tarefas de um dos projetos.

Se repararem bem, na segunda tabela estão listadas as tarefas do projeto Teste_Padrao_SOA, onde existem algumas tarefas cujo campo tags estão marcadas com o nome "NaUpdate", que é o nome de um outro projeto, isso ocorreu porque durante os trabalhos no projeto NaUpdate, o colaborador precisou parar o que estava fazendo, para atender a tarefa desse outro projeto.


Para isso o que preciso fazer é na tabela onde estão listados os projetos, na coluna Horas Interferência (Tag), somar as horas trabalhadas em tarefas de qualquer outro projeto, cujo campo tag esteja informado o nome do projeto em questão, uma vez que no caso de uma tag estar preenchida, sabemos que o campo trabalhadas se refere ao periodo que a tarefa ficou interrompida.


Assim, na linda da primeira tabela, que no caso é o projeto NaUpdate, eu preciso somar as horas das 3 tarefas que foram feitas no projeto Teste_Projeto_SOA, que estão marcadas com a tag NaUpdate.

ExemploAPP.png

Não sei se consegui explicar ou complicar, mas é esse o objetivo do que pedi no começo.

Devia ter feito isso desde o começo, com certeza pouparia o tempo de muitos.....

mas é isso, valeu !!

Clever_Anjos
Employee
Employee

Já conseguiu solucionar? Se sim, marque uma das respostas como "Correta" e nos ajude a manter os foruns organizados.