内容介绍:
类实现的功能
类的关系图与类的详细信息
类的代码实现
效果演示与演示代码下载
类实现的功能:
1. 获取多维数据集信息
2. 获取度量值信息
3. 获取维度信息
4. 获取维度层次结构信息
5. 获取维度层结构级别信息
6. 获取维度层结构级别成员信息
7. 获取KPI信息
8. 获取命名集信息
类的关系图和类详细信息图
(类的关系图)
(类详细信息图)
类实现代码:
CubesViewer
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AnalysisServices.AdomdClient;
using System.Data;
/**//*
日期:2008-7-13
博客园号:http://xuanfeng.cnblogs.com
*/
namespace MyAdomd
{
public class CubesViewer
{
/**//// <summary>
///
/// </summary>
private AdomdConnection con = null;
private string conString = null;
private bool isOpen = false;
/**//// <summary>
/// 获取或设置AdomdConnection
/// </summary>
public AdomdConnection Connection
{
get { return con; }
set { con = value; }
}
/**//// <summary>
/// 获取AdomdConnection连接状态
/// </summary>
public bool IsOpen
{
get { return isOpen; }
}
/**//// <summary>
/// 获取或设置AdomdConnection连接字符串
/// </summary>
public string ConnectionString
{
get { return conString; }
set { conString = value;
con.ConnectionString = conString;
}
}
/**//// <summary>
/// 打开Adomd连接
/// </summary>
public void OpenConnection()
{
this.con.Open();
this.isOpen = true;
}
/**//// <summary>
/// 关闭Adomd连接
/// </summary>
public void CloseConnection()
{
this.con.Close();
}
/**//// <summary>
/// 构造函数
/// </summary>
public CubesViewer()
{
con = new AdomdConnection();
}
/**//// <summary>
/// 构造函数
/// </summary>
/// <param name="connectionString">连接字符串</param>
public CubesViewer(String connectionString)
{
this.conString = connectionString;
con = new AdomdConnection(conString);
}
/**//// <summary>
/// 获取所有立方体的信息
/// </summary>
/// <param name="cubs">数据库所有立方休信息</param>
/// <returns>所有立方体的信息</returns>
public static DataTable Cubes(CubeCollection cubs)
{
DataTable table = new DataTable("Cubes");
table.Columns.Add("Name");
table.Columns.Add("Type");
DataRow row;
for (int i = 0; i < cubs.Count; i++)
{
row = table.NewRow();
row["Name"] = cubs[i].Name;
row["Type"] = cubs[i].Type.ToString();
table.Rows.Add(row);
}
return table;
}
/**//// <summary>
/// 获取多维数据集信息
/// </summary>
/// <param name="cubes">数据库所有立方休信息</param>
/// <returns>多维数据集信息</returns>
public static DataTable CubesCube(CubeCollection cubes)
{
DataTable table = new DataTable("Cubers");
table.Columns.Add(new DataColumn("Name"));
table.Columns.Add(new DataColumn("Caption"));
DataRow row;
foreach (CubeDef cub in cubes)
{
if (cub.Type.Equals(CubeType.Cube))
{
row = table.NewRow();
row["Name"] = cub.Name;
row["Caption"] = cub.Caption;
table.Rows.Add(row);
}
}
return table;
}
/**//// <summary>
/// 获取所有度量值信息
/// </summary>
/// <param name="cubes">数据库所有立方休信息</param>
/// <returns>所有度量值信息</returns>
public static DataTable CubesMeasures(CubeCollection cubes)
{
DataTable table = new DataTable("Measurs");
table.Columns.Add(new DataColumn("Name"));
table.Columns.Add(new DataColumn("UniqueName"));
table.Columns.Add(new DataColumn("Caption"));
table.Columns.Add(new DataColumn("CubeName"));
table.Columns.Add(new DataColumn("CuberCaption"));
DataRow row;
foreach (CubeDef cub in cubes)
{
if (cub.Type.Equals(CubeType.Cube))
{
foreach (Measure measure in cub.Measures)
{
row = table.NewRow();
row["CubeName"] = cub.Name;
row["CuberCaption"] = cub.Caption;
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AnalysisServices.AdomdClient;
using System.Data;
/**//*
日期:2008-7-13
博客园号:http://xuanfeng.cnblogs.com
*/
namespace MyAdomd
{
public class CubesViewer
{
/**//// <summary>
///
/// </summary>
private AdomdConnection con = null;
private string conString = null;
private bool isOpen = false;
/**//// <summary>
/// 获取或设置AdomdConnection
/// </summary>
public AdomdConnection Connection
{
get { return con; }
set { con = value; }
}
/**//// <summary>
/// 获取AdomdConnection连接状态
/// </summary>
public bool IsOpen
{
get { return isOpen; }
}
/**//// <summary>
/// 获取或设置AdomdConnection连接字符串
/// </summary>
public string ConnectionString
{
get { return conString; }
set { conString = value;
con.ConnectionString = conString;
}
}
/**//// <summary>
/// 打开Adomd连接
/// </summary>
public void OpenConnection()
{
this.con.Open();
this.isOpen = true;
}
/**//// <summary>
/// 关闭Adomd连接
/// </summary>
public void CloseConnection()
{
this.con.Close();
}
/**//// <summary>
/// 构造函数
/// </summary>
public CubesViewer()
{
con = new AdomdConnection();
}
/**//// <summary>
/// 构造函数
/// </summary>
/// <param name="connectionString">连接字符串</param>
public CubesViewer(String connectionString)
{
this.conString = connectionString;
con = new AdomdConnection(conString);
}
/**//// <summary>
/// 获取所有立方体的信息
/// </summary>
/// <param name="cubs">数据库所有立方休信息</param>
/// <returns>所有立方体的信息</returns>
public static DataTable Cubes(CubeCollection cubs)
{
DataTable table = new DataTable("Cubes");
table.Columns.Add("Name");
table.Columns.Add("Type");
DataRow row;
for (int i = 0; i < cubs.Count; i++)
{
row = table.NewRow();
row["Name"] = cubs[i].Name;
row["Type"] = cubs[i].Type.ToString();
table.Rows.Add(row);
}
return table;
}
/**//// <summary>
/// 获取多维数据集信息
/// </summary>
/// <param name="cubes">数据库所有立方休信息</param>
/// <returns>多维数据集信息</returns>
public static DataTable CubesCube(CubeCollection cubes)
{
DataTable table = new DataTable("Cubers");
table.Columns.Add(new DataColumn("Name"));
table.Columns.Add(new DataColumn("Caption"));
DataRow row;
foreach (CubeDef cub in cubes)
{
if (cub.Type.Equals(CubeType.Cube))
{
row = table.NewRow();
row["Name"] = cub.Name;
row["Caption"] = cub.Caption;
table.Rows.Add(row);
}
}
return table;
}
/**//// <summary>
/// 获取所有度量值信息
/// </summary>
/// <param name="cubes">数据库所有立方休信息</param>
/// <returns>所有度量值信息</returns>
public static DataTable CubesMeasures(CubeCollection cubes)
{
DataTable table = new DataTable("Measurs");
table.Columns.Add(new DataColumn("Name"));
table.Columns.Add(new DataColumn("UniqueName"));
table.Columns.Add(new DataColumn("Caption"));
table.Columns.Add(new DataColumn("CubeName"));
table.Columns.Add(new DataColumn("CuberCaption"));
DataRow row;
foreach (CubeDef cub in cubes)
{
if (cub.Type.Equals(CubeType.Cube))
{
foreach (Measure measure in cub.Measures)
{
row = table.NewRow();
row["CubeName"] = cub.Name;
row["CuberCaption"] = cub.Caption;