SSRS%数值正值或负值,以查看是否可以自动显示“增加”或“减少”一词

时间:2018-02-06 15:33:37

标签: reporting-services expression percentage

我正在使用SQL Server Reporting Services 2016,我需要一些建议,我在文本框中SSRS的Tablix的顶行中有以下语句,该文章中有一些表达式:

  

本报告期内到目前为止收到的推荐总数   这是一个-6%«Expr3»与收到的1518相比   与上一个报告年度相同的时期。

在这个例子中,我希望«Expr3»说“减少”,因为-6是一个负数。

«Expr3»---我遇到的问题是我需要解决<>,我想根据«Expr2»的值显示增加或减少,如果«Expr2»是积极的数字然后我希望«Expr3»的这个值显示单词“Increase”,如果«Expr2»值是负数,那么我想«Expr3»显示“Decrease”。

低于其他表达式后面的价值

«表达式1»

=Sum(Fields!ID.Value, "01_TotalReferralsInThisPeriod")

«EXPR2»

= ((Code.Divide(
(Sum(Fields!ID.Value, "01_TotalReferralsInThisPeriod"))
,
(
Sum(Fields!ID.Value, "02_TotalReferralsInLastPeriod"))
))-1)*100

有表达可以为我做这个吗? 感谢

1 个答案:

答案 0 :(得分:0)

你的Expr3表达式应该是这样的:

=IIf(
    ((Code.Divide(
    (Sum(Fields!ID.Value, "01_TotalReferralsInThisPeriod"))
    ,
    (
    Sum(Fields!ID.Value, "02_TotalReferralsInLastPeriod"))
    ))-1)*100
    >= 0,
    "Increase",
    "Decrease"
)

此表达式假设您希望包含0%作为增加,当然可以通过修改> = 0来更改以满足您的需要。

如果你要说“"增加"或者"减少"虽然在百分比之后,你可能想要显示百分比的绝对值 - 这可能只是语义,但是对于我来说,看到" -6%减少",作为双倍会有点混乱负面意味着增加。如果你想改变它,只需将Expr2包装在abs函数中,如下所示:

=Abs(
    ((Code.Divide(
    (Sum(Fields!ID.Value, "01_TotalReferralsInThisPeriod"))
    ,
    (
    Sum(Fields!ID.Value, "02_TotalReferralsInLastPeriod"))
    ))-1)*100
)