作为SSAS多维数据集中的计算成员的MDX

作为SSAS多维数据集中的计算成员的MDX,ssas,mdx,cube-script,Ssas,Mdx,Cube Script,我有一个每个销售区域的FactBudget,其中包含字段[Budget SalesRegion]和[sales region]。在维度DimCustomer中,我有字段[销售区域]和[客户类型] FactBudget和DimCustomer之间的关系仅在[销售区域]上定义 我有一个相当简单的mdx语句,它将DimCustomer的[Sales Region]过滤为特定的[Customer Type]。在返回的[Sales Region]中,我选择对应的[Budget SalesRegion]:

我有一个每个销售区域的FactBudget,其中包含字段
[Budget SalesRegion]
[sales region]
。在维度
DimCustomer
中,我有字段
[销售区域]
[客户类型]

FactBudget
DimCustomer
之间的关系仅在
[销售区域]
上定义

我有一个相当简单的
mdx
语句,它将
DimCustomer
[Sales Region]
过滤为特定的
[Customer Type]
。在返回的[Sales Region]中,我选择对应的[Budget SalesRegion]:

SELECT 
   (
   FILTER(
      [Kunde].[Sales Region].members
     ,[Kunde].[Customer Type].CURRENTMEMBER
          =[Kunde].[Customer Type].[All].[Direct Sales]
    )
   ,[Measures].[Budget SalesRegion]
   ) ON 0,
   [Kunde].[Customer Type].[All].[Direct Sales] ON 1
FROM [BI_DWH];
如何将此语句转换为SSAS多维数据集中的计算成员,以便切片器中选定的[Customer Type]相应地过滤该语句?

此:

SELECT 
   (
   FILTER(
      [Kunde].[Sales Region].members
     ,[Kunde].[Customer Type].CURRENTMEMBER
          =[Kunde].[Customer Type].[All].[Direct Sales]
    )
   ,[Measures].[Budget SalesRegion]
   ) ON 0,
   [Kunde].[Customer Type].[All].[Direct Sales] ON 1
FROM [BI_DWH];
与此相同:

SELECT 
   [Measures].[Budget SalesRegion] ON 0,
   [Kunde].[Customer Type].[All].[Direct Sales] ON 1
FROM [BI_DWH];
或者,如果要使用切片器轴:

SELECT 
   [Measures].[Budget SalesRegion] ON 0
FROM [BI_DWH]
WHERE [Kunde].[Customer Type].[All].[Direct Sales];

现在简化了,我不明白你的问题是什么?

不,不一样。如我在问题中所述,
[Budget SalesRegion]
仅通过
[Sales Region]
字段与
[Kunde]
相关。根据您提出的声明,我只得到了
[Budget SalesRegion]
的总数。
[Budget SalesRegion]
[Kunde].[Customer Type]
之间没有关系。我需要按
[Customer Type]
筛选
[Kunde]
,从该选择中获取
[Sales Region]
,然后从所选
[Sales Region]
中获取我的
[Budget SalesRegion]