Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
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!
Ola,
Segue exemplo de como isso pode ser feito utilizando a o que você mencionou "not exists"
Se eles não são visualizados, pode explicar melhor como este dado é utilizado dentro da aplicação ?
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.
Ola,
Segue exemplo de como isso pode ser feito utilizando a o que você mencionou "not exists"
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.
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?
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;
Respostas de Tiago e Alessandro resolvem o teu caso.
Tiago e Alessandro, os exemplos resolveram! Muito obrigada!