目标
1.查看支持挖掘的算法信息
2.查看挖掘结构信息
3.查看挖掘结构列信息
4.查看挖掘结构模型信息
实现目标类关系图与详细信息图
实现代码
实现效果
代码下载
目标
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;
}
}
}
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;
}
}
}
实现效果