2010-09-09 115 views
1

我正在MS Visual Studio中构建一个报告,该报告从多维数据集中获取其数据。这其中包括一个称为播放器的维度。我想交出参数“名称”并接收玩家玩过的游戏数量。但是我没有在我使用的MDX查询中集成参数。我已经定义了参数,并且在查询中,我尝试了很多不同的东西,例如 。将参数添加到MDX查询

Select 
strtomember('@Name') 
on 1, 
[Measures].[Match Count] 
on 0 
From [Kicker Manager Data Warehouse] 

而不是strtomember('@Name')例如,

[Dimension Player].[@Name] 

但没有任何工作。将不胜感激任何帮助。

回答

1

正确的语法是strtomember(@Name)

在查询设计器中,我不得不再次定义参数 (对话框“查询参数”)。

0

MDX不支持像SQL存储过程那样的参数。

你可以看看使用SQL命令OPENROWSET,它允许SQL过程执行一些MDX并返回正常(2D)记录集中的结果。 MDX将是一个字符串,您可以在调用代码或proc中格式化您的喜好。

或者看看在Visual Studio中使用ADOMD执行MDX(或者我有点过时吗?)。再次,你会传递一个字符串。

+0

这是不正确的,但是SSAS的ADO.Net提供程序不能正确实现参数化。如果您使用ADO COM接口(这是SSRS所做的),则可以参数化MDX查询,但如果您从.Net调用,则必须自行参数化查询。 – piers7 2011-03-24 09:08:31

相关问题