【问题标题】:How to format a number in SSRS Report for Matrix?如何在 SSRS Report for Matrix 中格式化数字?
【发布时间】:2016-03-21 14:42:24
【问题描述】:

我正在格式化一个数字,它是日期,我只想显示日期和月份部分(例如,1 月 1 日、1 月 2 日、1 月 3 日、1 月 4 日……),但它没有格式化并显示完整的日期。

而如果我使用与表格相同的向导,那么它工作正常。

我正在使用向导来格式化数据

在使用矩阵时还有其他方法来格式化数据吗?

【问题讨论】:

    标签: sql sql-server reporting-services ssrs-2008 ssrs-2008-r2


    【解决方案1】:

    尝试右键单击 SSRS 报告中的字段并使用表达式代替。

    【讨论】:

    • 对不起,它不适用于矩阵。在表达式中使用其他任何内容时,它会在所有列中重复相同的内容。例如我写了 =Day(Fields!DateWorking.Value) 然后它在矩阵的所有列中重复相同的值。
    • 您需要单击矩阵的单元格,而不是矩阵本身。
    • 它有效.. 早些时候它不起作用,因为我还从“文本框属性”窗口应用了格式。当删除“文本框属性”的格式并将其设置为默认值并在表达式中我写 =Day(Fields!DateWorked.Value) 然后它可以工作。
    • 但是 SSRS 的 Day 函数考虑日期格式为 mm/dd/yyyy 而 sql 在同一台机器上返回 dd/mm/yyyy .. 为了解决这个问题,我只返回 SQL 的一天部分,所以我不需要在 SSRS 中格式化。无论如何,您的答案很好并且有效
    【解决方案2】:

    在替代方案中,您可以在 sql server 中为该列使用 datename 函数

    SELECT DATENAME(DAY,Col_Name)+', '+LEFT(DATENAME(MONTH,Col_Name),3) 那是 SELECT DATENAME(DAY,'2016-03-21')+', '+LEFT(DATENAME(MONTH,'2016-03-21'),3)

    【讨论】:

      【解决方案3】:

      我认为在该向导之外格式化日期的最佳方法是 format 属性。单击文本框并在“属性”窗口中查找“格式”属性。在该字段中输入“MMM dd”。

      或者,您可以使用 GabrielVA 指出的 texbox 公式。我会建议尝试

      =Format(Fields!Date.Value, "MMM dd")
      

      【讨论】:

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