Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
Preciso criar uma classificação nas vendas dos produtos com a descrição abaixo:
Dentro do período selecionado, se o produto tem 6 meses ou menos de vendas, ele é Novidade.
Se ele tem 7 meses ou mais ele deixa de ser Novidade.
Aplicando o Filtro Set/2017 à Mar/2018.
Produto | Data1 | Data2 | Data3 | Data4 | Data5 | Data6 | Data7 | Classificação |
---|---|---|---|---|---|---|---|---|
Leite | 09/2017 | 10/2017 | 11/2017 | 12/2017 | Novidade | |||
Carne | 09/2017 | 10/2017 | 11/2017 | 12/2017 | 01/2018 | 02/2018 | Novidade | |
Sabão | 09/2017 | 10/2017 | 11/2017 | 12/2017 | 01/2018 | 02/2018 | 03/2018 | Normal |
Sergio,
Considerando a tabela que você anexou na questão, primeiro eu faria um CrossTable de Produto e Datas para ter uma tabela apenas com Nome do Produto e Data. Assim:
Temp:
CrossTable(Data_Antigo,Data)
LOAD
Produto,
Data1,
Data2,
Data3,
Data4,
Data5,
Data6,
Data7
FROM [lib://Desktop/teste.xlsx](ooxml, embedded labels, table is Planilha1);
Drop Field Data_Antigo;
Depois, verifico e conto os meses em que houve vendas do determinado produto.
Final:
Load
Produto,
Conta_Mes_Venda,
If(Conta_Mes_Venda<=6,'Novidade','Normal') as Classificacao;
Load
Produto,
Sum(If(Produto=Previous(Produto) and Month(Data)<>Previous(Month(Data)),1,0))+1 as Conta_Mes_Venda
Resident Temp Group By Produto Order By Produto,Data Asc;
Drop Table Temp;
Resultado:
Fala Sérgio, blz?
Você pode, e seria melhor, fazer essa validação no script.
Pode ser algo desse tipo:
CLASSIFICACAO:
LOAD
*
, IF( primeiraVenda >= AddMonths(Today(), -6), 'Novidade', 'Normal' ) as classificacao
;
LOAD
Produto
, Min(data) as primeiraVenda
Resident Vendas
Group By
Produto
;
Sergio,
Considerando a tabela que você anexou na questão, primeiro eu faria um CrossTable de Produto e Datas para ter uma tabela apenas com Nome do Produto e Data. Assim:
Temp:
CrossTable(Data_Antigo,Data)
LOAD
Produto,
Data1,
Data2,
Data3,
Data4,
Data5,
Data6,
Data7
FROM [lib://Desktop/teste.xlsx](ooxml, embedded labels, table is Planilha1);
Drop Field Data_Antigo;
Depois, verifico e conto os meses em que houve vendas do determinado produto.
Final:
Load
Produto,
Conta_Mes_Venda,
If(Conta_Mes_Venda<=6,'Novidade','Normal') as Classificacao;
Load
Produto,
Sum(If(Produto=Previous(Produto) and Month(Data)<>Previous(Month(Data)),1,0))+1 as Conta_Mes_Venda
Resident Temp Group By Produto Order By Produto,Data Asc;
Drop Table Temp;
Resultado:
Obrigado Thiago, com os teste que realizei foi a melhor forma de classificar as Vendas.