Qlik Community

Qlik Brasil

Announcements
Members are not receiving notifications from the community. A bug has been identified and a fix is coming soon.
cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Creator
Creator

Left join sem nulls

Boa tarde amigos.

Tenho duas tabelas, na Tabela A eu tenho uma parte de meus clientes (não todos), e na coluna B eu tenho os produtos que todos os clientes consumiram, mês a mês (não apenas os clientes da tabela A). Gostaria de fazer uma ligação entre estas tabelas, de forma que o Qlik mostre todo o grupo de clientes da tabela A, mesmo que nenhum item tenha sido comprado no período, e que só traga da Tabela B os produtos adquiridos por esta fatia de clientes (ou seja, que extraia somente um pedaço da tabela B).

Tentei unir por chave primária as tabelas, também tentei por Left Join, porém o Qlik mantém uma linha "null" ao final da tabela de clientes e valores adquiridos, onde ele soma todos os produtos de clientes que não encontrou relação.

Eu até consigo resolver isso via "Ocultar valor quando nulo", na dimensão do código do cliente (propriedades da tabela), porém receio que este caminho não seja o mais adequado pra resolver a questão. O ideal seria carregar no painel só os clientes e os produtos destes clientes, para não haver perdas de relacionamento e possíveis inconsistências de valor.

Alguém tem uma sugestão? Desde já agradeço.

Fabio.

Labels (2)
1 Solution

Accepted Solutions
Highlighted
Specialist
Specialist

Bom dia.

Você terá que calcular:

=if(IsNull(Sum(cliValor)), 0,Sum(cliValor))

View solution in original post

6 Replies
Highlighted
Contributor III
Contributor III


Olá Fábio,

pode só postar o código que vc utilizou no desenvolvimento do Left Join?

Highlighted
Creator
Creator

Olá Marcelo,

Deixa eu fazer uma errata: o valor "null" só aparece quando eu ligo as duas tabelas por chave (conforme anexo); pelo Left Join ele corrige a tabela e só traz o valor que interessa. Mas ainda restou uma dúvida: os clientes sem produto vendido "somem" da tabela... tem como visualizar todos, mesmo aqueles que não tiveram produtos adquiridos?

Highlighted
Contributor III
Contributor III

Pra mim o Left Join funcionou...

A:

LOAD * Inline [

cliCod, cliNome

1, Joao

2, Jose

3, Maria

];

Left Join(A)

LOAD * Inline [

cliCod, cliProduto, cliValor

1, caneta, 10

1, lapis, 5

4, oculos, 100

];

Capturar1.PNG

Highlighted
Creator
Creator

Sim Marcelo, realmente o Left Join funcionou pra trazer só o produto adquirido pelo range de clientes.

A dúvida que restou foi: como fazer a tabela mostrar assim:

João = 15

José = 0

Maria = 0

É possível?

Highlighted
Specialist
Specialist

Bom dia.

Você terá que calcular:

=if(IsNull(Sum(cliValor)), 0,Sum(cliValor))

View solution in original post

Highlighted
Creator
Creator

Luciano,

Funcionou, obrigado!

Abs