Ssas Mdx查询与多维数据集浏览器不一致

Ssas Mdx查询与多维数据集浏览器不一致,ssas,mdx,Ssas,Mdx,我通过一些计算构建了一个多维SSAScube。我有一个计算成员,其中我使用parallelperiod函数根据以下代码计算上月值: Sum ( (EXISTING [TimeDim Transactions].[Year - Quarter - Month - Date].[date].MEMBERS) ,( ParallelPeriod ( [TimeDim Transactions].[Year - Quarter - Month -

我通过一些计算构建了一个多维
SSAS
cube。我有一个计算成员,其中我使用
parallelperiod
函数根据以下代码计算上月值:

Sum
(
  (EXISTING 
    [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[date].MEMBERS)
 ,(
    ParallelPeriod
    (
      [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[month]
     ,1
     ,[TimeDim Transactions].[Year -  Quarter -  Month -  Date].CurrentMember
    )
   ,[Measures].[Net Amount]
  )
)
当我运行以下查询时,它会按预期工作

SELECT 
  {
    NetAmountSamePeriodLastMonth
   ,[Measures].[net amount]
  } ON COLUMNS
 ,[Stores Dim].[Store Code].Children ON ROWS
FROM [SalesDW_v1]
WHERE 
  {
    [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-04T00:00:00]
   ,[TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-05T00:00:00]
  };
但是当我浏览多维数据集以获得具有相同日期筛选器的相同数据时,它给出了错误的数字。从浏览器生成的mdx脚本是:

SELECT 
  NON EMPTY 
    {
      [Measures].[Net Amount]
     ,[Measures].[NetAmountSamePeriodLastMonth]
    } ON COLUMNS
 ,NON EMPTY 
    {[Stores Dim].[Store Code].[Store Code].ALLMEMBERS}
  DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_UNIQUE_NAME
   ON ROWS
FROM 
(
  SELECT 
    {
      [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-04T00:00:00]
     ,[TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-05T00:00:00]
    } ON COLUMNS
  FROM [SalesDW_v1]
)
WHERE 
  [TimeDim Transactions].[Year -  Quarter -  Month -  Date].CurrentMember
CELL PROPERTIES 
  VALUE
 ,BACK_COLOR
 ,FORE_COLOR
 ,FORMATTED_VALUE
 ,FORMAT_STRING
 ,FONT_NAME
 ,FONT_SIZE
 ,FONT_FLAGS;
此外,当选择一个日期时,浏览器会显示正确的数字

 ,NON EMPTY 
    {[Stores Dim].[Store Code].[Store Code].ALLMEMBERS} * 
    {
      [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-04T00:00:00]
     ,[TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-05T00:00:00]
    }

  DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_UNIQUE_NAME
   ON ROWS
是否有方法修改计算成员,以便在浏览器中正常工作。我在power view报告中显示数据,但得到的是在浏览器中看到的错误数字

下面是我仅使用一个日期成员时浏览器生成的代码:

SELECT 
  NON EMPTY 
    { [Measures].[Net Amount]
     ,[Measures].[NetAmountSamePeriodLastMonth] 
    } 

    ON COLUMNS 
    ,NON EMPTY 
    { ([Stores Dim].[Store Code].[Store Code].ALLMEMBERS ) } 
    DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_UNIQUE_NAME ON ROWS 

   FROM 
       ( 
        SELECT (
                {[TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-05T00:00:00] } 
               ) ON COLUMNS 

  FROM [SalesDW_v1]
       )
  WHERE ( [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-05T00:00:00] ) 
CELL PROPERTIES VALUE
, BACK_COLOR, FORE_COLOR
, FORMATTED_VALUE
, FORMAT_STRING
, FONT_NAME
, FONT_SIZE
, FONT_FLAGS

问题在于,当过滤器中有两个日期时,范围(用于
[TimeDim Transactions]
维度)设置不正确。但是,对于单个日期,范围设置正确,因此答案匹配

选择一个日期时

请参阅与切片器关联的子句。它是
[TimeDim Transactions].[年-季-月-日].[日]和[2014-12-05T00:00:00])

选择两个日期时

切片器变为: [TimeDim事务][Year-Quarter-Month-Date].CurrentMember

请注意,子选择不会设置上下文。因此,当您说要按
[TimeDim Transactions].[Year-Quarter-Month-Date].CurrentMember
进行筛选时,您实际上根本没有进行筛选,因为没有作用域的当前成员是
[all]
成员。这就是为什么你有一个奇怪的大数字

要解决此问题,请尝试将日期放在轴上,如下所示,而不是切片器,以便选择范围

 ,NON EMPTY 
    {[Stores Dim].[Store Code].[Store Code].ALLMEMBERS} * 
    {
      [TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-04T00:00:00]
     ,[TimeDim Transactions].[Year -  Quarter -  Month -  Date].[Date].&[2014-12-05T00:00:00]
    }

  DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_UNIQUE_NAME
   ON ROWS

1) 当你说错话的时候,那有多错?那是一个接近的数字还是一个奇怪的大数字?2) 请粘贴仅使用一个日期时生成的MDX。这是一个奇怪的大数字。我预计约30000,我得到约1600000。我编辑了该问题,以提供仅使用一个日期成员时浏览器生成的代码。谢谢,我料到了。我很快会给你答复的。非常感谢!我现在理解了问题所在,但我也看到没有办法解决它,因为我无法自定义报表工具(power view)执行的查询。我说的对吗?只要过滤是在切片机上进行的,那么不,它不能被删除:(