如何使用MDX填充.net下拉列表?

时间:2011-02-14 09:58:05

标签: c# drop-down-menu ssas mdx

我正在寻找使用SSAS多维数据集作为数据平台构建Web应用程序。

因此,我想在下拉列表中列出维度。例如,我有一个名为Dim Company的维度。

如何使用这些公司填充下拉列表?

非常感谢任何示例或指针。

2 个答案:

答案 0 :(得分:0)

ADOMD允许您查询多维数据集的结构以及数据。您不需要任何MDX;您可以让它列出某个多维数据集上的维度,或列出特定维度的某个级别的成员。这是一个非常古老的ASP示例:

Set oCat = Server.CreateObject("ADOMD.Catalog")
Set oCat.ActiveConnection = oCon
Set oDim = oCat.CubeDefs("CubeName").Dimensions("DimName")
Set oMembers = oDim.Hierarchies(0).Levels(2).Members
'then loop oMembers and get their .Caption property

如果您确实了解MDX,则可以编写查询以列出所需的成员,而无需返回任何数据,只需使用部分结果填充下拉列表。例如:

SELECT {[Location].[All Location].children} ON ROWS, 
{} ON COUMNS 
FROM [CubeName]

如果您愿意,甚至可以使用OPENROWSET从SQL发出此消息。

答案 1 :(得分:0)

您还可以查看CellSetGrid源代码。

CellSetGrid是一个开源ASP .Net(c#)控件,它为SSAS Cubes提供类似于数据透视表的功能。

[以前在本网站上可以下载: www.SQLServerAnalysisServices.com 现在该网站不再托管此控件了]

所以我在这里上传了控件的来源 - CellSetGrid。

http://www.box.net/shared/6gi0n79q6t