是否可以添加两个列值,表示我有3列:
Item 1 | Item 2 | Total
=Fields!Item1.Value | =Fields!Item1.Value | ???
我想避免的(出于可维护性原因)正在做这样的事情:
=Fields!Item1.Value + Fields!Item2.Value
我正在寻找像
这样的东西Column1Value + Column2Value
谢谢大家!!!!
答案 0 :(得分:4)
您想要做的就是引用报表对象(文本框)的值而不是查询中的列。您可以使用ReportItems!。
来完成此操作当您从数据集中拖出列时,它可能会在列之后命名文本框,如果列名称可能会有所不同,则您需要为将显示该值的文本框指定静态值。
因此,在您给出的初始示例中,您将拥有Item1,Item2和Total的名称的文本框。因此,在相应的总文本框中,您需要:
=ReportItems!Item1.Value + ReportItems!Item2.Value
或者如果您将文本框命名为Red和Blue,那么它将是:
=ReportItems!Red.Value + ReportItems!Blue.Value
点击'!'时会弹出可用的ReportItem列表在ReportItems之后。
答案 1 :(得分:3)
我只是在查询中添加并将其作为计算字段返回。
e.g。
SELECT field1, field2, field1 + field2 AS total;
我没有看到这个的可维护性问题。如果您需要将查询与其他所有内容分开,请考虑存储过程或某种工厂来生成查询。
答案 2 :(得分:3)
您也可以通过在数据集中添加计算字段来执行此操作。因此,添加两个源字段,让我们通常将它们称为 Item1 和 Item2 - 将 Source 设置为数据中字段的名称资源。然后添加一个计算字段,通过将字段的表达式设置为 = Fields!Item1.Value + Fields!Item2.Value <,将其称为 Total 到报表数据集/ em>的。 然后,您可以使用= Fields!Total.Value。
访问报表中的任何位置通过这种方式,您可以在不修改基础数据源的情况下进行计算,它更易于维护(在一个地方进行计算),它简化了整个报告中的计算参考。
答案 3 :(得分:2)
如果您使用matrix,则您所寻求的行为是内置的。