【问题标题】:How can I "specify a dataset aggregate" in this SSRS Expression?如何在此 SSRS 表达式中“指定数据集聚合”?
【发布时间】:2016-01-12 17:05:47
【问题描述】:

我的 SSRS 报告中需要一个行值,该行值是根据报告中已使用的几个字段计算得出的。我希望它显示在名为“textboxPercentageValue”的文本框中。在半纯英语中,表达式/公式是:

If the value of the "Week" field is "WK1", display the value of the Variance field divided by the value of the Price field; otherwise, just display the value from the Variance field.

在 VB 脚本 gobbledygook 中,我添加到 textboxPercentageValue 的 Value 属性的表达式/公式是:

=IIF((Fields!Week.Value="WK1"), Fields!Variance.Value / Fields!Price.Value, Fields!Variance.Value)

然而,当我尝试将 .rdl 文件上传到 SQL Server Reporting Services 时,我得到:

"文本框“textboxPercentageValue”的值表达式直接引用字段“周”而不指定数据集聚合。当报表包含多个数据集时,数据区域之外的字段引用必须包含在聚合中指定数据集范围的函数。(rsFieldReferenceAmbiguous) 获取联机帮助文本框“textboxPercentageValue”的值表达式直接引用字段“Variance”而不指定数据集聚合。当报表包含多个数据集时,数据区域之外的字段引用必须包含在指定数据集范围的聚合函数中。(rsFieldReferenceAmbiguous) 获取在线帮助 文本框“textboxPercentageValue”的值表达式直接引用“价格”字段,而不指定数据集聚合。当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中。 (rsFieldReferenceAmbiguous) 获取联机帮助 文本框“textboxPercentageValue”的值表达式直接引用“Variance”字段,而不指定数据集聚合。当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中。 (rsFieldReferenceAmbiguous)"

那么我需要做些什么才能使这个表达式/公式对 SQL Server Reporting Services 或 VBScript 解析器或抱怨它的“任何人”明确?

【问题讨论】:

    标签: reporting-services vbscript bids rdl aggregates


    【解决方案1】:

    听起来您的文本框已添加到不是“数据区域”的报告区域(例如表格或列表)。数据区域将对特定报表数据集的引用作为其属性之一,因此 Reporting Services 知道该数据区域内的所有字段引用都引用该数据集。这个错误想要表达的意思(以一种相当冗长的方式)是:

    • 如果引用数据区域之外的字段,则该引用需要位于聚合表达式(例如 Sum())内 - 这是因为数据集可能包含该字段的多行,但数据区域之外的文本框可以只显示一个值。
    • 此聚合表达式还必须包含对该字段来自的报表数据集的引用

    因此,如果字段“WK1”来自数据集“MyDataset1”,则引用该字段的表达式如下所示:

    =Sum(Fields!WK1, "MyDataset1")
    

    另请参阅:Using Dataset Fields Collection References in Expressions

    【讨论】:

      【解决方案2】:

      这是一个有趣的问题,因为如果您的报表中只有一个数据集,则不需要表格,您可以直接引用该表格中存在的字段。

      但是,如果您有超过 1 个数据集,则必须创建一个表,该表可能会提供多行。然后您可能必须按此字段进行分组,并隐藏额外的列和行。但是,您不能在 TEXTBOX 中显示此数据,但是您可以创建一个可以容纳表格和另一个文本框的矩形。或者直接显示表格。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-10-16
        • 1970-01-01
        相关资源
        最近更新 更多