s-s-rS:试图隐藏文本框并不断收到数据聚合错误
Posted
技术标签:
【中文标题】s-s-rS:试图隐藏文本框并不断收到数据聚合错误【英文标题】:s-s-rS: Trying to hide a Textbox and keep getting a data aggregation error 【发布时间】:2021-12-03 17:08:14 【问题描述】:我基本上是在尝试根据我在此报告中使用的预批准字段的条件来隐藏此占位符/文本框。如果该字段的值为“是”,则将文本框留在那里,如果为“否”,则对用户隐藏文本框。 我试过使用
=iif( Fields!Preapproval.Value = "Yes", false,true)
s-s-rs 报告会报错
文本框“Textbox86”的隐藏表达式直接引用“Preapproval”字段,而不指定数据集聚合。当报表包含多个数据集时,数据区域之外的字段引用必须包含在指定数据集范围的聚合函数中。
我看到一些帖子说要使用类似这样的代码
=First(Fields!Preapproval.Value, "TestDateSet")
解决我当前收到的错误。
任何人对我需要做些什么来使此文本框的可见性正常工作有任何想法吗?
【问题讨论】:
【参考方案1】:听起来您试图隐藏文本框,但文本框不在绑定到数据集的表/矩阵内。
例如,如果文本框位于绑定到您的数据集的表中的一行中,那么您尝试的方法将起作用。
如果文本框在表格/矩阵中但不在详细信息行组中,则可以将行组名称指定为范围,例如
=IIF(FIRST(Fields!Preapproval.Value, "myRowGroupName") = "Yes", False, True)
假设文本框只是坐在它自己的报告中某处然后根据您的数据集包含的内容,您必须决定使用哪种方法。
如果您的数据集只包含 1 条记录,那么您可以使用
=IIF(FIRST(Fields!Preapproval.Value, "myDataSetName") = "Yes", False, True)
如果您的数据集包含多个记录,那么您仍然可以使用上述方法,或者您可以使用不同的聚合函数,例如 MIN() 或 MAX() 而不是 FIRST()。
注意:范围名称(在本例中为您的数据集名称)区分大小写,并且必须用双引号引起来。
顺便说一句:您可以将隐藏表达式简化为类似
=FIRST(Fields!Preapproval.Value, "myDataSetName") <> "Yes"
因为无论如何这都会返回 true 或 false,所以不需要 IIF
【讨论】:
以上是关于s-s-rS:试图隐藏文本框并不断收到数据聚合错误的主要内容,如果未能解决你的问题,请参考以下文章
试图在 python 中读取我的 .json 数据但不断收到错误