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

Ssrs 2008 SSRS-使用不同数据集字段的表达式,ssrs-2008,reporting-services,bids,reportbuilder3.0,Ssrs 2008,Reporting Services,Bids,Reportbuilder3.0,我有一份包含多个数据集的报告。不同数据集的不同字段用于报表的不同位置 在报告的一部分中,我需要使用来自两个不同数据集的字段进行计算。这在表达式中可能吗? 我可以在表达式中引用字段所在的数据集吗 例如,我想这样做: =Fields.Dataset1.Field / Fields.Dataset2.Field 您可以通过如下方式指定字段的范围来实现这一点: =First(Fields!fieldName_A.Value, "Dataset1") / First(Fields!fieldName_B

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

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

例如,我想这样做:

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

您可以通过如下方式指定字段的范围来实现这一点:

=First(Fields!fieldName_A.Value, "Dataset1") / First(Fields!fieldName_B.Value, "Dataset2")
假设A为10,B为2,并且它们的类型为numeric,则在呈现报告时,结果为5

在expression builder中,可以选择类别:数据集,在Item:下高亮显示所需的数据集,然后双击Value:下的所需字段,它将显示在表达式字符串中,并添加范围

使用相同的逻辑,您可以像这样连接两个字段:

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

正如系统所写,如果您只想将数据集的第一个值与另一个数据集的值进行比较,则可以使用第一个函数


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

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

谢谢。这正是我所需要的。或者,如果您无法忍受子报表造成的问题,例如对齐问题和呈现中SSRS差异的细微差别,则可以在筛选器表达式中使用=LookupSet()方法。