在mdx中,要根据尺寸值在计算中使用一个或另一个度量值吗

在mdx中,要根据尺寸值在计算中使用一个或另一个度量值吗,mdx,iccube,Mdx,Iccube,我想根据尺寸值计算一些东西:我试过了 WITH CALCULATED MEMBER [Measures].[Switch] AS IIF ( [Ambu].[Ambu].CurrentMember IS [Ambu].[Ambu].[Non Ambulatoire] ,[Measures].[Nombre de Journées] ,( [Measures].[NbSejours] ,[Ambu].[Ambu]

我想根据尺寸值计算一些东西:我试过了

WITH 
  CALCULATED MEMBER [Measures].[Switch] AS 
    IIF
    (
      [Ambu].[Ambu].CurrentMember IS [Ambu].[Ambu].[Non Ambulatoire]
     ,[Measures].[Nombre de Journées]
     ,(
        [Measures].[NbSejours]
       ,[Ambu].[Ambu].[Ambulatoire]
      )
    ) 
  MEMBER result AS 
    [Measures].[RecettesT2a] / [Measures].[Switch] 
SELECT 
  {
    [Measures].[RecettesT2a]
   ,[Measures].[Switch]
   ,result
   ,[Measures].[NbSejours]
   ,[Measures].[Nombre de Journées]
  } ON 0
 ,[Ambu].[Ambu] ON 1
 --[Classification GHM].[Recours] on 1
FROM [Cube];
事实上,如果Ambu是Ambu,我想用NbSejours除以recitest2a,如果Ambu不是Ambu,我想用[Nombre de Journées]除以recitest2a


当在轴1上使用Ambu时,这个结果是可以的,但是如果我想使用另一个维度作为轴1(例如[Classification GHM].[Recurs]),它不起作用。。。[Measures].[Switch]计算不正确…

我们不知道当
Ambu
不符合上下文时您需要什么

因此,根据您的需求,您有两种选择:

WITH 
  CALCULATED MEMBER [Measures].[Switch] AS 
    IIF
    (
        [Ambu].[Ambu].CurrentMember IS [Ambu].[Ambu].[Non Ambulatoire]
      OR 
        isAll([Ambu].[Ambu].CurrentMember)
     ,[Measures].[Nombre de Journées]
     ,(
        [Measures].[NbSejours]
       ,[Ambu].[Ambu].[Ambulatoire]
      )
    ) 
...
...
或者这个:

WITH 
  CALCULATED MEMBER [Measures].[Switch] AS 
    IIF
    (
        [Ambu].[Ambu].CurrentMember IS [Ambu].[Ambu].[Non Ambulatoire]
      OR 
        NOT isAll([Ambu].[Ambu].CurrentMember)
     ,[Measures].[Nombre de Journées]
     ,(
        [Measures].[NbSejours]
       ,[Ambu].[Ambu].[Ambulatoire]
      )
    ) 
...
...

此处使用的函数
CURRENTMEMBER
[Ambu].[Ambu].[Ambu].CURRENTMEMBER
意味着此条件
[Ambu].[Ambu].[Ambu].[Ambu].[Ambu].
仅当维度
[Ambu]
在上下文中时才有意义,即,如果您使用的是另一维度,而不是
[Ambu]。[Ambu]
,结果应该是什么?应该是
[Measures].[Nombre de journes]
还是
([Measures].[NbSejours],[Ambu].[Ambu].[Ambu].[Ambu].[Ambu].[ambutoire])
?好吧,如果我理解得很好,我没有这种方法的解决方案……我需要在事实表中添加一列(和一个新的度量)关于它们的Ambu/非Ambu属性,这已经有了不同的值。-我在下面添加了一个尝试性答案…在icCube中,我们为成员提供了isAll函数()@ic3,这是一个非常方便的函数-我编辑了我的尝试