Skip to main content
Announcements
Qlik Connect 2024! Seize endless possibilities! LEARN MORE
cancel
Showing results for 
Search instead for 
Did you mean: 
Not applicable

Como ocultar dados de uma tabela?

Prezados, bom dia.

No QlikView, eu carrego várias tabelas que contém uma chave em comum. Porém, tem uma tabela BlackList, no qual, os clientes que estiverem nessa tabela, não podem ser visualizados em nenhuma aba, tabela e etc. Como faço esse bloqueio pelo QlikView?

Desde já, muito obrigada!

Labels (1)
1 Solution

Accepted Solutions
tiago_hubner
Partner - Contributor III
Partner - Contributor III

Ola,

Segue exemplo de como isso pode ser feito utilizando a o que você mencionou "not exists"

View solution in original post

8 Replies
pablolabbe
Luminary Alumni
Luminary Alumni

Se eles não são visualizados, pode explicar melhor como este dado é utilizado dentro da aplicação ?

Not applicable
Author

Olá, Pablo.

Vamos lá. Supondo que eu tenha 100 clientes na base. Todas as transações referentes a esses clientes serão carregadas, como: Pagamentos, Dados Cadastrais, Impacto por Canal e etc. Acontece que, desses 100 clientes, 10 não podem aparecer na aplicação. Eu não gostaria de fazer um not exists via SQL. Quero saber se tem como, via QlikView, fazer esse bloqueio.

tiago_hubner
Partner - Contributor III
Partner - Contributor III

Ola,

Segue exemplo de como isso pode ser feito utilizando a o que você mencionou "not exists"

pablolabbe
Luminary Alumni
Luminary Alumni

Em algum momento você vai acessar os dados destes cliente "especiais" dentro da aplicação ?

Exemplo: Diretoria ve estes clientes , mas gerencia não ve.

Not applicable
Author

Analisando melhor as regras, temos as considerações abaixo:

Hoje, na carteira atual, esses clientes estão bloqueados.

Porém, eles poderão vir futuramente em outra. Então, deverão aparecer novamente.

Não há distinção de visualização.

Todos que acessam esse QV, poderão visualizar, exceto, esses da Black-List.

Além disso, eu tenho três abas no Editor de Script.

Cada uma com uma conexão de BD diferente.

A tabela está apenas em uma dessas bases.

Caso use o not exists, tem como integrar o comando nas três abas?

afurtado
Partner Ambassador/MVP
Partner Ambassador/MVP

Meliri,

como o exemplo que o tiago.hubner‌ , voce pode primeiro ler a tabela de blacklist e depois em cada aba, usar o where not exists(cliente).

O que o not Exists vai fazer é verificar se já foi lido o código do cliente. No caso, como é not, entao vai ler o que nao foi lido ainda.  Neste caso, importante usar nomes diferentes para os campos.

Usando o exemplo do Tiago,

NaoConta:

LOAD * INLINE [

BlackList

1,

2,

3

];

ABA1:

LOAD * INLINE [

Cliente, Valor

1, 100

2,100

3,100

4,100

] Where not Exists(BlackList,Cliente);

ABA2:

LOAD * INLINE [

Cliente, Valor

5,100

6,200

7,100

8,100

9,200

] Where not Exists(BlackList,Cliente);

DROP Table NaoConta;

furtado@farolbi.com.br
pablolabbe
Luminary Alumni
Luminary Alumni

Respostas de Tiago e Alessandro resolvem o teu caso.

Not applicable
Author

Tiago e Alessandro, os exemplos resolveram! Muito obrigada!