如何在SSRS报表生成器中设置全局变量

时间:2018-05-23 10:20:18

标签: sql-server reporting-services ssrs-2008 rdlc reportbuilder3.0

条件:

当一行中一个字段的值大于1,000,000时,它的字体大小必须设置为6pt,否则,默认为9pt

我使用了这个表达式:

  

= IIF(字段!UNIT_RATE.Value> 1000000,“6pt”,“9pt”)

为了报告的统一性,所有行中的其他字段必须根据此字段的字体大小遵循其字体大小..但挑战是,公式是每行测试此条件..

因此会产生类似这样的结果

enter image description here

有没有方法或正确的方法来解决这个问题?第二行中的位置也必须跟随第一行的位置,根据提供的条件自动调整?

我的初步解决方案

我正在考虑首先创建一个GLOBAL VARIABLE TO CHECK,如果数据集中的单位费率大于1,000,000,则此全局变量雾为TRUE.otherwise为False,这将在每个中用作变量字段字体大小公式表达式..

但我不知道如何实现这一点,因为我是REPORT BUILDER的新手

1 个答案:

答案 0 :(得分:1)

您必须检查数据集中字段的最大值是否超过1000000

= Iif( max(Fields!val.Value, "YourDatasetName")>=1000000, "6pt", "9pt" )

对于多个字段,您可以使用多个OR条件

 = Iif( max(Fields!val1.Value, "YourDatasetName")>=1000000 OR max(Fields!val2.Value, "YourDatasetName")>=1000000 OR ...., "6pt", "9pt" )

要在全局变量中使用它,请转到报告属性并输入您的表达式,如下图所示,并在每个文本框的font size属性中设置变量值

enter image description here