Visual studio 向MDX查询添加参数

Visual studio 向MDX查询添加参数,visual-studio,parameters,report,mdx,Visual Studio,Parameters,Report,Mdx,我正在MS Visual Studio中构建一个报告,它从多维数据集获取数据。这其中有一个维度叫做玩家。我想交一个参数“Name”并接收玩家玩过的游戏数。但是我没有将参数集成到我使用的MDX查询中。我已经定义了参数,在查询中,我尝试了 许多不同的东西,例如 Select strtomember('@Name') on 1, [Measures].[Match Count] on 0 From [Kicker Manager Data Warehouse] 而不是strotember('@Na

我正在MS Visual Studio中构建一个报告,它从多维数据集获取数据。这其中有一个维度叫做玩家。我想交一个参数“Name”并接收玩家玩过的游戏数。但是我没有将参数集成到我使用的MDX查询中。我已经定义了参数,在查询中,我尝试了 许多不同的东西,例如

Select 
strtomember('@Name')
on 1,
[Measures].[Match Count]
on 0
From [Kicker Manager Data Warehouse]
而不是
strotember('@Name')
for ex

[Dimension Player].[@Name]

但什么都不管用。非常感谢您的帮助。

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

您可以看看如何使用SQL命令
OPENROWSET
,该命令允许SQL过程执行一些MDX并在正常(2D)记录集中返回结果。然后,MDX将是一个字符串,您可以在调用代码或过程中按照自己喜欢的方式对其进行格式化


或者看看从VisualStudio使用ADOMD执行MDX(或者我在那里有点过时了?)。同样,您需要传递一个字符串。

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

您可以看看如何使用SQL命令
OPENROWSET
,该命令允许SQL过程执行一些MDX并在正常(2D)记录集中返回结果。然后,MDX将是一个字符串,您可以在调用代码或过程中按照自己喜欢的方式对其进行格式化


或者看看从VisualStudio使用ADOMD执行MDX(或者我在那里有点过时了?)。同样,您要传递一个字符串。

正确的语法是
strotemember(@Name)

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

正确的语法是
strtomember(@Name)

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

这是不正确的,但是SSA的ADO.Net提供程序没有正确实现参数化。如果使用ADO COM接口(SSRS就是这样做的),则可以参数化MDX查询,但如果从.Net调用,则必须自己对查询进行参数化。这是不正确的,但是SSA的ADO.Net提供程序没有正确实现参数化。如果使用ADO COM接口(SSRS就是这样做的),则可以参数化MDX查询,但如果从.Net调用,则必须自己对查询进行参数化。