ADOMD.NET实现多维数据库数据挖掘相关信息查看功能
2008-08-03 20:56
701 查看
目标
1. 查看支持挖掘的算法信息
2. 查看挖掘结构信息
3. 查看挖掘结构列信息
4. 查看挖掘结构模型信息
实现目标类关系图与详细信息图
Code
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AnalysisServices.AdomdClient;
using System.Data.Common;
using System.Data;
using System.Windows.Forms;
namespace WinMinnig
{
public class MyMinnig
{
public MyMinnig()
{
}
public static AdomdConnection GetOpenConnection(string conStr)
{
AdomdConnection con = new AdomdConnection();
con.ConnectionString = conStr;
if (con.State.Equals(ConnectionState.Closed))
con.Open();
return con;
}
/// <summary>
/// 获取挖掘模型信息集合
/// </summary>
/// <param name="models"></param>
/// <returns></returns>
public static DataTable MiningModels(MiningModelCollection models)
{
DataTable table = new DataTable("MiningModels");
table.Columns.Add("Algorithm");
table.Columns.Add("Name");
table.Columns.Add("AllowDrillThrough");
table.Columns.Add("Parent");
DataRow row = null;
foreach (MiningModel model in models)
{
row = table.NewRow();
row["Algorithm"] = model.Algorithm;
row["Name"] = model.Name;
row["AllowDrillThrough"] = model.AllowDrillThrough.ToString();
row["Parent"] = model.Parent.Name;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 获取挖掘结构信息集合
/// </summary>
/// <param name="structures"></param>
/// <returns></returns>
public static DataTable MiningStructures(MiningStructureCollection structures)
{
DataTable table = new DataTable("MiningStructures");
table.Columns.Add("Name");
DataRow row = null;
foreach (MiningStructure structure in structures)
{
row = table.NewRow();
row["Name"] = structure.Name;
row["Name"] = structure.Caption;
row["Name"] = structure.Description;
row["Name"] = structure;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 根据已打开的连接和挖掘结构称称获取挖掘结构实例
/// </summary>
/// <param name="openConnection"></param>
/// <param name="structrueName"></param>
/// <returns></returns>
public static MiningStructure GetStructureByName(AdomdConnection openConnection,string structrueName)
{
return openConnection.MiningStructures[structrueName];
}
/// <summary>
/// 获取挖掘结构的挖掘模型
/// </summary>
/// <param name="structure"></param>
/// <returns></returns>
public static DataTable StructureModels(MiningStructure structure)
{
DataTable table = new DataTable("MiningModels");
table.Columns.Add("Algorithm");
table.Columns.Add("Name");
table.Columns.Add("AllowDrillThrough");
table.Columns.Add("Parent");
DataRow row = null;
MiningModelCollection models = structure.MiningModels;
foreach (MiningModel model in models)
{
row = table.NewRow();
row["Algorithm"] = model.Algorithm;
row["Name"] = model.Name;
row["AllowDrillThrough"] = model.AllowDrillThrough.ToString();
row["Parent"] = model.Parent.Name;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 获取挖掘结构列信息集合
/// </summary>
/// <param name="columns"></param>
/// <returns></returns>
public static DataTable StructureColumns(MiningStructureColumnCollection columns)
{
DataTable table = new DataTable("StructureColumns");
table.Columns.Add("Name");
table.Columns.Add("Content");
table.Columns.Add("Type");
table.Columns.Add("Description");
DataRow row = null;
foreach (MiningStructureColumn column in columns)
{
row = table.NewRow();
row["Name"] = column.Name;
row["Content"] = column.Content;
row["Type"] = column.Type.ToString();
row["Description"] = column.Description;
table.Rows.Add(row);
if(column.Columns.Count>0)
{
DataTable table1= StructureColumns(column.Columns);
for (int i = 0; i < table1.Rows.Count;i++ )
{
table.Rows.Add(table1.Rows[i].ItemArray);
}
}
}
return table;
}
/// <summary>
/// 获取多维数据库支持数据挖掘的算法集
/// </summary>
/// <param name="servieces"></param>
/// <returns></returns>
public static DataTable MiningServices(MiningServiceCollection servieces)
{
DataTable table = new DataTable("MiningServices");
table.Columns.Add("Name");
table.Columns.Add("DisplayName");
table.Columns.Add("Descrioption");
DataRow row = null;
foreach (MiningService service in servieces)
{
row = table.NewRow();
row["Name"] = service.Name;
row["DisplayName"] = service.DisplayName;
row["Descrioption"] = service.Description;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 获取多维数据库支持数据挖掘算法信息,以树结点组织信息
/// </summary>
/// <param name="servieces"></param>
/// <returns></returns>
public static TreeNode BuildMiningServies(MiningServiceCollection servieces)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = "数据挖掘算法";
treeNode.Name = "$Servieces";
foreach (MiningService service in servieces)
{
treeNode.Nodes.Add(service.Name, service.DisplayName).ToolTipText = service.Description;
}
return treeNode;
}
/// <summary>
/// 获取多维数数据库数据挖掘结构集合,以树结点组织信息
/// </summary>
/// <param name="structures"></param>
/// <returns></returns>
public static TreeNode BuildMiningStructures(MiningStructureCollection structures)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = "挖掘结构";
treeNode.Name = "$Structures";
TreeNode node = null;
foreach( MiningStructure structure in structures)
{
node=treeNode.Nodes.Add(structure.Name,structure.Caption);
node.Nodes.Add(BuildStructureColumns(structure.Columns));
node.Nodes.Add(BuildStuctureModes(structure.MiningModels));
}
return treeNode;
}
/// <summary>
/// 获取数据挖掘结构列信息集合,以树结点组织信息
/// </summary>
/// <param name="columns"></param>
/// <returns></returns>
public static TreeNode BuildStructureColumns(MiningStructureColumnCollection columns)
{
TreeNode treeNode=new TreeNode() ;
treeNode.Name = "$Columns";
treeNode.Text = "列";
foreach(MiningStructureColumn column in columns)
{
treeNode.Nodes.Add(column.Name,column.Name);
if (column.Columns.Count>0)
treeNode.Nodes[column.Name].Nodes.Add(BuildStructureColumns(column.Columns));
}
return treeNode;
}
/// <summary>
/// 获取数据挖掘模信息集哈,以树点组织信息
/// </summary>
/// <param name="models"></param>
/// <returns></returns>
public static TreeNode BuildStuctureModes(MiningModelCollection models)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = "挖掘模型";
treeNode.Name = "$Models";
TreeNode node = null;
foreach(MiningModel mode in models)
{
node= treeNode.Nodes.Add(mode.Name,mode.Name);
node.ToolTipText = mode.Algorithm;
}
return treeNode;
}
}
}
实现效果
代码下载
1. 查看支持挖掘的算法信息
2. 查看挖掘结构信息
3. 查看挖掘结构列信息
4. 查看挖掘结构模型信息
实现目标类关系图与详细信息图
Code
using System;
using System.Collections.Generic;
using System.Text;
using Microsoft.AnalysisServices.AdomdClient;
using System.Data.Common;
using System.Data;
using System.Windows.Forms;
namespace WinMinnig
{
public class MyMinnig
{
public MyMinnig()
{
}
public static AdomdConnection GetOpenConnection(string conStr)
{
AdomdConnection con = new AdomdConnection();
con.ConnectionString = conStr;
if (con.State.Equals(ConnectionState.Closed))
con.Open();
return con;
}
/// <summary>
/// 获取挖掘模型信息集合
/// </summary>
/// <param name="models"></param>
/// <returns></returns>
public static DataTable MiningModels(MiningModelCollection models)
{
DataTable table = new DataTable("MiningModels");
table.Columns.Add("Algorithm");
table.Columns.Add("Name");
table.Columns.Add("AllowDrillThrough");
table.Columns.Add("Parent");
DataRow row = null;
foreach (MiningModel model in models)
{
row = table.NewRow();
row["Algorithm"] = model.Algorithm;
row["Name"] = model.Name;
row["AllowDrillThrough"] = model.AllowDrillThrough.ToString();
row["Parent"] = model.Parent.Name;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 获取挖掘结构信息集合
/// </summary>
/// <param name="structures"></param>
/// <returns></returns>
public static DataTable MiningStructures(MiningStructureCollection structures)
{
DataTable table = new DataTable("MiningStructures");
table.Columns.Add("Name");
DataRow row = null;
foreach (MiningStructure structure in structures)
{
row = table.NewRow();
row["Name"] = structure.Name;
row["Name"] = structure.Caption;
row["Name"] = structure.Description;
row["Name"] = structure;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 根据已打开的连接和挖掘结构称称获取挖掘结构实例
/// </summary>
/// <param name="openConnection"></param>
/// <param name="structrueName"></param>
/// <returns></returns>
public static MiningStructure GetStructureByName(AdomdConnection openConnection,string structrueName)
{
return openConnection.MiningStructures[structrueName];
}
/// <summary>
/// 获取挖掘结构的挖掘模型
/// </summary>
/// <param name="structure"></param>
/// <returns></returns>
public static DataTable StructureModels(MiningStructure structure)
{
DataTable table = new DataTable("MiningModels");
table.Columns.Add("Algorithm");
table.Columns.Add("Name");
table.Columns.Add("AllowDrillThrough");
table.Columns.Add("Parent");
DataRow row = null;
MiningModelCollection models = structure.MiningModels;
foreach (MiningModel model in models)
{
row = table.NewRow();
row["Algorithm"] = model.Algorithm;
row["Name"] = model.Name;
row["AllowDrillThrough"] = model.AllowDrillThrough.ToString();
row["Parent"] = model.Parent.Name;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 获取挖掘结构列信息集合
/// </summary>
/// <param name="columns"></param>
/// <returns></returns>
public static DataTable StructureColumns(MiningStructureColumnCollection columns)
{
DataTable table = new DataTable("StructureColumns");
table.Columns.Add("Name");
table.Columns.Add("Content");
table.Columns.Add("Type");
table.Columns.Add("Description");
DataRow row = null;
foreach (MiningStructureColumn column in columns)
{
row = table.NewRow();
row["Name"] = column.Name;
row["Content"] = column.Content;
row["Type"] = column.Type.ToString();
row["Description"] = column.Description;
table.Rows.Add(row);
if(column.Columns.Count>0)
{
DataTable table1= StructureColumns(column.Columns);
for (int i = 0; i < table1.Rows.Count;i++ )
{
table.Rows.Add(table1.Rows[i].ItemArray);
}
}
}
return table;
}
/// <summary>
/// 获取多维数据库支持数据挖掘的算法集
/// </summary>
/// <param name="servieces"></param>
/// <returns></returns>
public static DataTable MiningServices(MiningServiceCollection servieces)
{
DataTable table = new DataTable("MiningServices");
table.Columns.Add("Name");
table.Columns.Add("DisplayName");
table.Columns.Add("Descrioption");
DataRow row = null;
foreach (MiningService service in servieces)
{
row = table.NewRow();
row["Name"] = service.Name;
row["DisplayName"] = service.DisplayName;
row["Descrioption"] = service.Description;
table.Rows.Add(row);
}
return table;
}
/// <summary>
/// 获取多维数据库支持数据挖掘算法信息,以树结点组织信息
/// </summary>
/// <param name="servieces"></param>
/// <returns></returns>
public static TreeNode BuildMiningServies(MiningServiceCollection servieces)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = "数据挖掘算法";
treeNode.Name = "$Servieces";
foreach (MiningService service in servieces)
{
treeNode.Nodes.Add(service.Name, service.DisplayName).ToolTipText = service.Description;
}
return treeNode;
}
/// <summary>
/// 获取多维数数据库数据挖掘结构集合,以树结点组织信息
/// </summary>
/// <param name="structures"></param>
/// <returns></returns>
public static TreeNode BuildMiningStructures(MiningStructureCollection structures)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = "挖掘结构";
treeNode.Name = "$Structures";
TreeNode node = null;
foreach( MiningStructure structure in structures)
{
node=treeNode.Nodes.Add(structure.Name,structure.Caption);
node.Nodes.Add(BuildStructureColumns(structure.Columns));
node.Nodes.Add(BuildStuctureModes(structure.MiningModels));
}
return treeNode;
}
/// <summary>
/// 获取数据挖掘结构列信息集合,以树结点组织信息
/// </summary>
/// <param name="columns"></param>
/// <returns></returns>
public static TreeNode BuildStructureColumns(MiningStructureColumnCollection columns)
{
TreeNode treeNode=new TreeNode() ;
treeNode.Name = "$Columns";
treeNode.Text = "列";
foreach(MiningStructureColumn column in columns)
{
treeNode.Nodes.Add(column.Name,column.Name);
if (column.Columns.Count>0)
treeNode.Nodes[column.Name].Nodes.Add(BuildStructureColumns(column.Columns));
}
return treeNode;
}
/// <summary>
/// 获取数据挖掘模信息集哈,以树点组织信息
/// </summary>
/// <param name="models"></param>
/// <returns></returns>
public static TreeNode BuildStuctureModes(MiningModelCollection models)
{
TreeNode treeNode = new TreeNode();
treeNode.Text = "挖掘模型";
treeNode.Name = "$Models";
TreeNode node = null;
foreach(MiningModel mode in models)
{
node= treeNode.Nodes.Add(mode.Name,mode.Name);
node.ToolTipText = mode.Algorithm;
}
return treeNode;
}
}
}
实现效果
代码下载
相关文章推荐
- 发布一个C#+ADOMD.NET实现查看分析服务数据库信息的类对象
- SpringMVC(27):json数据的传递处理的示例(实现功能:使用jQuery框架的ajax()方法实现用户信息查看)
- 李德仁院士:在夜光遥感数据中挖掘民生相关的信息
- 【数据挖掘】关联挖掘算法+信息增益等相关概念
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(五)
- 使用Lucene.NET实现数据检索功能
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(二)
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(六)
- EXTJS学习系列提高篇:第二篇(转载)作者殷良胜,结合EXT2.2+C#.net实现将数据导入Excel的功能
- 用SQL Server 2008的数据挖掘实现相关阅读推荐
- Python实现的手机号归属地相关信息查询功能示例
- asp.net中Repeater中嵌套Repeater来显示跟外层Repeater数据相关的其他信息
- asp.net 站内搜索功能的实现及利用datatable绑定数据并进行分页
- Spring框架中提供了它自己的标签库,可以和相关的组建相结合,可以提供页面表单组件、错误信息的数据绑定等功能。
- 使用SQL Server Analysis Services数据挖掘的关联规则实现商品推荐功能(七)
- 通过使用第三方SDK来实现应用的分享,第三方登陆,数据信息统计等功能(ShareSDK)。
- ajax实现文件异步上传并回显文件相关信息功能示例
- Asp.net MVC 中利用jquery datatables 实现数据分页显示功能
- ASP.NET实现增删改查等功能(Access版)系统之二-gridview绑定数据及行绑定
- ASP.NET实现增删改查等功能(Access版)系统之二-GridView绑定数据.