MDX (SSRS) 参数子集

MDX (SSRS) Parameter subset

我在 MDX 中的 SSRS 参数代码方面需要一些帮助 上下文 我正在尝试 return 国家/地区位置和类型 = 物质和房屋数量(不用作参数) 对于下拉列表 我正在使用标题、uniqueName 和 level.ordinal 方法

WITH MEMBER [Measures].[ParameterCaption] AS
 [Country].[Location].CurrentMember.Member_Caption 
MEMBER [Measures].[ParameterCaption2] AS
 [Type].[Type].CurrentMember.Member_Caption
MEMBER [Measures].[ParameterValue] AS
[Country].[Location].CurrentMember.UniqueName
MEMBER [Measures].[ParameterLevel] AS 
[Country].[Location].CurrentMember.Level.Ordinal
SELECT 
{ [Measures].[HouseCount]
, [Measures].[ParameterCaption]
,[Measures].[ParameterValue]
,[Measures].[ParameterLevel]}ON COLUMNS
,  ([Type].[Type].ALLmembers )ON ROWS
FROM [Cube];

这不是 return 我想要的

我应该看到一个位置列表,只有在它们与类型 =matter 交叉并且有房屋数量的地方 当我调整代码时,要么获取所有位置,要么显示 table

的值

您的查询没有像当前编写的那样进行过滤。要实现您所说的(仅 return,其中 Typematter),然后只需 select 仅在 ROWS 上输入该类型。

WITH MEMBER [Measures].[ParameterCaption] AS
   [Country].[Location].CurrentMember.Member_Caption 
MEMBER [Measures].[ParameterCaption2] AS
    [Type].[Type].CurrentMember.Member_Caption
MEMBER [Measures].[ParameterValue] AS
    [Country].[Location].CurrentMember.UniqueName
MEMBER [Measures].[ParameterLevel] AS 
    [Country].[Location].CurrentMember.Level.Ordinal
SELECT 
    {
      [Measures].[HouseCount],
      [Measures].[ParameterCaption],
      [Measures].[ParameterValue],
      [Measures].[ParameterLevel]
    } ON COLUMNS,
    ( [Type].[Type].[matter] ) ON ROWS
FROM [Cube];

您可能需要将 [Country].[Location] 移动到上下文中并键入 WHERE 子句?

WITH MEMBER [Measures].[ParameterCaption] AS
   [Country].[Location].CurrentMember.Member_Caption 
MEMBER [Measures].[ParameterCaption2] AS
    [Type].[Type].CurrentMember.Member_Caption
MEMBER [Measures].[ParameterValue] AS
    [Country].[Location].CurrentMember.UniqueName
MEMBER [Measures].[ParameterLevel] AS 
    [Country].[Location].CurrentMember.Level.Ordinal
SELECT 
    {
      [Measures].[HouseCount],
      [Measures].[ParameterCaption],
      [Measures].[ParameterValue],
      [Measures].[ParameterLevel]
    } ON COLUMNS,
    NonEmpty(
      [Country].[Location].[Location].MEMBERS
     ,[Measures].[HouseCount]
    ) ON ROWS
FROM [Cube]
WHERE [Type].[Type].[matter];