【问题标题】:Add the columns automatically in SSRS report在 SSRS 报告中自动添加列
【发布时间】:2014-06-16 06:45:42
【问题描述】:

目前我们的数据库表中有 6 列,我们将在 SSRS 报告中显示这些列,但将来如果我们再添加 1 列,则无需对 RDL 进行任何手动更改,它将包含在报告中。

当前报告示例:-

Name    Address Code    City    County  Country
xyz     Lane 1  466001  Bang    dbc      Africa
abc     Lane 2  466002  Bpl     bbn      Nepal
dcb     Lane 3  466003  sbc     wad      Bhutan

未在 SSRS 中手动添加列的预期报告。

Name    Address Code    City    County  Country DOB
xyz     Lane 1  466001  Bang    dbc     Africa  19/06/1986
abc     Lane 2  466002  Bpl     bbn     Nepal   20/06/1990
dcb     Lane 3  466003  sbc     wad     Bhutan  21/8/2000

感谢您的帮助。

【问题讨论】:

  • 那么报告如何神奇地知道您想要的出生日期显示格式?通过动态创建一个 UNPIVOT 语句然后使用列名作为列组可能是可能的,但不确定我会这样做。
  • @MartinSmith:在下面查看我对 Naveen 答案的评论,这将解决格式问题。

标签: reporting-services ssrs-2008 ssrs-tablix ssrs-2008-r2


【解决方案1】:

请按照以下步骤..

步骤 1. 使用 UNPIVOT 和 Property(ColunName) & Value 和 ID 列 (PKey) 创建 Proc

SELECT Pkey,tblPivot.Property, tblPivot.Value
 FROM (SELECT EmpNo AS Pkey, CONVERT(sql_variant,EmpNo) AS EmpNo, CONVERT(sql_variant,EName) AS EName, CONVERT(sql_variant,JOB) AS JOB, 
 CONVERT(sql_variant,Sal) AS Sal FROM EMP) EMP 
UNPIVOT (Value For Property In (EmpNo,EName, JOB, Sal)) as tblPivot

第 2 步。

使用上面的 SP 创建一个矩阵报告,在 [Pkey] 上进行行分组,在 [Property] 上进行 col-grouping 和显示值 ...

第 3 步现在您可以根据您的要求在 SP(第 1 步)中添加/删除列

【讨论】:

  • +1。除此之外,为了回答 Martin Smith 在上述评论中的问题,您可以控制新添加列的格式,方法是创建一个表来保存将来添加的属性的格式字符串。此表应包含两列:Property 和 FormatString。在显示值的 Tablix 单元格的 Format 表达式中使用 SSRS 函数 LOOKUP(),您可以按照您想要的任何方式格式化新添加的列。
  • 感谢 Naveen 和 Dan。+1 为你们俩。
  • 我的列本质上是动态的,列标题会发生变化,数据也会发生变化?如何合并?
猜你喜欢
  • 2015-08-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-01-20
  • 1970-01-01
相关资源
最近更新 更多