我一直在寻找这个整个计算器,我无法弄清楚。所以我有一个使用SSAS多维数据集的数据集,它有两个参数。它有一个类别和子类别。MDX SSRS参数类别选择所有子类别
我已经创建了数据集来填充这些参数,并且当我选择它们时它们工作正常。
我的报告运行方式是它是一个表中的子报表集合,它按类别分组,并按子类别分组。所以当我选择类别参数时,它会列出所有子报告的每个子类别。
我想要做的是获得该类别内的所有子类别的总数。我尝试使用默认值ALL,但没有奏效。我试图在表内的小组上进行总计测试,但这不起作用。
因此,对于组G1和子组SG1和SG2),以及子报告SR1,SR2,它是这样的
G1
-total(SG1 + SG2 + SG3)
--- SR1
--- SR2
-SG1
--- SR1
--- SR2
-S G2
--- SR1
--- SR2
我能够拉断子组由子报表作为类传入的参数设置的类别参数报告部分,和子类别参数作为子组的值。但我需要这个总数。
的MDX为我的类别是
SELECT { } ON COLUMNS, { ([Service].[Category].[Category].ALLMEMBERS) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [Sales-Cube] CELL PROPERTIES VALUE
的MDX的子类是
SELECT { } ON COLUMNS, { ([Service].[Category].[Category].ALLMEMBERS * [Service].[SubCategory].[Subcategory].ALLMEMBERS) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS FROM [Sales-Cube] CELL PROPERTIES VALUE
的MDX对我使用的参数是使用设计器创建的数据集,其计算方法如下
SELECT NON EMPTY { [Measures].[Sales Count] } ON COLUMNS,
NON EMPTY { ([Date].[Fiscal Year].[Fiscal Year].ALLMEMBERS) } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS
FROM (SELECT (Filter([Service].[SubCategory].[SubCategory].ALLMEMBERS, Instr([Service].[SubCategory].currentmember.Properties('Member_Caption'), @ParamSubCategory) > 0 )) ON COLUMNS
FROM (SELECT (Filter([Service].[Category].[Category].ALLMEMBERS, Instr([Service].[Category].currentmember.Properties('Member_Caption'), @ParamCategory) > 0 )) ON COLUMNS
FROM [Sales-Cube])) CELL PROPERTIES VALUE, BACK_COLOR, FORE_COLOR, FORMATTED_VALUE, FORMAT_STRING, FONT_NAME, FONT_SIZE, FONT_FLAGS
因此,根据从类别中选择的内容,它将过滤子类别y仅限于该类别内的所有级别,以便级联。 任何资源或帮助将是伟大的。
您必须首先填充类别参数,然后使用其值填充子类别参数。添加您用于填充子类别参数的MDX脚本示例。 –
是的,我有两个数据集,一个是类别参数列表,然后第二个数据集具有相关类别的子类别,并且使用类别参数进行过滤,因此在选择级联参数时级联。这工作正常,只是我无法获得整个类别的总数,如果未使用子类别,我也无法将数据集中的子类别参数默认为类别内的所有子类别。 – Dungkin
如果没有看到使用参数的MDX脚本,很难确定它为什么没有得到类别总数。此外,如果您希望在用户子类别参数为空时显示所有类别,则可以创建另一个内部/隐藏参数,以检查子类别是否为空,在此情况下将其设置为所有子类别。 –