iccube 创建类别成员从层次结构中选择,从另一个层次结构中排除

iccube create category member selecting from a hierarchy, excluding from another one

使用 IcCube,我需要创建我将包含在报告中的“预选”,这样我的用户就不需要选择很多参数来获得他们最常用的选择。

我创建了一个统计维度 « GroupMaladies »,其中包含 1 个层次结构 « Maladies »。

使用以下命令,我可以创建类别成员(在多维数据集的高级脚本中),我可以在我的报告中使用这些成员...

(来自同一层级、同一级别的多个代码)

   CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[ group 1] as {
     [Classification GHM].[DA_GP_GA_GHM].[All-M].&[D09].&[X08].&[G078],
    [Classification GHM].[DA_GP_GA_GHM].[All-M].&[D19].&[X15].&[G079] }

(来自同一层级的多个代码,不同级别)

CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[ Group 2] as { 
[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D02].&[C09].&[G024],
[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D02].&[X05],
[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D01].&[X02]}

(来自多个维度的多个代码)

CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[ Group3 <18] as { 
[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D12].&[C17].&[G106]}  *  {[Tranche Age].[Tranche Age].[Tranche].[< 18 ans]}

(整个层次结构减去 1 或其部分组件)

CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[Group 4] as 
except({[Classification GHM].[DA_GP_GA_GHM].[All-M]}, 
       {[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C05]})

现在,我想使用整个层次结构,但要从中排除来自同一维度的另一个层次结构的一些值:

CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[Group X] as 
[Classification GHM].[ASO].[All-M].&[C]
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C05] 
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C11] 
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C13]
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C20].&[G128].&[12C04]

但是最后这个场景不工作...... 任何人都可以提供帮助吗?

在 icCube 中,您有一组用于构建类别的函数,允许对事实(或子多维数据集)进行基本的集合操作。

您最后的 MDX 声明:

CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[Group X] as 
[Classification GHM].[ASO].[All-M].&[C]
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C05] 
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C11] 
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C19].&[G127].&[11C13]
-[Classification GHM].[DA_GP_GA_GHM].[All-M].&[D15].&[C20].&[G128].&[12C04]

相同
CREATE CATEGORY MEMBER [GroupMaladies].[Maladies].[Toutes].[Group X] as 
[Classification GHM].[ASO].[All-M].&[C]

为什么?

减号应用于一组成员之间 - 使用 Except 函数 - 而不是像我们正在寻找的那样应用于事实或子多维数据集。

解决方案

所以你在寻找子立方体的减法运算:

可以使用 SubcubeMinus 函数执行减法。随意检查其他集合操作,如交集、并集、补集和对称差异。