【发布时间】:2013-11-20 23:00:57
【问题描述】:
我正在使用 SSRS,但无法创建图形图表来显示数据。我的数据集非常简单,因为它只有一列是日期时间字段(称为CreatedOn)。
我的 SQL 查询是:
SELECT [CreatedOn]
FROM [Incident]
WHERE CreatedOn > DATEADD(m,-11, DATEADD(
month, DATEDIFF(month, 0,CURRENT_TIMESTAMP), 0))
我的目标是将查询结果显示在图表中,并按年和月分组,并进行排序。例如,我应该能够看到 2005 年 2 月创建了 40 个事件。这 40 个事件将以图形方式表示为单个条形图(它是条形图),顶部(或某处)数字 40。
我的问题是我的图表显示完全空白,或者报告无法运行。当它无法运行时,我收到的错误是:
the value expression for field 'CreatedOn' contains an error: conversion from string 'CreatedOn' to type 'Date' is not valid.
我尝试在CreatedOn 字段上使用SSRS 表达式,例如CDate() 和FormateDateTime()。这确实使报告运行,但图表显示为空白。我不认为该字段必须在 SSRS 中进行格式化或转换,因为它已经是数据库级别的日期时间字段。我尝试了大约 10 种不同的分组和排序组合,但我的图表总是显示为空白。我什至在作为图表一部分的分组和排序表达式中使用了CDate() 等等。
如何让我的条形图正常工作(也就是显示日期时间、分组和排序)?
【问题讨论】:
-
当您在 SQL 中运行该查询时,它会提供数据还是给您一个错误?还是该错误仅发生在 SSRS 中?您还可以在查询中执行“按 Createdon 排序”,以便在数据进入报告之前设置订单。您也可以使用 Format(Fields!CreatedOn.Value, "MM/dd/yy") 代替 CDate();这通常在我的报告中有效。你能张贴几张你的报告的屏幕截图或概述分组吗?分组可能是个棘手的问题!
-
查询在 SQL 中直接运行时返回结果。分组公式为
=Year(Fields!CreatedOn.Value)和=Month(Fields!CreatedOn.Value),其中年份分组在前。