【问题标题】:Issue in formatting date/numeric columns in SSRS matrix reportSSRS 矩阵报告中格式化日期/数字列的问题
【发布时间】:2019-10-05 12:40:29
【问题描述】:

我的是 tablix 报告,带有列和值。哪些是动态生成的。

问题是,我想格式化一些日期和数字列,为此我正在尝试以下给定的表达式:

=IIf(Fields!ColumnName.Value = "Charge",
    FormatCurrency(Fields!Value.Value, 2),
    IIf(Fields!ColumnName.Value = "StartDate",
        FORMAT(CDate(Fields!Value.Value),"MM-dd-yyyy"),
    IIf(Fields!ColumnName.Value = "EndDate",
        FORMAT(CDate(Fields!Value.Value),"MM-dd-yyyy"),
        Fields!Value.Value
    )
  )
 )

=Switch
(
  Fields!ColumnName.Value = "Charge", FormatCurrency(Fields!Value.Value, 2),
  Fields!ColumnName.Value = "StartDate", FORMAT(CDate(Fields!Value.Value),"MM-dd-yyyy"),
  Fields!ColumnName.Value = "EndDate", FORMAT(CDate(Fields!Value.Value),"MM-dd-yyyy"),
  true, Fields!Value.Value
)

=IIF(IsNumeric(Fields!Value.Value), FormatNumber(Fields!Value.Value, 2), Fields!Value.Value)

它们都不起作用,它会正确更改数字列,然后在每一列中给出#Error。

【问题讨论】:

    标签: matrix reporting-services ssrs-tablix reportbuilder3.0


    【解决方案1】:

    将以下自定义代码添加到您的报告中

    Public Function FormatColumn(columnName As String, value AS String) As String
    
    Select columnName
        Case "Charge" 
            Return  Format(CLng(value), "c2")
        Case "StartDate"
             Return Format(CDate(value),"MM-dd-yyyy")
        Case "EndDate"
             Return Format(CDate(value),"MM-dd-yyyy")
        Case Else  
            Return value
    End Select 
    
    
    End Function
    

    设置单元格表达式为

    = Code.FormatColumn(Fields!ColumnName.Value,Fields!value.Value)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-04-05
      相关资源
      最近更新 更多