加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

reporting-services – 如何在此SSRS表达式中“指定数据集聚合”

发布时间:2020-12-14 04:48:41 所属栏目:百科 来源:网络整理
导读:我的SSRS报告中需要一个行值,该值是基于报告中已经使用的几个字段计算出来的.我希望它显示在名为’textboxPercentageValue’的文本框中.在半简单英语中,表达式/公式为: If the value of the "Week" field is "WK1",display the value of the Variance field
我的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’的值表达式直接指向字段’Week’而不指定数据集聚合.当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中.(rsFieldReferenceAmbiguous)获取联机帮助文本框’textboxPercentageValue’的值表达式直接指向字段’Variance’而不指定数据集聚合.当报表包含多个数据集时,数据区域外的字段引用必须包含在聚合函数中指定数据集范围.(rsFieldReferenceAmbiguous)获取在线帮助
文本框’textboxPercentageValue’的值表达式直接指向“价格”字段,而不指定数据集聚合.当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中. (rsFieldReferenceAmbiguous)获取在线帮助
文本框’textboxPercentageValue’的值表达式直接指向字段’Variance’而不指定数据集聚合.当报表包含多个数据集时,数据区域外的字段引用必须包含在指定数据集范围的聚合函数中. (rsFieldReferenceAmbiguous)”

那么我需要做些什么来使这个表达式/公式明确无法与SQL Server Reporting Services或VBScript解析器或“谁”抱怨它?

解决方法

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

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

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

=Sum(Fields!WK1,"MyDataset1")

另见:Using Dataset Fields Collection References in Expressions

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读