1.按周统计
insert into xxxx.dm_sale
with dim_date as (
select
date_code,
year_code,
year_month,
month_code ,
day_month_num ,
dim_date_id ,
year_week_name_cn
from hive.bj59_yp_dwd_jiale.dim_date
),
t1 as (
select
'2022-05-10' as date_time,
'week' as time_type,
year_code ,
null as year_month,
null as month_code,
null as day_month_num ,
null as dim_date_id,
year_week_name_cn ,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then 'store'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then 'trade_area'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then 'city'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then 'brand'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then 'min_class'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then 'mid_class'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then 'max_class'
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then 'all'
else null
end as group_type,
s.city_id ,
s.city_name ,
s.trade_area_id ,
s.trade_area_name,
s.store_id,
s.store_name ,
s.brand_id,
s.brand_name,
s.max_class_id,
s.max_class_name,
s.mid_class_id,
s.mid_class_name,
s.min_class_id,
s.min_class_name,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.sale_amt)
else null
end as sale_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.plat_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.plat_amt)
else null
end as plat_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.deliver_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.deliver_sale_amt)
else null
end as deliver_sale_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.mini_app_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.mini_app_sale_amt)
else null
end as mini_app_sale_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.android_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.android_sale_amt)
else null
end as android_sale_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.ios_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.ios_sale_amt)
else null
end as ios_sale_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.pcweb_sale_amt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.pcweb_sale_amt)
else null
end as pcweb_sale_amt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.order_cnt)
else null
end as order_cnt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.eva_order_cnt)
else null
end as eva_order_cnt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.bad_eva_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.bad_eva_order_cnt)
else null
end as bad_eva_order_cnt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 63 and s.group_type = 'city'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 119 and s.group_type = 'brand'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 120 and s.group_type = 'min_class'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 121 and s.group_type = 'mid_class'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 123 and s.group_type = 'max_class'
then sum(s.deliver_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 127 and s.group_type = 'all'
then sum(s.deliver_order_cnt)
else null
end as deliver_order_cnt,
case
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 15 and s.group_type = 'store'
then sum(s.refund_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.trade_area_id ,s.store_id,s.brand_id ,s.max_class_id ,s.mid_class_id ,s.min_class_id ) = 31 and s.group_type = 'trade_area'
then sum(s.refund_order_cnt)
when grouping(d.year_week_name_cn,s.city_id ,s.