数据导出:
抛率=体积重/包裹重(PackageWeight);
包裹重(kg)=PackageWeight / 1000;(没有包裹重,则取产品毛重GrossWeight)
先用包裹重查一遍,为0的sku,用毛重填充;
kogan:查询在线状态SKU,且抛率>3
体积重(kg)=(长*宽*高) /6000;
(长宽高优先取包裹长宽高,单位是cm;为0的数据再取产品长宽高计算结果)
Allegro:查询在线状态SKU,且抛率>2
体积重(kg)=(长*宽*高) /8000;
(长宽高优先取包裹长宽高,单位是cm;为0的数据再取产品长宽高计算结果)
shopee/lazada:查询在线状态SKU,且抛率>2
体积重(kg)=(长*宽*高) /6000;
(长宽高优先取包裹长宽高,单位是cm;为0的数据再取产品长宽高计算结果)
速卖通:查询在线状态SKU,单边长:>60 或者 三边之和:>90;单边和三边之和 只要满足其中一个条件就统计出来;
单边长(cm):包裹长(PackageLength);(为0的数据再取产品长Length)
三边之和(cm)=包裹长+包裹宽+包裹高;
(PackageLength+PackageWidth+PackageHeight;为0的数据再取产品三边之和:Length+Width+Height)
导出字段:
平台,渠道ID,店铺渠道,平台ID,系统SKU,渠道SKU,抛率,销量,体积重,长宽高,包裹重,单边长,三边之和
计算基础数据及kogan,待验证数据
# 建产品相关信息临时表
CREATE TABLE `p_product_newbak20231110` (
`Id` bigint NOT NULL AUTO_INCREMENT COMMENT '编号',
`CustomerId` int NOT NULL COMMENT '商户号',
`Sku` varchar(16) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '系统SKU',
`PackageWeight1` decimal(18,2) NOT NULL COMMENT '包裹重',
`PackageVolume1` decimal(18,2) NOT NULL COMMENT '体积',
`Length1` decimal(18,2) NOT NULL COMMENT '长',
`Width1` decimal(18,2) NOT NULL COMMENT '宽',
`Height1` decimal(18,2) NOT NULL COMMENT '高',
`PackageWeight` decimal(18,2) NOT NULL COMMENT '包裹重',
`GrossWeight` decimal(18,2) NOT NULL COMMENT '毛重',
`PackageLength` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '包裹长',
`PackageWidth` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '包裹宽',
`PackageHeight` decimal(18,2) NOT NULL DEFAULT '0.00' COMMENT '包裹高',
`Length` decimal(18,2) NOT NULL COMMENT '长',
`Width` decimal(18,2) NOT NULL COMMENT '宽',
`Height` decimal(18,2) NOT NULL COMMENT '高',
PRIMARY KEY (`Id`),
UNIQUE KEY `uidx_customerid_sku` (`Sku`,`CustomerId`) USING BTREE,
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci ROW_FORMAT=DYNAMIC COMMENT='产品临时表';
# 计算产品信息
INSERT INTO p_product_newbak20231110 (CustomerId,sku,PackageWeight1,PackageVolume1,Length1,Width1,Height1,PackageWeight ,GrossWeight,PackageLength,PackageWidth,PackageHeight,
Length,Width,Height)
select CustomerId,sku,
case when PackageWeight >0 then PackageWeight else GrossWeight end as PackageWeight1,
case when (PackageLength*PackageWidth*PackageHeight)>0 then (PackageLength*PackageWidth*PackageHeight) else (Length*Width*Height) end as PackageVolume1,
case when (PackageLength*PackageWidth*PackageHeight) >0 then PackageLength else Length end as Length1,
case when (PackageLength*PackageWidth*PackageHeight) >0 then PackageWidth else Width end as Width1,
case when (PackageLength*PackageWidth*PackageHeight) >0 then PackageHeight else Height end as Height1,
PackageWeight ,GrossWeight,
PackageLength,PackageWidth,PackageHeight,
Length,Width,Height
from p_product;
# kogan平台汇总
select 'kogan' as marketname,a.OrderSourceId,c.OrderSourceName,a.ProductId,a.sku,a.SellerSKU,
case when b.PackageWeight1> 0 then (PackageVolume1/(b.PackageWeight1*6)) else 0 end as '抛率' ,d.sales as '销量', (PackageVolume1/6000) as '体积重',b.Length1 as '长',b.Width1 as '宽',b.Height1 as '高',
(b.PackageWeight1/1000) as '包裹重',b.Length1 as '单边长',(b.Length1+b.Width1+b.Height1) as '三边和'
from m_kogan_listing a
inner join p_product_newbak20231110 b on a.CustomerId=b.CustomerId and a.sku=b.sku
inner join sys_ordersource c on a.CustomerId=c.CustomerId and a.OrderSourceId=c.OrderSourceId
left join ( select CustomerId,OrderSourceId,SellerSku,Sku,SUM(sales) as sales from m_kogan_sale_year_summary GROUP BY CustomerId,OrderSourceId,SellerSku,Sku) d on a.CustomerId=d.CustomerId and a.OrderSourceId=d.OrderSourceId and a.SellerSku=d.SellerSku
where a.CustomerId=1 and a.OnlineStatus=1