具有相同维度的度量值的SSAS计算成员

具有相同维度的度量值的SSAS计算成员,ssas,mdx,cube,Ssas,Mdx,Cube,我试图创建一个计算的度量值,减去不同组中的度量值,但前提是它们具有相同的维度成员,不管是什么。编辑-基本上排除减法中的未知成员数 我已尝试使用范围: CREATE MEMBER CURRENTCUBE.[Measures].[CalcField] as NULL; SCOPE([Dimension1].[DimensionField1].MEMBERS); [Measures].[CalcField] = [Measures].[a] - [Measures].[b]; END SCO

我试图创建一个计算的度量值,减去不同组中的度量值,但前提是它们具有相同的维度成员,不管是什么。编辑-基本上排除减法中的未知成员数

我已尝试使用范围:

CREATE MEMBER CURRENTCUBE.[Measures].[CalcField] as NULL;

SCOPE([Dimension1].[DimensionField1].MEMBERS);
    [Measures].[CalcField] = [Measures].[a] - [Measures].[b];
END SCOPE;
我也尝试过使用元组,但没有成功:

CREATE MEMBER CURRENTCUBE.[Measures].[CalcField]
AS ([Measures].[a] - [Measures].[b], [Dimension1].[DimensionField1]);
但我认为我缺少一些基本的东西

编辑

a列b维 1.90X 2.0.2 x 3.15无效

如果你把这些行加起来,我想要的答案是7而不是5

使用一个简单的例子,如果使用中的维度有效,那么它将再次盲目地减去所有内容

CASE 
  WHEN [Dimension1].[DimensionField1] IS [Dimension1].[DimensionField1].UnknownMember THEN 0 
  ELSE [Measures].[a] - [Measures].[b]
END
使用聚合在高级别工作,但是当我使用维度时,我没有得到每个成员的结果

Aggregate(
  EXCEPT(
    [Dimension1].[DimensionField1].Members, {[Dimension1].[DimensionField1].UnknownMember, [Dimension1].[DimensionField1].[All]}
  ),[Measures].[a]) 
- 
Aggregate(
  EXCEPT(
    [Dimension1].[DimensionField1].Members, {[Dimension1].[DimensionField1].UnknownMember, [Dimension1].[DimensionField1].[All]}
  ),[Measures].[b]) 
解决方案
如果我不清楚我的问题,我很抱歉,但我最终解决了这个问题,将我需要的数据放在ETL阶段,而不是在多维数据集中计算它

您是否尝试对第二个片段进行求和或聚合

With Member [Measures].[CalcField] as   [Measures].[a] - [Measures].[b]

Select [Measures].[CalcField]
on columns,
[Dimension1].[DimensionField1].MEMBERS    
on rows 

from [cube]
CREATE MEMBER CURRENTCUBE.[Measures].[CalcField]
AS 
 Sum(
    [Measures].[a] - [Measures].[b], 
    [Dimension1].[DimensionField1]
 );

CREATE MEMBER CURRENTCUBE.[Measures].[CalcField]
AS 
 Aggregate(
    [Measures].[a] - [Measures].[b], 
    [Dimension1].[DimensionField1]
 );

确切的问题是什么?是否有错误消息?请提供基于Adventure Works的示例-我们会为您找到解决方案。@DanielHanczyc-在许多情况下,给出基于AW的示例可能是一项艰巨的任务。因此,你会发现关于SQL或MDX的大多数问题都不是基于AW的。我在SSAS中设计计算列,没有错误,只是盲目地从a中减去b,而不管维度如何。我希望它只从a中减去b,其中两个度量值具有相同的维度值。也许我需要的是,在聚合过程中,如果它不是未知值,则只进行减法,我不确定。我不明白-两个度量值具有相同的维度值??这似乎与如何使用AggregateEXCEPT[Dimension1].[DimensionField1]。成员,{[Dimension1].[DimensionField1]。UnknownMember,[Dimension1].[DimensionField1].[All]}[Measures].[a]-AggregateEXCEPT[Dimension1].[DimensionField1]。成员,{[Dimension1].[DimensionField1].[All].[Measures].[b]几乎可以工作,除非我不能在以后的选择中使用维度