两个日期之间的ssas值

两个日期之间的ssas值,ssas,mdx,Ssas,Mdx,我试图在MDX上获取tot_ack的总和,因此它将显示在erit维度和acc(account维度)上。然而,我不知道如何对日期之间的数据进行建模。我是MDX新手 select SUM(tot_ack) from DBO.DIM_OBJ_ACC AS ACC INNER JOIN DBO.FAKTA_SALDO AS saldo ON ACC.ACC_ID = saldo.ACC_ID INNER JOIN DBO.DATE_OBJ_KP AS KP ON saldo.KP_ID =

我试图在MDX上获取tot_ack的总和,因此它将显示在erit维度和acc(account维度)上。然而,我不知道如何对日期之间的数据进行建模。我是MDX新手

 select  SUM(tot_ack)    from
DBO.DIM_OBJ_ACC AS ACC INNER JOIN
 DBO.FAKTA_SALDO AS saldo ON ACC.ACC_ID = saldo.ACC_ID INNER JOIN
 DBO.DATE_OBJ_KP AS KP ON saldo.KP_ID = KP.KP_ID INNER JOIN 
   DBO.PERIOD AS PERIOD ON saldo.PERIOD = PERIOD.PERIOD
where   
 ACC.ACC _ID = '3001' and ACC.erit_ID = '1'
   (DATEADD(day, 0,DATEADD(month, 11,DATEADD(year,2011-1900, 0))) BETWEEN KP.KP_DATE_START AND KP.KP_DATE_END) AND 
     (PERIOD.MONTH= 12 OR PERIOD .MONTH=0) AND (PERIOD.YEAR =2011)  
我的MDX代码

  SELECT {[DIM OBJ ERIT].[ERIT ID].MEMBERS}    ON COLUMNS,
    {[DATE OBJ ACC].[ACC ID].members} ON ROWS
    FROM [REPORT]
WHERE  (Measures.[tot ack],
    [PERIOD].[year].[2011],
    [PERIOD].[month].[12],  
    [DATE OBJ KP].[KP DATE START].[Year].[2011],
    [DATE OBJ KP].[KP DATUM END].[Year].[2011]
    )

在mdx中,使用“:”指定范围。因此,您的查询应该是

SELECT {[DIM OBJ ERIT].[ERIT ID].MEMBERS}    ON COLUMNS,
    {[DATE OBJ ACC].[ACC ID].members} ON ROWS
    FROM [REPORT]
WHERE  (Measures.[tot ack],
    [PERIOD].[year].[2011],
    [PERIOD].[month].[12],  
    [DATE OBJ KP].[KP DATE START].[Year].[2011]:[DATE OBJ KP].[KP DATUM END].[Year].[2011]
    )
看看下面的例子

select 
[Measures].[Internet Sales Amount]
on columns,
[Product].[Category].[Category]
on rows 
from [Adventure Works]
结果

现在,让我们为2013-01-01到2013-01-10过滤它

select 
[Measures].[Internet Sales Amount]
on columns,
[Product].[Category].[Category]
on rows 
from [Adventure Works]
where 
[Date].[Date].&[20130101]:[Date].[Date].&[20130110]
结果