【问题标题】:Creating Parameters for shared datasets using Multidimensional Data使用多维数据为共享数据集创建参数
【发布时间】:2014-01-17 11:27:49
【问题描述】:

我一直在尝试根据系统中的多维数据集创建 SSRS 报告。此报表将使用共享数据源和共享数据集。到目前为止,我创建了一个共享数据源和一个共享数据集,该数据集在过滤器区域(使用“等于”运算符)中具有大约 5 个维度作为参数,其中参数字段已选中,结果网格中有一堆维度和度量。

现在,当我使用此共享数据集创建报告时,过滤器区域中存在的 5 个维度确实显示为参数,但是,当我运行报告时,这些参数在下拉列表中没有值。我在这个过程中遗漏了什么吗?这是权限问题吗?

当我创建一个本地数据集时,一切都很好,参数填充了维度的成员。但同样不适用于共享数据集。

另外,我正在使用报表生成器 3.0。

有人遇到过同样的问题吗?请帮忙。

【问题讨论】:

    标签: reporting-services ssas


    【解决方案1】:

    我认为参数是报表的本地参数,并没有真正被视为共享。您可以共享数据集,但我不确定您将如何共享参数,因为它需要另一个数据集来填充它。当您从 SSAS 源创建参数时,SSRS 会为每个参数创建一个隐藏数据集,并使用它来填充参数下拉列表。

    您可以编写另一个共享数据集,该数据集使用与 SSRS 通常对隐藏数据集使用相同的 MDX,并使其可供报表生成器使用。例如,这是 SSRS 为日历年参数生成的 MDX:

    WITH 
    Member [Measures].[ParameterCaption] as [Date].[Calendar Year].Currentmember.CAPTION
    MEMBER [Measures].[ParameterValue] as [Date].[Calendar Year].Currentmember.UNIQUENAME
    MEMBER [Measures].[ParameterLevel] as [Date].[Calendar Year].Currentmember.LEVEL.ORDINAL
    SELECT {[Measures].[ParameterCaption], [Measures].[ParameterValue], [Measures].[ParameterLevel} on COLUMNS, 
    [Date].[Calendar Year].ALLMEMBERS ON ROWS 
    FROM [CUBE]
    

    您可以使用它并将其调整为您需要的任何维度层次结构。如果您正在执行产品类别参数,则只需在查询中将 [Date].[Calendar Year] 替换为 [Product].[Category]。

    【讨论】:

    • 您好,感谢您的回复。这种方法在第二个共享数据集确实填充下拉列表的意义上有效,但是,由于过滤列表是基于时间的(即取决于报告的时间范围,列表会有所不同),我是否有办法约束基于报告时间范围的辅助数据集?
    • 是的,在 MDX 语句的末尾添加 where 子句或在 mdx 语句中添加交叉连接,并在查询中放置一个参数,其值将从级联参数传入
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-01-28
    • 1970-01-01
    • 2021-10-26
    • 2013-12-18
    • 2010-11-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多