使用MDX以表格形式获取SSAS多维数据集数据并填充到Asp Dropdown

时间:2018-09-11 05:53:29

标签: c# sql ssas mdx cube

我想从SSAS多维数据集获取“ Asp下拉列表中的操作单位”。

结构为:

enter image description here

我想要结果DataSet / DataTable中的所有成员,然后将DataTable绑定到Asp DropDown。

我所需的结果集如下:

enter image description here

我尝试了以下MDX:

select {} on 0,

[Product Hierarchy].[Operating Unit].members on 1
from
[Consolidated Sales];

我得到的输出是:

enter image description here

我无法在asp.net的DataTable中填充结果集,我尝试了以下代码:

//Lets store the connection string and MDX query to local variables
                string strConn = txtConnStr.Text;
                string strMDX = txtMDX.Text;

                //create and open adomd connection with connection string
                AdomdConnection conn = new AdomdConnection(strConn);
                DataTable dt = new DataTable();
                AdomdCommand cmd = new AdomdCommand();
                cmd = conn.CreateCommand();
               //cmd.Parameters.Add("DimProductRegion", "Bike");
                cmd.CommandText = "select {   }                on columns,             [Product Hierarchy].[Operating Unit].[Operating Unit]        on rows from [Consolidated Sales]";

                AdomdDataAdapter da = new AdomdDataAdapter(cmd);
                da.Fill(dt);


                DDL_Product.DataSource = dt;
                DDL_Product.DataTextField = "ParameterCaption";
                DDL_Product.DataValueField = "ParameterValue";
                DDL_Product.DataBind();

请帮助我解决此问题。我是MDX的新手

1 个答案:

答案 0 :(得分:0)

您是否可以访问“尺寸”的源表?无论如何,我都不是MDX方面的专家,但是在应用程序中填充列表时,我总是直接使用源表。

另一个技巧-打开Visual Studio,选择“商业智能”,然后使用“报表服务器项目向导”创建一个新项目。连接到SSAS CUBE,选择所需的尺寸(或度量),它将为您生成MDX查询。