Mini数据仓库搭建学习:家庭日常购物支出
2006-12-25 17:52
218 查看
目的:学习数据仓库
(以下内容 仅是个人对学习数据仓库的一种尝试
是很肤浅的
希望大家看了以后能给以指导
后续我会在这个基础上进一步学习)
步骤:
1.建立数据库 数据表 填充数据
2.建立数据仓库数据库 数据源 维度 多维数据集
3.运行MDX
============================
1.建立数据库 数据表 填充数据
============================
---- 创建家庭表
CREATE TABLE [familyList] (
[familyList_ID] [int] IDENTITY (1, 1) NOT NULL ,
[family_ID] [int] NOT NULL ,
[cy_ID] [int] NOT NULL ,
[cy_Name] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
---- 创建超市表
CREATE TABLE [superMarket] (
[superM_ID] [int] IDENTITY (1, 1) NOT NULL ,
[superM_Name] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[superM_Address] [char] (30) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
---- 创建日期时间表
CREATE TABLE [dateList] (
[date_ID] [int] IDENTITY (1, 1) NOT NULL ,
[the_date] [datetime] NOT NULL ,
[the_month] [int] NOT NULL ,
[the_quertar] [int] NOT NULL ,
[the_year] [int] NOT NULL
) ON [PRIMARY]
GO
---- 创建购物表
CREATE TABLE [payList] (
[payList_id] [int] IDENTITY (1, 1) NOT NULL ,
[payerID] [int] NOT NULL ,
[payDate] [int] NOT NULL ,
[paySuperM] [int] NOT NULL ,
[payPrice] [money] NOT NULL ,
[payNote] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
/*
---- 家庭成员表
INSERT INTO familyList
SELECT '1','1','张三'
UNION SELECT '1','2','张三妻'
UNION SELECT '1','3','张三子'
UNION SELECT '1','4','张三女'
UNION SELECT '2','1','李四'
UNION SELECT '2','2','李四妻'
UNION SELECT '2','3','李四父'
UNION SELECT '2','4','李四母'
UNION SELECT '3','1','王五'
UNION SELECT '3','2','王五妻'
SELECT * FROM familyList
*/
/*
---- 购物超市表
DECLARE @i int
SET @i = 1
WHILE @i < 11
BEGIN
INSERT INTO superMarket (superM_Name,superM_Address)
VALUES( '超市'+Convert(char,@i) ,'超市地址'+Convert(char,@i) )
SET @i=(@i+1)
END
SELECT * FROM superMarket
*/
/*
---- 时间日期表
DECLARE @currDate datetime
SET @currDate = Convert(datetime,'2006/09/01')
WHILE @currDate< Convert(datetime,'2006/11/01')
BEGIN
INSERT INTO dateList
VALUES(@currDate,
datename (month,@currDate),
datename (quarter,@currDate),
datename (year,@currDate))
SET @currDate = dateadd(day,1,@currDate)
END
SELECT * FROM dateList
*/
/*
---- 日常购物记录表
DECLARE @i int,@randID int
SET @i = 1
WHILE @i < 62 --每天都有消费
BEGIN
SET @randID = @i%10
INSERT INTO payList(payerID,payDate,paySuperM,payPrice,payNote)
VALUES(@randID,@i,@randID,CEILING(100 * rand(@i)),'购物'+Convert(char,@i))
SET @i = (@i + 1);
END
SELECT * FROM payList
ORDER BY payList_id ASC
*/
===========================================
2.建立数据仓库数据库 数据源 维度 多维数据集
===========================================
数据源:
事实表
payList (payerID,payDate,payAdd,payprice)
维度表
时间表dateList(date_id,the_date,the_month,the_quertar,the_year)
购物超市表superMarket(id,superMarketName,address)
家庭成员表familyList(id,family_id,cy_id,cy_name)
多维数据集
payList
=========
3.运行MDX
=========
各季度 每个家庭 的 总购物 支出
select
{[dateList].[季度].members } on columns,
{[familyList].[Family Id].members } on rows
from
payList
各季度 每个家庭成员 的 总购物 支出
select
{[dateList].[季度].members } on columns,
{[familyList].[Family List Id].members } on rows
from
payList
第1个家庭 各成员各季度 总购物支出
select
{[familyList].[所有 familyList].[1] } on columns,
{[dateList].[月].members } on rows
from payList
各超市 各月 收入
select
{[superMList].[Super M Id].members } on columns,
{[dateList].[月].members } on rows
from payList
(以下内容 仅是个人对学习数据仓库的一种尝试
是很肤浅的
希望大家看了以后能给以指导
后续我会在这个基础上进一步学习)
步骤:
1.建立数据库 数据表 填充数据
2.建立数据仓库数据库 数据源 维度 多维数据集
3.运行MDX
============================
1.建立数据库 数据表 填充数据
============================
---- 创建家庭表
CREATE TABLE [familyList] (
[familyList_ID] [int] IDENTITY (1, 1) NOT NULL ,
[family_ID] [int] NOT NULL ,
[cy_ID] [int] NOT NULL ,
[cy_Name] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
---- 创建超市表
CREATE TABLE [superMarket] (
[superM_ID] [int] IDENTITY (1, 1) NOT NULL ,
[superM_Name] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL ,
[superM_Address] [char] (30) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
---- 创建日期时间表
CREATE TABLE [dateList] (
[date_ID] [int] IDENTITY (1, 1) NOT NULL ,
[the_date] [datetime] NOT NULL ,
[the_month] [int] NOT NULL ,
[the_quertar] [int] NOT NULL ,
[the_year] [int] NOT NULL
) ON [PRIMARY]
GO
---- 创建购物表
CREATE TABLE [payList] (
[payList_id] [int] IDENTITY (1, 1) NOT NULL ,
[payerID] [int] NOT NULL ,
[payDate] [int] NOT NULL ,
[paySuperM] [int] NOT NULL ,
[payPrice] [money] NOT NULL ,
[payNote] [char] (20) COLLATE Chinese_PRC_CI_AS NOT NULL
) ON [PRIMARY]
GO
/*
---- 家庭成员表
INSERT INTO familyList
SELECT '1','1','张三'
UNION SELECT '1','2','张三妻'
UNION SELECT '1','3','张三子'
UNION SELECT '1','4','张三女'
UNION SELECT '2','1','李四'
UNION SELECT '2','2','李四妻'
UNION SELECT '2','3','李四父'
UNION SELECT '2','4','李四母'
UNION SELECT '3','1','王五'
UNION SELECT '3','2','王五妻'
SELECT * FROM familyList
*/
/*
---- 购物超市表
DECLARE @i int
SET @i = 1
WHILE @i < 11
BEGIN
INSERT INTO superMarket (superM_Name,superM_Address)
VALUES( '超市'+Convert(char,@i) ,'超市地址'+Convert(char,@i) )
SET @i=(@i+1)
END
SELECT * FROM superMarket
*/
/*
---- 时间日期表
DECLARE @currDate datetime
SET @currDate = Convert(datetime,'2006/09/01')
WHILE @currDate< Convert(datetime,'2006/11/01')
BEGIN
INSERT INTO dateList
VALUES(@currDate,
datename (month,@currDate),
datename (quarter,@currDate),
datename (year,@currDate))
SET @currDate = dateadd(day,1,@currDate)
END
SELECT * FROM dateList
*/
/*
---- 日常购物记录表
DECLARE @i int,@randID int
SET @i = 1
WHILE @i < 62 --每天都有消费
BEGIN
SET @randID = @i%10
INSERT INTO payList(payerID,payDate,paySuperM,payPrice,payNote)
VALUES(@randID,@i,@randID,CEILING(100 * rand(@i)),'购物'+Convert(char,@i))
SET @i = (@i + 1);
END
SELECT * FROM payList
ORDER BY payList_id ASC
*/
===========================================
2.建立数据仓库数据库 数据源 维度 多维数据集
===========================================
数据源:
事实表
payList (payerID,payDate,payAdd,payprice)
维度表
时间表dateList(date_id,the_date,the_month,the_quertar,the_year)
购物超市表superMarket(id,superMarketName,address)
家庭成员表familyList(id,family_id,cy_id,cy_name)
多维数据集
payList
=========
3.运行MDX
=========
各季度 每个家庭 的 总购物 支出
select
{[dateList].[季度].members } on columns,
{[familyList].[Family Id].members } on rows
from
payList
各季度 每个家庭成员 的 总购物 支出
select
{[dateList].[季度].members } on columns,
{[familyList].[Family List Id].members } on rows
from
payList
第1个家庭 各成员各季度 总购物支出
select
{[familyList].[所有 familyList].[1] } on columns,
{[dateList].[月].members } on rows
from payList
各超市 各月 收入
select
{[superMList].[Super M Id].members } on columns,
{[dateList].[月].members } on rows
from payList
相关文章推荐
- Mini数据仓库搭建学习:家庭日常购物支出
- 大数据学习系列(5)-- 局域网yum仓库搭建
- Maven学习 (四) 使用Nexus搭建Maven私服 为什么要搭建nexus私服,原因很简单,有些公司都不提供外网给项目组人员,因此就不能使用maven访问远程的仓库地址,所以很有必要在局域网里找
- 基于深度学习框架的火灾识别报警平台搭建----OpenCV3.1.0读取dav视频数据出错
- Hadoop学习笔记(10)-简述分布式数据仓库Hive原理
- 使用Nexus2.x为Maven3.x搭建私服构件仓库-----学习笔记
- 大数据环境平台仓库日常跑批整理
- 基于Hadoop生态圈的数据仓库实践 —— 环境搭建(一)
- 大数据Hadoop学习之搭建hadoop平台(2.2)
- hive--基于Hadoop的数据仓库Hive 学习指南
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库01 —— 准备环境,搭建本地仓库,安装ambari
- 基于【CentOS-7+ Ambari 2.7.0 + HDP 3.0】搭建HAWQ数据仓库03 —— 安装HAWQ3.0.0
- Ambari学习1_Ambari——大数据平台的搭建利器
- 如何低成本搭建企业数据仓库?
- 数据仓库建模(Data Warehousing)学习笔记
- linux学习第二十一篇:安装软件包的三种方法,rpm,yum工具用法,yum搭建本地仓库
- DayDayUP_大数据学习课程[2]_spark1.4.1集群环境的搭建
- 搭建数据仓库第01篇:数据仓库开发的生命周期
- Centos7.2学习记录(3)——搭建本地yum仓库
- PostgreSQL数据库日常学习笔记4-更新数据