Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Bom dia, estou com uma duvida sobre algo que me parece ser simples de resolver, tenho uma listagem de recursos de produtos, e existem vários registros de recursos para cada produto, nessa tabela quero que caso o produto 'X' tiver o recurso 'Y' não traga nenhum registro desse produto as invés de não trazer apenas os registros que contém o recurso 'Y'.
Na tabela abaixo estou filtrando o produto EM16, no caso ele tem o recurso 'GALV', o que quero é que caso o produto tenha esse
recurso não traga nenhum registro do mesmo na tabela. Resumindo, se o produto EM16 tiver o recurso GALV, a tabela tem que ficar zerada. Qualquer duvida estou a disposição.
Olá,
Você pode utilizar o Operador implícito da análise de conjunto E().
Count({$<CodProd=E({1<CodRecurso={'GALV'}>} CodProd)>} CodProd)
Don´t worry,
Be Qlik.
Tonial.
Marcos, você pode fazer isso de algumas maneiras:
A primeira você removeria os registros dos produtos que possuem esse recurso, por exemplo:
Produtos_Recurso_Galv:
LOAD
DISTINCT COD_PRODUTO
RESIDENT TABELA
WHERE COD_RECURSO = 'GALV'
Produtos:
LOAD
COD,
COD_PRODUTO,
PRODUTO,
COD_RECURSO (etc,etcetc...)
RESIDENT TABELA2
WHERE NOT Exists(COD_PRODUTO)
A segunda você apenas incluir um FLAG na tabela indicador que esse produto não deve aparecer, desta forma você trata isso no gráfico.
Produtos:
LOAD
COD,
COD_PRODUTO,
PRODUTO,
COD_RECURSO (etc,etcetc...)
RESIDENT TABELA2;
LEFT JOIN
LOAD
DISTINCT COD_PRODUTO,
'REMOVE' as FLG_REMOVE_PRODUTO
RESIDENT TABELA
WHERE COD_RECURSO = 'GALV'
Depois basta utilizar essa coluna "FLG_REMOVE_PRODUTO" para decidir se o produto será ou não utilizado.
Fica mais fácil.
Uma terceira maneira, sem nenhuma tratativa de script, é criar uma dimensão calculada com a regra
if(COD_RECURSO = 'GALV', PRODUTO) e marcar a regra "Ocultar quando o valor for nulo".
Olá,
Você pode utilizar o Operador implícito da análise de conjunto E().
Count({$<CodProd=E({1<CodRecurso={'GALV'}>} CodProd)>} CodProd)
Don´t worry,
Be Qlik.
Tonial.
Fernando, não conheço Set Analysis ainda, porém inclui na minha tabela como dimensão o código que você me passou da seguinte forma:
=Aggr(Count({$<CodProd=E({1<CodRecurso={'GALV', 'PT01'}>} CodProd)>} CodProd), CodProd)
Depois marquei a opção ocultar valores nulos e ele deixou de trazer os produtos que tinham os recursos 'GALV' e 'PT01', agora só não tenho certeza se fiz da forma correta.
Analisei melhor aqui o exemplo que você me mando e funcionou também, obrigado.
Estava testando aqui e verifiquei que não está sendo possível filtrar as informações pelo código do produto, indiferente de eu clicar ou selecionar em um caixa de seleção ele fica como se estivesse travado, já pelas outras dimensões está filtrando normalmente.
Obs: Resolvi utilizando um CodProd2 na tabela, ao invés do que está sendo utilizado na expressão.
Altere o identificador 1 por $.
No lugar de:
E({1<CodRecurso={'GALV', 'PT01'}>} CodProd)>}
Altere por:
E({$<CodRecurso={'GALV', 'PT01'}>} CodProd)>}
e veja se funciona.
Don´t worry,
Be Qlik.
Tonial.
Boa tarde, Fernando, não resolveu, mas isso não é problema pois utilizando um código auxiliar funcionou normalmente, outra coisa, caso eu quiser fazer o procedimento contrario, ou seja, mostrar apenas os produtos que não contenham os recursos GALV e PT01 como ficaria a sintaxe, ou teria que utilizar outro método? Obrigado, qualquer duvida estou a disposição.