`
lengyue
  • 浏览: 144530 次
  • 性别: Icon_minigender_1
  • 来自: 长春
社区版块
存档分类
最新评论

C#调用ADOMD的简单例子

 
阅读更多

最新在研究MDX,使用.net的C#语言调用ADOMD的单例子,

注意:在使用ADOMD时要导相应应的dll(Microsoft.AnalysisServices.AdomdClient,Microsoft.AnalysisServices.MdxCodeDom)

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using Microsoft.AnalysisServices.MdxCodeDom;
using Microsoft.AnalysisServices.AdomdClient;

namespace mdx
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private DataTable ConvertMdxToDataTable(CellSet cs)
        {
            DataTable dt = new DataTable();
            dt.TableName = "reultsetTable";
            DataColumn dc = null;
            DataRow dr = null;
            dt.Columns.Add(new DataColumn("描述"));
            string name;
            foreach (Position p in cs.Axes[0].Positions)
            {
                name = "";
                dc = new DataColumn();
                MessageBox.Show(Convert.ToString(p.Members.Count));
                foreach (Member m in p.Members)
                {
                    name = name + m.Caption + " ";
                   
                }
               
                dc.ColumnName = name;
                dt.Columns.Add(dc);
            }
            int pos = 0;
            foreach (Position py in cs.Axes[1].Positions)
            {
                dr = dt.NewRow();
                name = "";
                foreach (Member m in py.Members)
                {
                    name = name + m.Caption + " ";
                }
                dr[0] = name;
                for (int x = 1; x <= cs.Axes[0].Positions.Count; x++)
                {
                    dr[x] = cs[pos++].FormattedValue;
                }
                dt.Rows.Add(dr);
            }
            return dt;
        }
        private void button1_Click(object sender, EventArgs e)
        {
            string connectionString = "Data Source=localhost;Initial Catalog=foodmartdw";
            AdomdConnection connection;
            connection = new AdomdConnection(connectionString);
            connection.Open();
            AdomdCommand command;
            string mdx = "select {Measures.[Unit Sales]}  on columns, "
             +" exists([Store].[Store Name].members,{[Store].[Store Type].&[Supermarket]})ON ROWS "
             +" FROM foodmartsaledw ";
            command = new AdomdCommand(mdx, connection);
            CellSet cellSet = command.ExecuteCellSet();
            connection.Close();
            DataTable datatable = ConvertMdxToDataTable(cellSet);
            bindingSource1.DataSource = datatable;
            dataGridView1.DataSource = bindingSource1;
        }
    }
}

分享到:
评论

相关推荐

    C#+ADOMD.NET+访问OLAP+显示多维数据集树形结构

    本示例中使用的联机帮助文档自带示例的Adventure Works.sln布署后的数据库,若要修改数据库,请修改配置文件App.config中的连接字符串即;Integrated Security =SSPI ;Data Source= localhost ;Catalog =Adventure ...

    adomd.net 开发Bi例子

    总结来说,ADOMD.NET是BI开发者的重要工具,它提供了与Analysis Services交互的能力,使得构建基于多维数据的分析应用变得简单而强大。"AnalysisDataService"和"ADBHLperTest"这两个文件名暗示了开发过程中的关键...

    C#中使用ADOMD.NET查询多维数据集的实现方法

    本文实例讲述了C#中使用ADOMD.NET查询多维数据集的实现方法,分享给大家供大家参考。具体实现方法分析如下: ADOMD.NET 是用于与 Microsoft SQL Server Analysis Services 进行通信的 Microsoft .NET Framework 数据...

    Microsoft ADOMD.NET X86

    ADOMD.NET 是一个 Microsoft .NET Framework 对象模型,软件开发人员使用该模型可以创建客户端应用程序,以用于浏览元数据和查询存储在 Microsoft SQL Server 2005 Analysis Services 中的数据。ADOMD.NET 还是一个 ...

    ADOMD.NET电子书

    ADOMD.net开发必备,适用于Microsoft BI开发爱好者珍藏。

    adomd.zip_adomd_多维数据_数据仓库

    ADOMD.NET提供了元数据浏览、数据检索、订阅事件等功能,使得构建数据分析工具或报表变得简单。 二、多维数据 多维数据是数据仓库中的核心概念,它将数据组织成维度和事实,便于快速分析和决策。维度是描述业务实体...

    AnalysisService C#示例程序

    总的来说,这个"AnalysisService C#示例程序"为我们展示了如何使用C#语言和ADOMD.NET控件与Analysis Service2000进行集成,以实现数据仓库和数据挖掘的功能。通过深入学习和实践,开发者不仅可以掌握数据仓库的连接...

    adomd.h

    adomd.h

    ADO MD 程序员参考手册

    **ADO MD程序员参考手册概述** ADO (ActiveX Data Objects) MD是Microsoft提供的一个用于处理多维数据集的组件,它是ADO扩展的一部分,专门设计用来与多维数据源(如OLAP,Online Analytical Processing)进行交互...

    Analysis Services 数据挖掘

    在C#编程环境中,开发人员可以利用.NET Framework中的ADOMD.NET库和Microsoft.AnalysisServices.AdomdClient命名空间来与Analysis Services进行交互。这个库提供了API,使得开发人员能够构建应用程序,从而创建、...

    .net BI 分析 Source code

    4. **数据建模与OLAP**:理解多维数据集和在线分析处理(OLAP)的概念,可能会用到如ADOMD.NET库来与分析服务进行交互。 5. **报表和可视化工具**:如Microsoft SQL Server Reporting Services (SSRS)或第三方库如...

    process:C#MSOLAP

    在IT行业中,C#是一种广泛使用的面向对象的编程语言,由微软公司开发并应用于Windows平台。C#(读作"C sharp")以其高效、安全和强大的功能被广大开发者喜爱,尤其在开发桌面应用、游戏、移动应用以及Web服务等方面...

    Microsoft ADO MD.Net 9.0 x64

    Microsoft ADO MD.Net 9.0 x64 在安装BizTalk Server 2010 时会用到,可能会要求单独安装该组件

    使用ADO MD.NET开发SQL Server 2005 OLAP应用

    而ADOMD.NET则专注于OLAP环境,它允许开发者访问和分析存储在多维数据立方体中的数据,这些立方体通常用于商业智能和数据分析。 在安全性方面,当使用TCP连接到AS2000并尝试查询未经授权的维度成员时,系统会返回...

    Microsoft ADO MD.Net 10.0 x64

    Microsoft ADO MD.Net 10.0 x64 在安装BizTalk Server 2010 时会用到,可能会要求单独安装该组件

    RadarChart Win100

    在C#中实现OLAP功能,可以使用微软的Analysis Services SDK或者第三方库,如Adomd.NET,它允许程序连接到分析服务服务器并执行查询。通过这些工具,开发者可以创建自定义的分析应用程序,包括绘制Cube Chart。 ...

    AMO

    例如,`Server`类用于连接到SSAS实例,`Database`类代表数据库,`Cube`类表示多维数据集,`Dimension`类表示维度,`MeasureGroup`类表示度量值组,而`Partition`类则表示数据分区。 要开始使用AMO,你需要创建一个`...

    SQL Server 2005数据挖掘开发者指南

    6. **应用场景示例**:指南提供了几个实际的应用场景,如简单的数据挖掘预测、Web应用中的规则使用,以及根据服务器上的新数据创建和训练模型,以帮助开发者了解如何在实际项目中应用这些技术。 文章还包含了两个...

Global site tag (gtag.js) - Google Analytics