您的位置:首页 > 数据库

用VS的服务器资源管理器连接和查看OLAP多维数据集

2006-12-30 18:04 176 查看
1.进入VS2005,点击“视图”菜单 下的“服务器资源管理器”
2.在“服务器资源管理器”的项目树 上 右键点选“数据连接”
  选择“添加连接” 打开的“添加连接”对话框
3.在打开的对话框 点选“更改”按钮 以 更改数据源
4.在打开的“更改数据源”对话框
  在“数据源” 列表中 选择“<其它>”
  在“数据提供程序”列表中 选择 “用于 OLE DB的.NET Framework数据提供程序”
  点击“确定”按钮 关闭当前的“更改数据源”对话框
  画面 返回到刚才的“添加连接”对话框
5.在“添加连接”对话框 的 “OLE DB 提供程序”处
  选择“Microsoft OLE DB Provider for Olap Services 8.0”
  也可以 点选其后的“数据链接”按钮 进行更细化的设置
6.输入服务器名及位置;
  如服务器名 127.0.0.1或localhost
    位置 127.0.0.1 或空
7.点击下方的“测试连接”按钮 进行连接测试
8.选择“登录服务器”的方式 及 填写相关设置
  如 “使用特定的用户名和密码”
9.在“初始目录”处 选择数据仓库数据库 如“mini”
10. 点选“高级”按钮 进行连接的查看 设置
11. 点击“确定” 完成 新数据连接的创建
目前效果图如下:



12.可以看到 原数据仓库数据库下的多维数据集
   在这里以“表”的形式呈现  
   维度表和事实表融合在了一起
   维度表字段形如 dateList:月!NAME ,
       dateList:月!KEY,dateList:月!UNIQUE_NAME
   事实表的度量值形如 Measures:Pay Price
13.右键点选所谓的“表”(多维数据集) 可以选择
   “显示表数据” 和 “新建查询”
14.右键点选“新建查询” 打开 查询设计器
   添加相关表payList
   选择相关字段 组织查询语句
部分示例如下:

SELECT DISTINCT [dateList:月!KEY] FROM payList
结果为 9

SELECT DISTINCT [dateList:月!UNIQUE_NAME] FROM payList
结果为 [dateList].[所有 dateList].[2006].[Quarter 3].[09]

SELECT DISTINCT [dateList:月!NAME] FROM payList
结果为 09

SELECT [familyList:Family Id!KEY], [Measures:Pay Price],
[dateList:日!KEY] FROM payList
得到 每个家庭在本数据库(表)的所有购物支出记录

可以对上述语句的结果 进行汇总 分组
得到 每个家庭每月总的购物消费支出

=========
查看上述OLE DB 的数据连接的属性可得知其连接字串为
Provider=MSOLAP.2;Data Source=192.168.0.36;
User ID=sa;Initial Catalog=mini
通过上述的演练
相信也可以通过C#等程序 对OLAP多维数据集进行利用


    protected void Button1_Click(object sender, EventArgs e)




    

{


        string strConn = " Provider=MSOLAP.2;Data Source=192.168.0.36;User ID=sa;Initial Catalog=mini";


        OleDbConnection OleDbConn = new OleDbConnection(strConn);


        OleDbConn.Open();


        //Response.Write("当前OleDbConn的状态" + OleDbConn.State.ToString());




        //string strComm = "select * from payList";




        string strComm = "SELECT [familyList:Family Id!KEY] AS 家庭编号, ";


        strComm += " [familyList:Cy Id!NAME] AS 家庭成员, ";


        strComm += " [dateList:月!KEY] AS 购物月份, [dateList:日!KEY] AS 购物日期,  ";


        strComm += " [superMList:Super M Name!KEY] AS 购物地点, [Measures:Pay Price] AS 购物支出 ";


        strComm += " FROM payList ";




        OleDbDataAdapter da = new OleDbDataAdapter(strComm, OleDbConn);


        DataSet ds = new DataSet();


        da.Fill(ds);        




        this.GridView1.DataSource = ds;


        this.GridView1.DataBind();


    }



-------------
不过 相信OLAP 及数据仓库 不是这样用的 或者这样用并没有发挥数据仓库应起的作用
努力学习中 也希望能得到前辈高手们的指导
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息