CREATE TABLE temp.dmk_sales_dtl_test as
SELECT substr(a.period_wid,1,6) as period_mon ,a.region_level3_code1 ,a.province_name ,a.city , a.bd_code ,a.brand , a.car_model ,a.car_type , b.new_name,a.qty ,
case when a.new_nature = ‘1’ then ‘个人客户’
when a.new_nature = ‘2’ then ‘政府客户’
when a.new_nature = ‘3’ then ‘企业客户’
when a.new_nature = ‘4’ then ‘社会团体’
when a.new_nature = ‘5’ then ‘事业单位’
when a.new_nature = ‘6’ then ‘合作社’
else ‘其他’
end as new_nature_a,
CASE WHEN b.new_accountlevel = 1 THEN ‘A类’
WHEN b.new_accountlevel = 2 THEN ‘B类’
WHEN b.new_accountlevel = 3 THEN ‘C类’
else ‘空’
END as new_accountlevel_b
FROM dmk.dmk_sal_actual_sales_dtl a
LEFT JOIN
(SELECT d.new_name,t.new_leadsoriginclass_id,t.new_accountid,t.new_accountlevel,t.new_salebu_id,
row_number() OVER (PARTITION BY t.new_accountid,t.new_salebu_id ORDER BY nvl(t.new_accountlevel,-1) desc ) RN
from crm.new_sale_organizationbase t
LEFT JOIN
(SELECT new_leadsoriginclassid,new_name from new_leadsoriginclassbase ) d
on t.new_leadsoriginclass_id = d.new_leadsoriginclassid) b
on a.crm_customer_id = b.new_accountid
and a.bd_id= b.new_salebu_id and b.rn=1
LEFT JOIN crm.new_vechicle_info c
ON a.new_vechicleinfo_id=c.new_vechicle_infoid
WHERE a.bd_code in (‘WZ01’,‘WZ02’,‘WZ03’)
AND a.period_wid >= 20151201
SELECT a.region_level3_code1, a.province_name, a.bd_code, a.brand, a.car_model, a.new_nature_a, a.new_accountlevel_b, a.new_name, sum(a.qty)
from temp.dmk_sales_dtl_test a
GROUP BY a.region_level3_code1 ,a.province_name,a.bd_code ,a.brand ,a.car_model ,a.new_nature_a,a.new_accountlevel_b, a.new_name
方差分析子函数
anovafun<-function(fm){
tab<-summary(fm)
k<-length(tab[[1]])-2
temp<-c(sum(tab[[1]][,1]),sum(tab[[1]][,2]),rep(NA,k))
tab[[1]][“Total”,]<-temp
tab
}
1、导入数据
library(xlsx)
x=read.xlsx(“salesmonclass.xlsx”,sheetIndex=1)
2、方差分析检验
单因素方差分析检验
#各组的样本数
table(xKaTeX parse error: Expected 'EOF', got '#' at position 28: …3_code1) #̲各组均值 aggregate(…qty,by=list(xKaTeX parse error: Expected 'EOF', got '#' at position 31: …ode1),mean) #̲各组标准差 aggregate…qty,by=list(xKaTeX parse error: Expected 'EOF', got '#' at position 28: …3_code1),sd) #̲用Q-Q图检验数据的正态性 q…qty)
#方差齐性检验
leveneTest(x
region_level3_code1),data=lamp)
3、方差分析
单因素方差分析
table(xKaTeX parse error: Expected 'EOF', got '#' at position 47: … #̲各组的样本数 lamp=dat…region_level3_code1,x
qty~x$region_level3_code1,data=lamp)
summary(lampaov)
#调用自编函数以完善该方差分析表
source(“anovafun.R”)
anovafun(lampaov)
双因素方差分析
(XA+B表示不考虑交互作用的双因素方差分析,考虑交互作用应该写为XA*B或者X~A+B+A:B)
amp=data.frame(x
province_name,x
qty~x
province_name,data=lamp)
anovafun(lampaov)