Datetime 带日期时间的SSRS空白图表
我正在使用SSRS,在创建图形图表以显示数据时遇到了问题。我的数据集非常简单,因为它只有一列是日期时间字段(称为Datetime 带日期时间的SSRS空白图表,datetime,charts,ssrs-2008,Datetime,Charts,Ssrs 2008,我正在使用SSRS,在创建图形图表以显示数据时遇到了问题。我的数据集非常简单,因为它只有一列是日期时间字段(称为CreatedOn) 我的SQL查询是: SELECT [CreatedOn] FROM [Incident] WHERE CreatedOn > DATEADD(m,-11, DATEADD( month, DATEDIFF(month, 0,CURRENT_TIMESTAMP), 0)) 我的目标是让查询结果显示在一个图表中,并按年份和月份进行分组,以及排序。例如,
CreatedOn
)
我的SQL查询是:
SELECT [CreatedOn]
FROM [Incident]
WHERE CreatedOn > DATEADD(m,-11, DATEADD(
month, DATEDIFF(month, 0,CURRENT_TIMESTAMP), 0))
我的目标是让查询结果显示在一个图表中,并按年份和月份进行分组,以及排序。例如,我应该能够看到2005年2月发生了40起事件。这40个事件将以一个条形图(这是一个条形图)的形式表示,数字40位于顶部(或某处)
我的问题是,要么我的图表显示为完全空白,要么报告无法运行。当它无法运行时,我收到的错误是:
字段“CreatedOn”的值表达式包含错误:从字符串“CreatedOn”到类型“Date”的转换无效
我已经尝试在CreatedOn
字段中使用SSRS表达式,例如CDate()
和formattedatetime()
。这样确实可以运行报告,但图表显示为空白。我不认为该字段必须在SSRS中格式化或转换,因为它已经是数据库级别的datetime字段。我尝试过10种不同的分组和排序组合,但我的图表总是显示为空白。我甚至在作为图表一部分的分组和排序表达式中使用了CDate()
等等
如何使条形图正常工作(即显示日期时间、分组和排序)?我将不再假设:
- 矩阵的列组与图表中的类别组相似
- 矩阵的行组与图表中的系列组相似
- 矩阵的数据区域与图表中的值组的数据区域相似
=年(字段!CreatedOn.Value)
事件将位于值部分=Count(Fields!events.Value)
一旦你有了工作和显示数据,我就会开始添加当月的数据。再次考虑如何显示数据。然后,您可以使用month函数在另一个类别下的类别上添加第二个分组
(我知道这有点过时,但细节仍然相关)
*旁注:在处理日期时,可能会有点棘手,特别是当SSRS没有识别某个日期时。这里是一个有用的链接,我在处理日期时使用过。
我希望这有帮助 问题在于未正确定义
CreatedOn
date字段
我的数据源是使用一个依赖于参数的表达式定义的,该表达式使用以下表达式:=“data source=sql01;”和“Initial Catalog=“¶meters!”!ParentID.Value
。因为数据集必须在报表运行时定义,所以我无法使用“刷新字段”按钮刷新数据集中的字段
我想我可以通过手动定义CreatedOn
字段来解决这个问题。在第一次尝试中,SSRS在运行时抛出一个错误,声称我试图将字符串转换为日期,这基本上意味着它将数据集中定义的CreatedOn
字段视为字符串。因此,我尝试在字段的定义中使用CDate()
表达式,但这给我留下了一个完全空白的图形
解决办法是:
datasource=sql01;initialcatalog=MyDatabaseName
)当您在SQL中运行该查询时,它会提供数据还是给您一个错误?或者错误只发生在SSR中?您还可以在查询中执行“Order by Createdon”,以便在数据进入报表之前设置订单。您还可以使用格式(Fields!CreatedOn.Value,“MM/dd/yy”)代替CDate();这通常在我的报告中起作用。你能发布几张你报告的屏幕截图或概述分组吗?分组可能是一个棘手的野兽!直接在SQL中运行时,查询将返回结果。分组公式为
=Year(Fields!CreatedOn.Value)
和=Month(Fields!CreatedOn.Value)
,首先分组年份。感谢您的帮助。我已经大致遵循了你在答复中概述的一般建议。你可以看到我精确的答案。