【问题标题】:Formatting integer in SSRS with leading zeros在 SSRS 中使用前导零格式化整数
【发布时间】:2017-01-18 03:29:03
【问题描述】:

无论实际数据的长度如何,我想总共格式化为 10 位数字,并用前导零填充。 示例实际数据为123456,那么我的结果将是0000123456。但是实际数据是动态长度的,这意味着我们不能一直猜测。 我可以在SSRS中实现吗?而不是在 SQL 中格式化?

【问题讨论】:

    标签: reporting-services ssrs-2012


    【解决方案1】:

    在报告中,将字段格式设置为与要显示的数字一样多的零。 例如,对于 10 位数字,格式代码应为“0000000000”

    【讨论】:

      【解决方案2】:

      可以通过多种方式获得前导零的动态填充。您可以直接在数据库本身中执行,然后在 RS 中显示相同的内容,或者从 DB 获取原始数据,然后在 RS 中进行填充。供您参考,我已经展示了这两种方式。

      要在 RS 中使用的样本数据 -

      declare @t table(i varchar(10))
      insert into @t values (1),(12),(123),(1234),(12345),(123456),(1234567),(12345678),(123456789),(1234567890)
      select i,RIGHT('0000000000'+ISNULL(i,''),10) 'ipadded' from @t
      

      RS 中用于填充的表达式 -

      =Right("0000000000" & Fields!i.Value.ToString, 10)
      

      图片 -

      【讨论】:

      • 如果字段必须显示像 =First(Fields!...Value,"dataset") 这样的聚合呢?
      • 我在原始问题中没有找到这个要求,建议 - 接受适合您要求的答案,然后重新开始一个新问题。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-26
      • 2010-12-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-07-02
      相关资源
      最近更新 更多