我正在使用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
有表达可以为我做这个吗? 感谢
答案 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
)