MDX Crossjoin地区和国家和总计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MDX Crossjoin地区和国家和总计相关的知识,希望对你有一定的参考价值。

我需要加入两个层次结构,RegionCountry。从我们的立方体我必须得到一个由1个地区和2个国家组成的结果。这就是我到目前为止所做的:

SET [RegionSet] AS 
  {
     [Stores].[Region].&[EUROPE]
  }

SET [CountrySet] AS 
  {
     [Stores].[Country].&[Japan]&[APAC]
    ,[Stores].[Country].&[China]&[APAC]
  }


NON EMPTY
  (
   {
    [RegionSet]
  , [Stores].[Region].[All]
   }
  ) 
* (
   {
    [CountrySet]
  , [Stores].[Country].[All]
   }
  )
    ON ROWS

MSD结果如下:

Resulting table

但我想在没有All条目的情况下列出一列中的区域和国家,并在最后一行添加总计。我怎样才能做到这一点?

答案

我想如果你有一个名为[Geography]的多级用户层次结构作为[Stores]维度的一部分,那么我认为这将是微不足道的:

SET [RegionCountrySet] AS 
  {
     [Stores].[Geography].[Region].&[EUROPE]
    ,[Stores].[Geography].[Country].&[Japan]&[APAC]
    ,[Stores].[Geography].[Country].&[China]&[APAC]
  }

...但您可以创建自定义聚合成员。然后在行上使用创建的成员:

  1. 选择一个未使用的层次结构来“托管”你的新成员。我假设你有一个[Languages]维度。新成员将作为子项添加到所选层次结构的[All]成员中。
  2. 从目标创建元组,包括每个元组中的主机[All]成员。

像这样

MEMBER [Languages].[Language].[All].[EUROPE] AS
    (
       [Languages].[Language].[All]
      ,[Stores].[Region].&[EUROPE]
    )
MEMBER [Languages].[Language].[All].[Japan] AS
    (
       [Languages].[Language].[All]
      ,[Stores].[Country].&[Japan]&[APAC]
    )  
MEMBER [Languages].[Language].[All].[China] AS
    (
       [Languages].[Language].[All]
      ,[Stores].[Country].&[China]&[APAC]
    )  
SET [S1] AS
   {
     [Languages].[Language].[All].[EUROPE]
    ,[Languages].[Language].[All].[Japan] 
    ,[Languages].[Language].[All].[China]
   }
MEMBER [Languages].[Language].[All].[Grand Total] AS
    Aggregate([S1])
SET [S2] AS
   {
     [Languages].[Language].[All].[EUROPE]
    ,[Languages].[Language].[All].[Japan] 
    ,[Languages].[Language].[All].[China]
    ,[Languages].[Language].[All].[Grand Total]
   } 

然后在脚本中试试这个

 [S2] ON ROWS  

以上是关于MDX Crossjoin地区和国家和总计的主要内容,如果未能解决你的问题,请参考以下文章

MDX 查询,返回每个国家有多少女性用户喜欢某个产品

创建一个 MDX 计算成员以使用包含总计和减少的数据制作堆积条形图

如何使用地理位置而不是完整的国家和地区名称获取国家和地区代码

PHP如何从国家代码和地区返回时区

在 MDX 查询上添加过滤器

如何在 MDX 中对同一维度进行分组和过滤