如何在C#中执行SQL Analysis Server的MDX查询

Que*_*est 3 c# sql-server ssas analysis adomd.net

我想在C#中执行SQL Analysis查询.我已使用以下代码成功连接到Analysis数据库:

Server DM_Server = new Server();
Database AS_Database = new Database();
DM_Server.Connect(//SQL Analysis Server Connection String);
AS_Database = DM_Server.Databases[//Database name];
Run Code Online (Sandbox Code Playgroud)

我有一个SQL查询

SELECT FLATTENED PredictAssociation()
From
[Mining Structure Name]
NATURAL PREDICTION JOIN
(SELECT (SELECT 1 AS [UserId]) AS [Vm]) AS t 
Run Code Online (Sandbox Code Playgroud)

Gre*_*way 9

您需要使用ADOMD.NET,它是Microsoft.AnalysisServices.AdomdClient命名空间.它也可以在Nuget找到.

AdomdConnection conn = new AdomdConnection(
    "Data Source=localhost;Catalog=YourDatabase");
conn.Open();

string commandText = @"SELECT FLATTENED 
    PredictAssociation()
    From
    [Mining Structure Name]
    NATURAL PREDICTION JOIN
    (SELECT (SELECT 1 AS [UserId]) AS [Vm]) AS t ";
AdomdCommand cmd = new AdomdCommand(commandText, conn);
AdomdDataReader dr = cmd.ExecuteReader();

while (dr.Read())
{
   Console.WriteLine(Convert.ToString(dr[0]));
}

dr.Close();
conn.Close();
Run Code Online (Sandbox Code Playgroud)

  • @BhavnaBeri当然。您可以在下次发布自己的答案以帮助社区。很高兴你知道了 (2认同)