我正在使用Google Charts创建一些图表并且运行良好。我遇到的唯一问题是我的日期范围很大。我的X轴显示一系列日期。这是好的1周和2周(只有工作日,所以我要么有5个或10个日期)但是当我开始进入月份范围时,所有日期相互重叠并且它是不可读的。理想情况下,对于超过2周的任何事情,我想获得10个最重要的日期。例如,如果我的系列是6月1日至7月15日的所有日期,我希望图表上的X轴显示如下:
6/1 | 6/5 | 6/10 | 6/15 | 6/20 | 6/25 | 6/30 | 7/5 | 7/10 | 7/15
使用Google Charts,您必须指定一系列数据,因此我不能只提供开始日期和结束日期,并让它适当缩放。仅供参考 - 我正在使用SQL Server存储过程获取我的数据,因此我希望能够计算数据库端的日期。
答案 0 :(得分:0)
好的我理解你的要求,这里是一段代码,它将形成一个由“;”分隔的字符串您可以从SQL Server SP返回!
begin
declare @dt1 as smalldatetime
declare @dt2 as smalldatetime
declare @intDays as int
declare @curDt as smalldatetime
declare @interV as int
declare @outText as varchar(1000)
set @dt1 = '6/1/2011'
set @dt2 = '7/15/2011'
set @interv = 10
set @intdays = datediff(dd,@dt1,@dt2) / @interv
set @curDt = @dt1
set @outText = ''
while (@curdt < @dt2)
begin
set @outText = @outText + CONVERT(VARCHAR(8), @curdt, 1) + ';'
set @curdt = dateadd(dd, @interv, @curdt)
end
if @curdt >= @dt2
set @outText = @outText + CONVERT(VARCHAR(8), @dt2, 1) + ';'
set @outText = substring(@outText, 1, len(@outText)-1)
print @outtext
end
@ dt1和@ dt2是开始日期和结束日期,您可以使用本地变量替换它们。 @outText是带有值的字符串。
如果您有任何问题,或者您希望将其作为一项功能/程序,请告诉我们。