MDX Query在SSMS中工作,但在Visual Studio中不起作用



我有一个MDX查询,它在SSMS中运行没有任何问题。但是,我正在尝试在Visual Studio中使用此查询来提取报表的数据。当我在VS中运行它时,它返回一个空表。

我一直在使用 NON EMPTY 语句,因为在我意识到这个问题之前,我看到使用 NON EMPTY 我只会得到我的度量字段。如果没有非空,我将获得所有度量值和 6/7 的 ROW 字段。最后我看了看,发现它只是拉了一张空桌子。

SELECT
{
[Measures].[Retail Number Sold],
[Measures].[Retail Sales Amount],
[Measures].[Retail Sales Tax],
[Measures].[Wholesale Number Sold],
[Measures].[Wholesale Sales Amount],
[Measures].[Wholesale Sales Tax] } ON COLUMNS,
NON EMPTY
{
(
IIF(len(@District) > 0, [Customer - Invoice account].[StoreDistrict].[StoreDistrict].[@District], [Customer - Invoice account].[StoreDistrict].[StoreDistrict].ALLMEMBERS) *
IIF(len(@AgencyID) > 0, [Customer - Invoice account].[Store].[Store].[@AgencyID], [Customer - Invoice account].[Store].[Store].ALLMEMBERS) *
[Customer - Invoice account].[StoreName].[StoreName].ALLMEMBERS *
IIF(len(@BrandID) > 0, [Released products].[Product number].[Product number].[@BrandID], [Released products].[Product number].[Product number].ALLMEMBERS) *
[Released products].[Product name - Released products].[Product name].ALLMEMBERS *
IIF(len(@Category) > 0, [Released products].[CategoryName].[CategoryName].[@Category],[Released products].[CategoryName].[CategoryName].ALLMEMBERS) *
[Customer].[Customer group].[Customer group].ALLMEMBERS
) } ON ROWS
FROM
[Sales cube];

也许我在这里错了,但是当我测试查询时,我应该能够看到我的结果。我还希望能够查看所有行字段和列字段,以便将它们放入报表中。

我弄清楚了我遇到的问题。在SSMS中,我传递的是硬编码值,而不是我在Visual Studio中使用的参数。所以,直到一段时间后我才想到我的参数语法不正确,这就是我无法提取任何数据的原因。

将参数传递到元组时,不能简单地将

[Customer - Invoice account].[StoreDistrict].[StoreDistrict].[@District]

MDX 要求您将参数放入字符串中,并将该字符串转换为成员,如下所示。

StrToMember("[Customer - Invoice account].[StoreDistrict].[StoreDistrict].[" + @District + "]")

相关内容

最新更新