Sql server SSRS错误-“;报表项表达式只能引用当前数据集范围内的字段,如果在聚合范围内,则只能引用
我是SSRS的新手,我不确定它是否会做我想做的事情 我在SSRS中发现以下错误: 文本框“Textbox17”的值表达式引用了字段“DayCnt”。报表项表达式只能引用具有当前数据集作用域的字段,如果在聚合中,则只能引用具有指定数据集作用域的字段。字段名称中的字母大小写必须正确 我有一个3行3列的列表。我需要跨行和列使用多个数据集。我希望报告中的所有内容都按学校ID分组,每个数据集都有 在某些情况下,我将在每个单元格中使用多个数据集,并使用文本框,然后将数据集字段拖到其中。我不确定分组是否是问题所在。我不知道如何一次对整个列表进行分组,或者它是否基于行,或者分组如何处理具有多个列的列表 我怎样才能使列表中的所有内容都基于学校ID 谢谢你的帮助Sql server SSRS错误-“;报表项表达式只能引用当前数据集范围内的字段,如果在聚合范围内,则只能引用,sql-server,reporting-services,sql-server-2016,Sql Server,Reporting Services,Sql Server 2016,我是SSRS的新手,我不确定它是否会做我想做的事情 我在SSRS中发现以下错误: 文本框“Textbox17”的值表达式引用了字段“DayCnt”。报表项表达式只能引用具有当前数据集作用域的字段,如果在聚合中,则只能引用具有指定数据集作用域的字段。字段名称中的字母大小写必须正确 我有一个3行3列的列表。我需要跨行和列使用多个数据集。我希望报告中的所有内容都按学校ID分组,每个数据集都有 在某些情况下,我将在每个单元格中使用多个数据集,并使用文本框,然后将数据集字段拖到其中。我不确定分组是否是问题
不能在一个SSRS表上使用不同的数据集。一个表只能引用一个数据集 您的问题的解决方案是:重新创建数据集(查询),如果它们位于不同的服务器实例上,则尝试使用分布式查询获取一个数据集,或者当它们位于同一服务器上时指定数据库名称。您可以在同一数据区域(表等)中引用多个数据集但只有在所有数据集(分组所基于的主数据集除外)上使用聚合函数才有意义。我不确定这对您的用例是否有意义 聚合函数类似于
First
。如果不指定数据集,则默认为“当前数据集”。据我所知,当前数据集是一个不可见的默认值,在UI中的任何位置都无法看到或设置
=First(Fields!MyField.Value)
vs
现在,关于报表生成器UI,有两件棘手的事情需要了解
- 将字段拖动到报表中时,它创建的表达式不会指定数据集
- 将字段拖动到报表中时,它会更改当前数据集强>
Dataset1
中的字段Dataset1
中拖入一个字段Dataset2
中拖入一个字段。正如您所期望的那样,RB将自动使用聚合函数Dataset2
拖动会将当前数据集更改为Dataset2
,并在未明确指定的情况下中断使用Dataset1
的所有内容。解决方案是有漏洞的:
Dataset2
手动更改所有字段的表达式,使其显式引用数据集,或Dataset1
拖动字段并将其删除,重置当前数据集您可能对数据集进行了一些修改,但没有刷新字段。谢谢您的回复@Long您是否可以使用多个表利用多个数据集?@JM1,您可以,并且您可以使用不同的表或矩阵在一份报告中显示不同的数据集。目标是每页都有来自一所学校的所有数据,所以如果我使用多个表,我会根据schoolID对每个表进行分组?谢谢。这不是一个好的设计,如果你按每个表分组,你无法控制让SSR每页显示一所学校,你可以实现你的目标的方式就像我发布的一样,尝试构建一个查询,返回你所有的学校信息。
=First(Fields!MyField.Value, "MyDataset")