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

Clientes sem compra mês a mês

Olá,

Preciso trazer 2 informações:

1 – Clientes sem compra mês a mês. Exemplo mês de dez preciso identificar os clientes sem compraram de dez mais que compraram em nov, os sem compra de nov mais que compram em out e assim por diante.

2 – Quando utilizo a fórmula que coloquei abaixo, e filtro o ano de 2022 ele me retorna o valor para o ano anterior, preciso que ele retorne de acordo com o ano filtrado pois quando conseguir trazer esse cálculo mês a mês, vou utilizar ele em gráfico de linha com a dimensão mês. Ou seja, aparecer cada valor de acordo com o seu mês

Grato!

 

MatheusC_1-1671025789663.png

 

Count(distinct
{<
Ano={"$(=max((Ano)-1))"},
[Grupo-Cliente]=E({<Ano={"$(=max((Ano)))"}>}[Grupo-Cliente])
>}
[Grupo-Cliente])

 

 

 

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
Labels (4)
1 Solution

Accepted Solutions
fernando_tonial
Partner - Specialist
Partner - Specialist

Olá, @MatheusC, fiz um exemplo via script.

Vendas:
Load 
	[Grupo Cliente], 
    [Clientes Total], 
    [Total Compra], 
    Data,
    Year(Data) 			AS Ano,
    Month(Data) 		AS Mês,
    MonthName(Data) 	AS MêsAno,
    MonthStart(Data) 	AS InícioMês
    	Inline [
Grupo Cliente|Ano|Mês|Clientes Total|Total Compra|Data
Joao|2022|out|1|100,00|08/10/2022
Marcela|2022|out|1|200,00|18/10/2022
Joao|2022|nov|1|100,00|08/11/2022
Marcela|2022|nov|1|200,00|18/11/2022
Joao|2022|nov|1|0,00|23/11/2022
Garcia|2022|nov|1|0,00|09/11/2022
Jandira|2022|nov|1|80,00|30/11/2022
Cesar|2022|nov|1|1.000,00|07/11/2022
Garcia|2022|nov|1|5.000,00|22/11/2022
Jandira|2022|nov|1|6.000,00|16/11/2022
Flavia|2022|nov|1|0,00|29/11/2022
Garcia|2022|nov|1|0,00|25/11/2022
Jandira|2022|nov|1|0,00|17/11/2022
Cesar|2022|dez|1|0,00|17/12/2022
Garcia|2022|dez|1|30,00|08/12/2022
Marcela|2022|dez|1|150,00|05/12/2022
Flavia|2022|dez|1|320,00|09/12/2022
Garcia|2022|dez|1|1.200,00|01/12/2022
Jandira|2022|dez|1|35.000,00|12/12/2022
Marcela|2022|dez|1|1.275,00|06/12/2022
Joao|2022|dez|1|0,00|12/12/2022
Marcela|2022|dez|1|7.000,00|05/12/2022
Flavia|2022|dez|1|0,00|12/12/2022
Garcia|2022|dez|1|0,00|13/12/2022
] (delimiter is |);


//Verifica se há compra no mês para cada cliente
VendasMesTmp:
Load 
	[Grupo Cliente] 		AS Cliente, 
    InícioMês				AS InicioMes,
    If(Sum([Total Compra])>0,1,0) 	AS CompraMês 
Resident 
	Vendas
Group By 
	[Grupo Cliente], 
    InícioMês;
    
//VerificaCompraTmp:
//Compara as compras dos clientes entre os meses
Left Join (Vendas)
Load 
	Cliente											AS [Grupo Cliente], 
    InicioMes										AS InícioMês,
    If(Previous(Cliente)=Cliente and 
       (CompraMês=1 and Previous(CompraMês)=1),1,0) AS FlgCompra 
Resident 
	VendasMesTmp
Order By 
	Cliente,
    InicioMes;

// Apaga tabela temporária
Drop Table VendasMesTmp;

 

Também em anexo o qvf. 

Don't worry, be Qlik.
Tonial.

Don't Worry, be Qlik.

View solution in original post

