SSRS:报表生成器:计算文本框中的条件格式

时间:2014-12-03 14:36:57

标签: reporting-services reportbuilder

我知道您可以将条件格式应用于报表生成器中的字段: http://technet.microsoft.com/en-us/library/dd220466%28v=sql.100%29.aspx

上面页面上的示例给出了此示例在属性框Color:

中设置表达式
=IIF(Fields!Profit.Value < 0, "Red", "Black")

如果您知道该字段的名称,那么这是一个很好的例子。但是我想在派生的字段中应用条件格式,我不确定该字段的名称是什么。

例如,在我的SSRS报告中,我有一个矩阵,其中包含两个提供两个数字的文本框。然后我将计算放入引用前两个的第三个文本框中:

enter image description here

在Report Builder中,我的计算只显示为expr或expression。如何在IF语句中引用计算文本框以进行条件格式化?

我尝试使用计算字段而不是文本框之类的东西,但问题是矩阵想要对百分比求和,因此计算出的文本框比计算字段效果更好。

3 个答案:

答案 0 :(得分:3)

根据范围,您可以使用ReportItems引用文本框,因此如果包含您的计算的文本框的名称为&#34;百分比&#34;然后你可以在另一个表达式中引用它,如下所示:

=ReportItems!Percentage.Value

如果你想在包含计算的文本框上进行条件格式化,你也可以使用Me.Value,虽然我有时会得到奇怪的结果。

此外,您可以重复计算中使用的表达式以提供条件格式,例如,如果您想要更改包含可以使用表达式的百分比的文本框的文本颜色:

=IIF((Fields.Numerator.Value / Fields.Denominator.Value) > 0.5, "Green", "Red")

答案 1 :(得分:1)

如果你在一个小组内,你就维持了范围。

您有两个选项......您可以使用表达式中其他字段的相同计算颜色(如之前的答案)。

在这种情况下,最好的解决方案是尝试对SQL进行计算。由于性能问题,我建议这样做。通常,由于解析,使用SQL引擎的que计算会快得多。

尝试将所有计算保留在SQL中。

答案 2 :(得分:0)

我认为首先你必须在dataSet中编写第三个文本框表达式添加“计算字段”

然后在IF条件中使用这些计算字段。

enter image description here