Skip to main content
Announcements
Customer Spotlight: Discover what’s possible with embedded analytics Oct. 16 at 10:00 AM ET: REGISTER NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
ArthurAguiar
Contributor
Contributor

Regra de primeira compra

Olá pessoal, migrei para o Qlik Sense recentemente e me deparei com um problema que esgotou minha criatividade e não cheguei a lugar nenhum. 

 

Vou deixar o script abaixo pra melhor entendimento, mas o problema é o seguinte: tenho essa base com diversas informações dos clientes e preciso criar uma tabela que mostre os dados relativos a primeira compra do cliente, independente do produto comprado deve aparecer apenas o primeiro. 

Essa tabela deve mostrar o cliente, data da inclusão, data da carga, produto da carga e valores da carga. 

Como podem ver no script optei por criar uma tabela para relacionar essas informações mas quando chega na visualização as colunas dessa nova tabela vem vazias com exceção dos campos "Cliente" e "Primeiro Pedido"

ArthurAguiar_0-1699037182849.png

 

Já na tabela "Clientes" que é o carregamento do QVD bruto todas as colunas vêm com informações. Acredito que seja um erro de lógica mas não consigo pensar em outra solução, segue o script de carregamento:


// Carregar dados do arquivo QVD
Clientes:
LOAD
CNPJ,
Date("Data Hora Confirmação", 'DD/MM/YYYY') as "Data Confirmação",
"Número do pedido",
"Número da Fatura",
Produto,
Cliente,
"ID Cliente",
"Valor da carga",
"Serviço de Carga",
"Tarifa de Transferência",
"Valor Total",
"Itens Faturados",
Praça,
"Id Inst.",
"Razão Social",
"Dt Inclusao" as "Data de Inclusão",
Status,
"Dt Status",
Logradouro,
Número,
Complemento,
Bairro,
Cidade,
UF,
CEP,
"DDD Tel1",
"Tel 1",
"DDD Tel2",
"Tel 2",
"Limite Global",
"Nome Impresso",
"Desc. Regional",
"Desc. Filial"
FROM [lib://Tabelas Puras/TRANSACIONAL/view_cargas_por_produto.qvd]
(qvd);

// Criar uma tabela para armazenar o primeiro pedido de cada cliente
PrimeiroPedidoClientes:
LOAD
Cliente,
Date(Min([Data Confirmação]), 'DD/MM/YYYY') as "Primeiro Pedido",
FirstSortedValue([Data de Inclusão], [Data Confirmação]) as "Data de inclusão Pré Carga",
FirstSortedValue(Produto, [Data Confirmação]) as "Produto da Primeira Carga",
FirstSortedValue([Valor da carga], [Data Confirmação]) as "Valor da Primeira Carga",
FirstSortedValue([Serviço de Carga], [Data Confirmação]) as "Serviço da Primeira Carga"
Resident Clientes
Group By Cliente;

Labels (2)
1 Reply
williejacobs
Creator
Creator

Hi @ArthurAguiar 

I believe you are trying to load the first record for each customer.

You can do this by using the "Previous" function.

Try this:

Load *
From Clientes
Where Cliente <> Previous(Cliente)
Order by Cliente, [Data Confirmação];

If you want the last record, you can change the sort order for your date to descending.