4 Replies
fernando_tonial
Partner - Specialist
Partner - Specialist

Olá Matheus, consegue colocar um exemplo de dados para lhe auxiliar.
Nos exemplos que tenho aqui, fiquei sem encontrar essa falta de compra de um mês para outro.

Don't worry, be Qlik.
Tonial

Don't Worry, be Qlik.
MatheusC
Specialist
Specialist
Author

Olá, @fernando_tonial 

Este é mais ou menos um exemplo de dados da minha tabela, coloquei como exemplo só os meses novembro e dezembro, como pode reparar neste exemplo os clientes que devem ser contados como clientes sem compra são: Joao e Cesar, pois compraram em nov, porém ainda não tem vendas esse mês de dez.

Vou deixar também o anexo deste Excel.

Grato!

MatheusC_0-1671124505133.png

 

 

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!
fernando_tonial
Partner - Specialist
Partner - Specialist

Olá, @MatheusC, fiz um exemplo via script.

Vendas:
Load 
	[Grupo Cliente], 
    [Clientes Total], 
    [Total Compra], 
    Data,
    Year(Data) 			AS Ano,
    Month(Data) 		AS Mês,
    MonthName(Data) 	AS MêsAno,
    MonthStart(Data) 	AS InícioMês
    	Inline [
Grupo Cliente|Ano|Mês|Clientes Total|Total Compra|Data
Joao|2022|out|1|100,00|08/10/2022
Marcela|2022|out|1|200,00|18/10/2022
Joao|2022|nov|1|100,00|08/11/2022
Marcela|2022|nov|1|200,00|18/11/2022
Joao|2022|nov|1|0,00|23/11/2022
Garcia|2022|nov|1|0,00|09/11/2022
Jandira|2022|nov|1|80,00|30/11/2022
Cesar|2022|nov|1|1.000,00|07/11/2022
Garcia|2022|nov|1|5.000,00|22/11/2022
Jandira|2022|nov|1|6.000,00|16/11/2022
Flavia|2022|nov|1|0,00|29/11/2022
Garcia|2022|nov|1|0,00|25/11/2022
Jandira|2022|nov|1|0,00|17/11/2022
Cesar|2022|dez|1|0,00|17/12/2022
Garcia|2022|dez|1|30,00|08/12/2022
Marcela|2022|dez|1|150,00|05/12/2022
Flavia|2022|dez|1|320,00|09/12/2022
Garcia|2022|dez|1|1.200,00|01/12/2022
Jandira|2022|dez|1|35.000,00|12/12/2022
Marcela|2022|dez|1|1.275,00|06/12/2022
Joao|2022|dez|1|0,00|12/12/2022
Marcela|2022|dez|1|7.000,00|05/12/2022
Flavia|2022|dez|1|0,00|12/12/2022
Garcia|2022|dez|1|0,00|13/12/2022
] (delimiter is |);


//Verifica se há compra no mês para cada cliente
VendasMesTmp:
Load 
	[Grupo Cliente] 		AS Cliente, 
    InícioMês				AS InicioMes,
    If(Sum([Total Compra])>0,1,0) 	AS CompraMês 
Resident 
	Vendas
Group By 
	[Grupo Cliente], 
    InícioMês;
    
//VerificaCompraTmp:
//Compara as compras dos clientes entre os meses
Left Join (Vendas)
Load 
	Cliente											AS [Grupo Cliente], 
    InicioMes										AS InícioMês,
    If(Previous(Cliente)=Cliente and 
       (CompraMês=1 and Previous(CompraMês)=1),1,0) AS FlgCompra 
Resident 
	VendasMesTmp
Order By 
	Cliente,
    InicioMes;

// Apaga tabela temporária
Drop Table VendasMesTmp;

 

Também em anexo o qvf. 

Don't worry, be Qlik.
Tonial.

Don't Worry, be Qlik.
MatheusC
Specialist
Specialist
Author

Olá, @fernando_tonial 

Obrigado seu exemplo funcionou bem  

Did you find a solution to your question? Mark the solution as accepted and if you found it useful, press the like button!