首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MDX -即使在过滤时也是相同的总计

问MDX -即使在过滤时也是相同的总计
EN

Stack Overflow用户
提问于 2015-02-16 10:26:37
回答 2查看 2K关注 0票数 1

我有一个算计的会员,使所有商店的总销售额。我使用的公式是:

代码语言:javascript
复制
SUM(([SHOP].[SHOP].Members), [Measures].[SALES])

所以,即使我为一家商店过滤,以上计算的会员仍然给我带来了所有商店的总数。

问题是,如果我过滤任何其他维度(例如区域),我的计算成员将只为选定的区域带来总数--我知道这是正确的行为。

但是,我怎样才能成为一个经过计算的会员,给我带来所有商店的总销售额,而不考虑任何过滤器?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-02-16 11:09:05

您需要预测任何可能的切片机,然后将它们添加到您的度量中的元组中:

代码语言:javascript
复制
SUM(
  (
    [SHOP].[(All)]
   ,[REGION].[(All)]
  )
, [Measures].[SALES]
)

在AdvWrks中进行了模拟,通过将成员[(All)]添加到自定义度量的第一个参数中,我预见了时间切片器的添加:

代码语言:javascript
复制
WITH 
  MEMBER [Measures].[X] AS 
    Sum
    (
      (
        [Subcategory].[(All)]
       ,[Date].[Calendar].[(All)]
      )
     ,[Measures].[Internet Sales Amount]
    ) 
SELECT 
  {
    [Measures].[Internet Sales Amount]
   ,[Measures].[X]
  } ON 0
 ,[Subcategory].[Subcategory].MEMBERS ON 1
FROM [Adventure Works]
WHERE 
  [Date].[Calendar].[Calendar Year].&[2008];
票数 1
EN

Stack Overflow用户

发布于 2015-02-16 10:59:02

你得到了所有商店的总数,因为你的公式中有[SHOP].[SHOP].Members。

这一点让我感到困惑:

代码语言:javascript
复制
how can I make a calculated member that brings me the total Sales for all the Shops regardless of any filter?

你已经有这样的成员了。如果您想要的是为选定的SHOP提供销售的成员,那么您真正需要的是:

代码语言:javascript
复制
SUM([SHOP].[SHOP].CurrentMember, [Measures].[SALES])

编辑

回想起来,我可能理解你的难题。如果希望此计算不受任何其他筛选器的选择影响,则可能需要编辑成员的定义,以包含多维数据集中的每个层次结构的ALL成员。有点像

代码语言:javascript
复制
SUM(([SHOP].[SHOP].Members, [Region].[Region].Members),......), [Measures].[SALES])

之所以需要这样做,是因为每个不完整的元组都是由引擎首先完成的。它隐式地从每个层次结构中添加成员,除非该层次结构也存在于切片器中。但是,如果显式地添加[ALL]成员,它将取代筛选器选择。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28539278

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档