如何在ssrs中添加百分比列

how to add percentage column in ssrs

我在报表生成器中有一个矩阵,可以为每位员工生成每个 Fiscal_year 的实际余额,其中 fiscal_year 是列组。

我需要添加一个字段来计算参数中所选年份之间的 YOY% 例如,如果我在参数中选择 Fiscal_year 2018、2017,除了 2018 年实际余额和 2017 年实际余额之外,我还应该有 YOY% = (2018 AB -2017 AB)/2017 AB

公式应考虑除以零。

您必须在 SQL 查询中创建此列,我本周早些时候遇到了同样的问题。

使用以下内容在 SQL 中创建查询:

With Year2017AB as (
select column names, cast(actual_bal as float) as Balance7 
from data
where fiscal_year = '2017')
, Year2018AB as (
select column names, cast(actual_bal as float) as Balance8
from data
where fiscal_year = '2018')
select name column, Balance7, Balance8, (Balance8-Balance7)/Balance7 as YOY% 
from data d
left join Year Year2017AB s
on d.name = s.name
left join Year2018AB e
on d.name = e.name

请务必将值转换为浮点数,以便读取实际答案。在 SSRS 中将其格式化为百分比。

你的公式应该类似于

=CStr(IIF(Parameter!<paramname>.Value ="2018, 2017", IIF(SUM(Fields!2017AB.Value > 0 ,SUM(Fields!2017AB.Value -Fields!2017AB.Value)/SUM(Fields!2017AB.Value),0)) & "%"

如果显示 AB 值的行没有分组,请不要使用求和。

我用下面的公式解决了它,它也考虑了除以零:

=IIF(SUM(iif(Fields!FISCAL_YEAR.Value = 2017,cdbl(Fields!actual_BAL.Value),0.00))=0,0,(SUM(iif(Fields!FISCAL_YEAR.Value = 2018,cdbl(Fields!actual_BAL.Value),0.00))-SUM(iif(Fields!FISCAL_YEAR.Value = 2017,cdbl(Fields!actual_BAL.Value),0.00)))/IIF(SUM(iif(Fields!FISCAL_YEAR.Value = 2017,cdbl(Fields!actual_BAL.Value),0.00))=0,1,SUM(iif(Fields!FISCAL_YEAR.Value = 2017,cdbl(Fields!actual_BAL.Value),0.00))))*100