【问题标题】:SSRS how to stop repeating year on a bar chartSSRS 如何在条形图上停止重复年份
【发布时间】:2016-06-16 18:16:53
【问题描述】:
我想知道一个数据集是否有全年数据集的年份和月份。你怎么能有它,所以图表上每个月都没有显示年份部分。假设如果报告在 2015 年 1 月 4 日至 2016 年 3 月 31 日期间运行,则年份部分会出现两次,但每个月不会重复 12 次。
另一个简单的问题,在我的图表中,我已经格式化了我正在使用的日期,这些值看起来像下面的“2015-09-02 00:00:00.000”所以在图表类别中我有格式化的日期来显示如(格式(日期,“MM/yy”))
这在 group by 中使用,因为我需要每月的数据。
但是这样做需要很长时间才能加载图表,有没有更好的方法来每月执行此操作,结果集约为 90,000 行
【问题讨论】:
标签:
reporting-services
ssrs-2008
【解决方案1】:
如果您有类似的数据集查询
SELECT RIGHT(CAST(MONTH(soh.OrderDate) + 100 AS char(3)), 2) + '/' + RIGHT(CAST(YEAR(soh.OrderDate) AS char(4)), 2) AS MMYY, YEAR(soh.OrderDate) AS YYYY, MONTH(soh.OrderDate) AS MM, SUM(sd.OrderQty)
AS Qty
FROM Sales.SalesOrderHeader AS soh INNER JOIN
Sales.SalesOrderDetail AS sd ON sd.SalesOrderID = soh.SalesOrderID
WHERE (soh.OrderDate BETWEEN @StartDate AND @EndDate)
GROUP BY YEAR(soh.OrderDate), MONTH(soh.OrderDate)
对于第一个问题集,选择 yyyy ,mm 作为类别组
对于第二个问题,选择 mmyy 作为类别组,然后右键单击类别组属性,单击排序并在更改排序选项对话框中添加 yyyy 和 mm。
Adventurworks2012 中的 SalesOrderDetils 包含 121,000 条记录,并且在我的低配置电脑上快速返回图表。