问一下,不用MDX,那你要用SQL写?如果SQL写的话,以下的脚本你用用看是否可以: Select Convert(int,Convert(Char,N.Date,112)) As Date,Sum(M.Sales) As YTDSales From CSDN As M Inner Join CSDN As N On (Convert(int,Convert(Char,M.Date,112)) +10000) <=Convert(int,Convert(Char,N.Date,112)) Group By Convert(int,Convert(Char,N.Date,112))
如果你的Date是INT型的,就直接用: Select N.Date,Sum(M.Sales) As YTDSales From CSDN As M Inner Join CSDN As N On (M.Date+10000) <=N.Date Group by N.Date
if object_id('tempdb..#test') is not null drop table #test create table #test ( date_w datetime, money_w money ) insert #test (date_w,money_w) values('2007-03-03',20) insert #test (date_w,money_w) values('2007-03-04',30)
declare @mon datetime , @begin nvarchar(10)
set @mon='2008-03-12' set @begin='-01' select dateadd(year,-1,convert(CHAR(7),@mon,120)+@begin) select dateadd(day ,-1,dateadd(month, 1, dateadd(year,-1,convert(CHAR(7),@mon,120)+@begin)))
select sum(money_w) from #test where date_w between dateadd(year,-1,convert(CHAR(7),@mon,120)+@begin) and dateadd(day ,-1,dateadd(month, 1, dateadd(year,-1,convert(CHAR(7),@mon,120)+@begin)))