专注于中国的商业智能

导航

数据仓库项目中的IP转换成地区

在电子商务网站中,假如我们需要分析用户的地区的分布的时候,虽然一般的网站都有记录用户所在省份和地区的字段,但是一般的网站都不会去核实用户的这些信息,因此数

据的准确性就有比较大的偏差,甚至很多用户都不填写这个信息(如果不是必填项的话),那么这个时候用户注册时候的IP地址就显得可靠多了,但是要把IP地址转换成地区并

非易事,倒不是说这个技术很难实现,是因为IP分配规则太乱了,不象邮政编码或者区号那么定的那么死,所以这个就成为了一项比较浩大的工程。IP地址库有商业的可以购买

,也有免费的可以使用。我就是使用的广大网友经常使用的QQWry.Data 这个东东,我先叫人家把这里面的数据整理成我定好的格式(这是一项比较大的工程,3个人弄大概弄了2

天),然后导入到数据仓库中我的地区维度表。

数据仓库中的地区维度的表结构如下:

GeographyKey int 

Province varchar(50) 

City varchar(50) 

IPSections text 

我的源系统中的用户的表结构如下:

CustomerID varchar(50) 
Account nvarchar(50) 
RegisterTime datetime 
IPAddress varchar(50) 
UpdateTime datetime 

数据仓库中的用户的表结构如下:

CustomerKey int 
GeographyKey int 
RegisterDateKey int 
CustomerCodeAlternateKey varchar(50) 
Account nvarchar(50) 
IPAddress varchar(50) 
RegisterTime datetime 
UpdateTime datetime   

接下来还是使用我们的好帮手SSIS。

其中关键在于中间的那个脚本组件,里面包含一个类IPCompare

 

Code

 

脚本组件里面的代码

 

Code

 

这样就OK了。

附件里面我提供了这个包文件和地区维度表数据的下载,希望能够给朋友们提供一点微薄的帮助。

附件下载 

posted on 2008-11-23 13:52  李梦蛟  阅读(3080)  评论(6编辑  收藏  举报