📄 dmmviewerdemo.aspx.cs
字号:
using System;
using System.Data;
using System.Configuration;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using Microsoft.AnalysisServices.AdomdClient;
public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
}
protected void btnConnect_Click(object sender, EventArgs e)
{
if (txtServer.Text != String.Empty && ddlCatalogs.Text != String.Empty)
{
// Open connection to specified server selected and selected database
AdomdConnection conn = new AdomdConnection("Data Source=" + txtServer.Text + ";Initial Catalog=" + ddlCatalogs.Text);
conn.Open();
// Populate ddlModels with all mining models in database
ddlModels.Items.Clear();
foreach (MiningModel mm in conn.MiningModels)
{
if (mm.Algorithm == "Microsoft_Decision_Trees" || mm.Algorithm == "Microsoft_Naive_Bayes" || mm.Algorithm == "Microsoft_Clustering")
{
ddlModels.Items.Add(mm.Name);
}
}
conn.Close();
// Show model-related UI elements
lblModels.Visible = true;
ddlModels.Visible = true;
btnSelectModel.Visible = true;
// Hide vewer-level UI elements and all viewer controls
lblTrees.Visible = false;
ddlTrees.Visible = false;
btnLoadModel.Visible = false;
dtvMain.Visible = false;
nbvMain.Visible = false;
clvMain.Visible = false;
}
}
protected void btnLoadModel_Click(object sender, EventArgs e)
{
// Open connection to specified server selected and selected database (used to determine selected model's algorithm)
AdomdConnection conn = new AdomdConnection("Data Source=" + txtServer.Text + ";Initial Catalog=" + ddlCatalogs.Text);
conn.Open();
// Determine algorithm-specific viewer type, set control's properties and show it
switch (conn.MiningModels[ddlModels.Text].Algorithm)
{
case "Microsoft_Decision_Trees":
if (ddlTrees.Text != String.Empty)
{
dtvMain._Server = txtServer.Text;
dtvMain.Database = ddlCatalogs.Text;
dtvMain.Model = ddlModels.Text;
dtvMain.Tree = ddlTrees.Text;
dtvMain.Visible = true;
}
break;
case "Microsoft_Naive_Bayes":
nbvMain._Server = txtServer.Text;
nbvMain.Database = ddlCatalogs.Text;
nbvMain.Model = ddlModels.Text;
nbvMain.ViewerMode = ddlViewerMode.Text;
nbvMain.Visible = true;
break;
case "Microsoft_Clustering":
clvMain._Server = txtServer.Text;
clvMain.Database = ddlCatalogs.Text;
clvMain.Model = ddlModels.Text;
clvMain.ViewerMode = ddlViewerMode.Text;
clvMain.Visible = true;
break;
}
conn.Close();
}
protected void btnSelectModel_Click(object sender, EventArgs e)
{
// Hide all viewer controls:
dtvMain.Visible = false;
nbvMain.Visible = false;
clvMain.Visible = false;
// Open connection to specified server selected and selected database (used to determine selected model's algorithm)
AdomdConnection conn = new AdomdConnection("Data Source=" + txtServer.Text + ";Initial Catalog=" + ddlCatalogs.Text);
conn.Open();
// For Decision_Trees, must hide ViewerMode-related controls and show tree selection controls
if (conn.MiningModels[ddlModels.Text].Algorithm == "Microsoft_Decision_Trees")
{
// Valid trees are simply the list of predicatable variables (attributes):
ddlTrees.Items.Clear();
foreach (MiningAttribute atr in conn.MiningModels[ddlModels.Text].Attributes)
{
if (atr.IsPredictable)
{
ddlTrees.Items.Add(atr.Name);
}
}
lblTrees.Visible = true;
ddlTrees.Visible = true;
lblViewerMode.Visible = false;
ddlViewerMode.Visible = false;
}
// For other algorithms, must hide tree selection controls and show ViewerMode-related controls
else
{
lblTrees.Visible = false;
ddlTrees.Visible = false;
lblViewerMode.Visible = true;
ddlViewerMode.Visible = true;
}
// Close connection
conn.Close();
// Regardless of algorithm, show btnLoadModel
btnLoadModel.Visible = true;
}
protected void btnGetCatalogs_Click(object sender, EventArgs e)
{
// Get list of server's catalogs from a Schema DataSet:
AdomdConnection conn = new AdomdConnection("Data Source=" + txtServer.Text + ";Initial Catalog=" + ddlCatalogs.Text);
conn.Open();
foreach (DataRow dr in conn.GetSchemaDataSet(AdomdSchemaGuid.Catalogs, null).Tables[0].Rows)
{
ddlCatalogs.Items.Add((string)dr[0]);
}
conn.Close();
// Show Catalog-level UI elements and btnConnect
lblCatalogs.Visible = true;
ddlCatalogs.Visible = true;
btnConnect.Visible = true;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -