SSRS级联参数删除非唯一值

时间:2017-07-12 16:11:21

标签: reporting-services parameters mdx cascading

我有一份报告,其中包含代理商,单位,计划等参数。 单位有两个值'A01'和'A02',每个单元都有一个带有ProgramCode'01'的程序,但是有唯一的程序名。我的报告中的下拉列表将删除第二个单元'01'程序。

以下是Program参数的查询,但我注意到了其他多选参数和非唯一值的这种行为。

enter code here
SELECT NON EMPTY { [Measures].[Total Funds] } ON COLUMNS, 
       NON EMPTY { (
            Order(
                 [ExpenditureLineItem].[ProgCode].CHILDREN * 
                 [ExpenditureLineItem].[Program Code Name].CHILDREN *
                 [ExpenditureLineItem].[ProgName].CHILDREN
                  , ASC
                 )
                 ) } ON ROWS 
                 FROM [Model] 
                 WHERE
            ( [ExpenditureLineItem].[Fiscal Year].[FY 2016], 
              [ExpenditureLineItem].[Stage].[YEAct], 
              [ExpenditureLineItem].[AgencyCode].[W00],
              {[ExpenditureLineItem].[UnitCode].[A01][ExpenditureLineItem].[UnitCode].[A02]}

2 个答案:

答案 0 :(得分:0)

这与列出月份的下拉列表相同吗?假设你有2016年1月到2017年7月....这意味着两个成员可能会被叫[January],然后会被剔除?

然后您需要创建唯一的名称。您是否正确查看了该成员.UniqueName?这可以在MDX中使用。它可能看起来有点难看。

或者自己动手,例如创建[January 2016][January 2017]。这可以在立方体本身上完成。你不一定要改变1月份的'名称;您可以设置一个属性来保存价值' Jan2017'。或者使用WITH MEMBER在MDX中创建新名称,如下所示:

WITH MEMBER [Time].[January 2016] AS [Time].[2016].[Quarter 1].[January]

此方法仅适用于少数不变更的成员。在多维数据集级别执行此操作是最好的。

答案 1 :(得分:0)

是的,我最终在多维数据集中创建了一个Lookup项目来连接Agency / Unit / Program / subprogram。这解决了它。

相关问题