如何在具有多个数据集的SQL Server报告中创建报告文本框聚合表达式

Foz*_*767 6 sql sql-server reporting-services

如果SQL Server Reporting Services报表在报表中包含多个文本框,并且具有以下表达式的变体

=Sum(IiF(Fields!RegisterID.Value = 6000, 1, 0) 
Run Code Online (Sandbox Code Playgroud)

Iif(Fields!PointID.Value = 500, 1, 0)) / Sum(Iif(Fields!PointID.Value = 500, 1, 0)) 
Run Code Online (Sandbox Code Playgroud)

我尝试预览报告时看到以下错误:

文本框'Textbox2'的Value表达式使用不带范围的聚合表达式.除非报告仅包含一个数据集,否则在数据区域外使用的所有聚合都需要范围.

我该如何解决?

Ian*_*ton 11

根据错误,当您在不是表的一部分的文本框中引用数据集字段时,您需要为表达式指定范围,例如,您需要一个字段,但应该使用什么数据集?

所以类似于:

=Sum(IiF(Fields!RegisterID.Value = 6000, 1, 0), "MyDataset")
Run Code Online (Sandbox Code Playgroud)

MyDataset报表中数据集的名称在哪里.

如果您在独立文本框中执行此操作,则还必须使用类似First或的聚合函数Sum,因为文本框中只能显示一个值,并且数据集可能有多行; 使用聚合确保只根据需要返回一个值.