2013-12-19 75 views
0

我有这个MDX查询SSAS 2005 MDX获得总

select 
    { 
     [Measures].[Sold value] 
     ,[Measures].[Units] 
     ,[Measures].[Sales baskets] 
     ,[Measures].[ATV] 
     ,[Measures].[AUT] 
    } on columns 

    , filter(
     nonempty(
      {[Branch].[Branch].&[5] *[Receipt No - Sales].[Receipt No].[Receipt No]} 
     ), 
     [Measures].[Sold value] >= 50 
    ) on rows 
    from Rmis 
    where [Time].[Day].&[20131218] 

产生以下结果:

enter image description here

我怎样才能得到总的上述结果的这些措施设置?总数应该使用多维数据集中定义的聚合。

回答

1
with set [rows] as 
    filter(
     nonempty(
      {[Branch].[Branch].&[5] *[Receipt No - Sales].[Receipt No].[Receipt No]} 
     ), 
     [Measures].[Sold value] >= 50 
    ) 

    member [Receipt No - Sales].[Receipt No].[Total] as 
    aggregate([rows]) 

select 
    { 
     [Measures].[Sold value] 
     ,[Measures].[Units] 
     ,[Measures].[Sales baskets] 
     ,[Measures].[ATV] 
     ,[Measures].[AUT] 
    } on columns 
    , 
    { ([Branch].[Branch].&[5], [Receipt No - Sales].[Receipt No].[Total]) } 
    + 
    [rows] 
    on rows 
    from Rmis 
    where [Time].[Day].&[20131218]