【问题标题】:how to add percentage column in ssrs如何在ssrs中添加百分比列
【发布时间】:2018-06-28 14:44:38
【问题描述】:

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

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

公式应考虑除以零。

【问题讨论】:

  • 单个报告中的比较将在 2 年之间进行比较,或者可能针对更多年份的夫妇,例如 2018-2017、2017-2016 等?

标签: matrix reporting-services ssrs-2008 reporting ssrs-2012


【解决方案1】:

我使用以下公式解决了它,它还考虑了除以零:

=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

【讨论】:

    【解决方案2】:

    你的公式应该类似于

    =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 值的行进行分组,请不要使用 sum。

    【讨论】:

      【解决方案3】:

      您必须在 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 中将其格式化为百分比。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-01-26
        • 1970-01-01
        相关资源
        最近更新 更多