如何在sql2005中做一个销售的关联规则实验

记得去年冬天,我在咖啡馆里写报告,邻座一位大叔正对着笔记本电脑捣鼓数据。
他时不时皱眉,手指在键盘上敲得飞快,屏幕上是密密麻麻的表格。
他是在搞数据分析,说起来,跟我现在看的这些SQL语句有点像。

等等,他用的还是AdventureWorks那个例子。
大叔是搞供应链出身的,他说这种数据仓库模型特别实用。
你看,他调出FactInternetSales和DimProduct,用SQL连接起来,最后在Excel里分析。
他说,数据就摆在眼前,关键是怎么把它们串起来。
他当时调试了半天,就为了那个JOIN语句里的ProductKey,最后终于跑通了。

我现在看这段教程,感觉就像是大叔在给我讲他的经验。
他说,数据是死的,但分析数据的人是活的。
比如这个SQL查询,SELECT f.[SalesOrderNumber] AS [OrderNumber], Coalesce(p.[ModelName], p.[EnglishProductName]) AS [Model], f.ExtendedAmount AS Amount FROM [dbo].[FactInternetSales] f INNER JOIN [dbo].[DimProduct] p ON f.[ProductKey] = p.[ProductKey],他解释说,这个语句就像搭积木,把不同块的数据拼在一起。
他还特意提醒我,Coalesce函数很关键,能避免数据空缺。

大叔说,他当年第一次搞这个,也是对着屏幕抓耳挠腮。
他记得是2 01 9 年夏天,在公司的会议室里,风扇嗡嗡响,他手写的便签纸上全是各种尝试的SQL语句。
最后他喝着冰美式,突然想通了,原来关键在于理解数据表之间的关系。
他说,数据仓库就像超市的货架,你要找到货架上那些关联的商品。

我现在跟着教程操作,打开Excel,点击Data -> FromOtherSources -> FromSQLServer。
屏幕上弹出的窗口让我选择服务器,我点了几下,突然有点像大叔当年在会议室里的样子。
他当时还说,数据就是故事,你要把数据变成故事。
我现在想,这个SQL语句,这个数据连接,会不会也是某个故事的开头?
等等,大叔还告诉我,数据要不断更新。
他说,他每天早上都会刷新一次数据,看看前一天的销售情况。
他记得有一次,凌晨三点,他突然收到一条邮件,数据显示某个产品销量异常,结果第二天就发现是个系统错误。
他说,数据不会说谎,但人可能会看错数据。

我现在把Commandtype改成SQL,Commandtext里输入刚才的查询。
点击OK,屏幕上开始跑进度条。
这让我想起大叔说的,数据分析是个慢活,但成果很实在。
他当时为了这个SQL语句,熬了三个晚上,最后报告得了部门第一。

数据连接好了,下一步是导入数据。
大叔说,数据是基础,但怎么用数据是本事。
他现在退休了,还喜欢去社区老年大学教年轻人数据分析。
他说,数据就像咖啡,喝多了会上瘾。
我现在看着屏幕上的数据,突然觉得,这些数字背后,是不是也有个故事?
我点开了导入数据界面,选择Properties,然后Definition... Commandtype改成了SQL,Commandtext里是刚才的查询。
点击OK,进度条又开始了。
大叔当年调试的时候,也是这样,一点点试,一点点改。
他说,数据仓库就像个迷宫,但找到出口的那一刻,特别有成就感。

数据导入成功了,Excel里多了几列数据。
我点了点这些数字,突然有点好奇,这些数据会告诉我什么?是大叔当年没发现的销售规律?还是某个被忽略的市场趋势?我现在不知道,但看着这些数据,我忍不住想,说不定哪天,这些数字也会给我讲个故事呢。

数据库原理的另外版本

嘿,这本书啊,我帮同事看过。
孔丽红主编,2 01 5 年出的,定价4 9 块,印次就1 -1 ,ISBN是9 7 8 7 3 02 3 9 8 8 1 3 内容挺全乎,1 1 章,从数据库系统概述到VB开发,啥都有。
当年我们单位搞信息化,买来给新来的实习生做参考,确实帮了不少忙。

就说第8 章SQLServer2 005 吧,我同事小李刚学的时候,对着这本书,一个一个实验做下来,慢慢就上手了。
第9 章VB开发也行,结合实例,不像有些书光讲理论。
不过这书是2 01 5 年的了,现在技术更新快,有些东西可能得自己再补补。

哦对了,我那年去上海工程技术大学交流,还碰到过孔丽红,她人挺实在,书也编得不错。
你要是搞数据库的,这书还是值得看看的。