====== 사업자번호구분 코드 ======
{{tag>data_analysis B2B기업분석 R 분석}}
[[data_analysis:work:b2b#사업자등록번호체계|사업자등록번호체계]]
===== R =====
Reg_classifier<-function(original_tbl, colname="사업자번호") {
Reg<-eval(parse(text=paste0("original_tbl$",colname)))
Reg2<-rep(0,length(Reg))
tmp<-as.integer(substr(Reg,4,5))
tmp[which(nchar(Reg)!= 10)]<-00
tmp[which(is.na(Reg))]<-00
Reg2[which(tmp>=01 & tmp<=79)]<-"개인과세사업자"
Reg2[which(tmp>=90 & tmp<=99)]<-"개인면세사업자"
Reg2[which(tmp==89)]<-"개인사업자_종교단체"
Reg2[which(tmp==80)]<-"개인사업자_APT다단계"
Reg2[which(tmp %in% c(81,86,87,88))]<-"법인본점"
Reg2[which(tmp==82)]<-"법인비영리"
Reg2[which(tmp==83)]<-"국가지자체"
Reg2[which(tmp==84)]<-"법인외국"
Reg2[which(tmp==85)]<-"법인지점"
Reg2[which(nchar(Reg)!= 10)]<-"ERR"
Reg2[which(is.na(Reg))]<-"ERR"
Reg2
}
===== SQL =====
case
when length([사업자번호]) <> 10 then 'ERR'
when [사업자번호] is null then 'ERR'
when substr([사업자번호],4,2) = '00' then 'ERR'
when substr([사업자번호],4,2) <= '79' then '개인과세사업자'
when substr([사업자번호],4,2) >= '90' then '개인면세사업자'
when substr([사업자번호],4,2) in ('81','86','87','88') then '법인본점'
when substr([사업자번호],4,2) in ('82') then '법인비영리'
when substr([사업자번호],4,2) in ('83') then '국가지자체'
when substr([사업자번호],4,2) in ('84') then '법인외국'
when substr([사업자번호],4,2) in ('85') then '법인지점'
when substr([사업자번호],4,2) in ('89') then '개인사업자_종교단체'
when substr([사업자번호],4,2) in ('80') then '개인사업자_APT다단계'
else 'ERR'
end
~~DISCUSSION~~