Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Boa Tarde
Tenho
uma tabela Clientes
uma tabela produtos
uma tabela vendas
uma tabela representante
Ao selecionar um representante e um produto, quero que seja listado somente os clientes daquele representante que não compraram aquele produto.
Desculpe-me se não fui claro
sds
Não consegui abrir o qvw por que estou com a personal edition aqui... mas vc ja tentou usar P() e E() ?
(tirei do help do qlikview F1 - procure por set analysis ou analise de conjunto)
"Nesses casos, devem ser usadas as funções de elemento P() e E(), representando o conjunto de elementos de valores possíveis e os valores excluídos de um campo, respectivamente. Dentro dos parênteses, é possível especificar uma expressão de conjunto e um campo, por exemplo, P({1} Cliente). Essas funções não podem ser usadas em outras expressões:
Exemplos:
sum( {$<Cliente = P({1<Produto={‘Sapato’}>} Cliente)>} Vendas )
retorna as vendas para a seleção atual, mas somente para os clientes que já compraram o produto “Sapato”. Aqui, a função de elemento P( ) retorna uma lista de clientes possíveis; aqueles decorrentes da seleção ‘Sapato’ no campo Produto.
sum( {$<Cliente = P({1<Produto={‘Sapato’}>})>} Vendas )
é igual ao anterior. Se o campo na função de elemento for omitido, a função retornará os valores possíveis do campo especificado na atribuição externa.
sum( {$<Cliente = P({1<Produto={‘Sapato’}>} Fornecedor)>} Vendas )
retorna as vendas para a seleção atual, mas somente para os clientes que já forneceram o produto “Sapato”. Aqui, a função de elemento P( ) retorna uma lista de fornecedores possíveis; aqueles decorrentes da seleção ‘Sapato’ no campo Produto. Assim, a lista de fornecedores é usada como uma seleção no campo Cliente.
sum( {$<Cliente = E({1<Produto={‘Sapato’}>})>} Vendas )
retorna as vendas para a seleção atual, mas somente para os clientes que nunca compraram o produto “Sapato”. Aqui, a função de elemento E( ) retorna a lista de clientes excluídos; aqueles excluídos pela seleção ‘Sapato’ no campo Produto.
"
ficaria algo tipo
sum({$<Cliente = E({Produto}) >} valor)
Boas amigo
isso ai na verdade vai depender da sua consulta, tentar usar um Set analysis, existe alguma relação entre representante e o produto?
Não existe relação direta do representante com produtos
as relações das tabelas são :
codigo representante ---> clientes
codigo do produto --------> vendas
codigo do cliente ---------> vendas
Obrigado!
Boa tarde Dionei.
Seria melhor se você pudesse postar um QVW exemplo para analisarmos a construção das suas tabelas.
Att,
Bom dia
Segue qvw similar com estrutura que tenho.
O que quero é que seja listado os clientes que não compraram determinado produto.
Para o teste favor selecionar:
Ano = 2012
Representante = Santos
Produtos = Coifa
Na tabela positivação teria que aparecer os clientes que não compraram coifa do representante Santos em 2012.
Obs: tenho qlikvew personal edition. Não sei se consiguiram abrir o arquivo.
sds
Bom dia
Enviei arquivo para testes
sds
Bom dia Dionei.
Inclua a expressão
SUM({1-$<[REPRESENTANTE NOME]={'SANTOS'}>} [PEDIDO QUANTIDADE])
Anexei um QVW para você visualizar melhor
Vê se é isso que você quer fazer.
Abs
Bom dia Dionei,
O problema basico ai é vinculo da Chave Codigo do Produto (dentro de pedido) com o Codigo de Produto (Produto) se você tirar esse vinculo colocando no load
LOAD [PEDIDO NUMERO],
Year([PEDIDO EMISSAO])AS ANO,
[CLIENTE CODIGO],
[PRODUTO CODIGO] as Codigo_Prod_pedido,
[PEDIDO QUANTIDADE]
FROM
VENDAS.xlsx
(ooxml, embedded labels, table is Plan1);
você já consegue pegar tudo ai no caso do jeito que você quer
isso e jeito feio de se fazer.
o que você pode fazer é no momento no LOAD , cria uma tabela segunda tabela e compara usando "Not exists" tudo que não existir entre vinculo de Codigo Produto( Produto) e Codigo Produto ( Pedido) e usar essa tabela no Grafico.
não se ficou muito claro, qualquer coisa avisa, te outro jeito mas nao to achando aqui como faz, assim que eu achar meu exemplo aqui até posto.
Seguinte... Esqueci que você quer filtrar os clientes que não compraram o fornecedor selecionado. Sendo assim a expressão será essa:
SUM({1-$<[REPRESENTANTE NOME]={$(=GetFieldSelections([REPRESENTANTE NOME]))}>} [PEDIDO QUANTIDADE])
Acho que é isso aí
Obrigado!
Mas gostaria que fosse listado somente os clientes do representante selecionado que não compraram determinado produto. Na forma que você passou ele traz sim os clientes que não compraram o produto, mas os clientes de todos os representantes. Eu gostaria de listar somente os clientes que não compraram o produto do representante que selecionei.
Obrigado