SSRS - 使用不同数据集字段的表达式

时间:2012-03-12 23:15:45

标签: ssrs-2008 reporting-services bids reportbuilder3.0

我有一份包含多个数据集的报告。来自不同数据集的不同字段用于报告的不同位置。

在报告的一部分中,我需要使用来自两个不同数据集的字段进行计算。这可能在表达式中吗?
我可以在表达式中以某种方式引用该字段所在的数据集吗?

例如,我想做这样的事情:

=Fields.Dataset1.Field / Fields.Dataset2.Field

3 个答案:

答案 0 :(得分:17)

您可以通过指定字段的范围来实现这一目标:

=First(Fields!fieldName_A.Value, "Dataset1") / First(Fields!fieldName_B.Value, "Dataset2")

假设A为10且B为2并且它们是数字类型,那么当报表呈现时,您将得到5的结果。

当您在表达式构建器中时,您可以选择“类别:数据集”,在“项目:”下突出显示所需的数据集,然后双击“值:”下的所需字段,它将显示在添加了范围的表达式字符串中。

使用相同的逻辑,您可以连接两个字段,如下所示:

=First(Fields!fieldName_A.Value, "Dataset1") & “ “ & First(Fields!fieldName_B.Value, "Dataset2")

答案 1 :(得分:3)

正如PerPlexSystem所写,假设您只想将数据集中的第一个值与另一个数据集中的值进行比较,则可以使用First函数。

但是,如果要将一个数据集中每行的值与另一个数据集的每一行的值进行比较,则需要使用子报告 - 有关详细信息,请参阅here

答案 2 :(得分:0)

另一种选择是使用参数作为变量。如果要在其中一个数据集中创建计算字段,这将非常有用。当参数值来自具有单个记录的数据集时,最好应用此方法。