MDX:如何将维度中的多个值合并为一个?

时间:2013-03-19 20:39:37

标签: reporting-services mdx olap

我正在通过OLAP多维数据集构建SSRS报告,该报告按货币分解数据。货币进入专栏。用户希望只看到几种主要货币(如美元,欧元,日元)并将其他所有内容合并到“其他”列中。

实际上,我需要将整个货币世界分解为美元,欧元,日元和其他货币。实现它的最佳方法是什么?我认为这应该是可行的,但我找不到适合Google搜索的关键字。

1 个答案:

答案 0 :(得分:2)

假设您有一个可以安全地组合成“其他”组的度量,您可以通过创建一组“主要”成员和一个新的“其他”成员来组合多个成员,该成员是所有成员的聚合删除了“主要”部分。

以下是针对Adventure Works的示例:

WITH 
    SET [Major] AS {
        [Source Currency].[Source Currency Code].&[100], 
        [Source Currency].[Source Currency Code].&[19],
        [Source Currency].[Source Currency Code].&[98]
        }
    MEMBER [Source Currency].[Source Currency Code].[Other] AS 
        Aggregate(Except([Source Currency].[Source Currency Code].[Source Currency Code], [Major]))
SELECT
    {[Major], [Other]} ON 0,
    [Customer].[Customer Geography].[Country] ON 1
FROM [Adventure Works]
WHERE [Measures].[Internet Sales Amount]

结果:

                          USD            CAD            GBP          Other
Australia           $9,012.50         (null)         (null)  $9,051,988.08 
Canada            $172,181.96  $1,805,662.90         (null)         (null)
France          $2,462,361.69         (null)      $1,084.33    $180,571.69 
Germany         $2,656,527.35         (null)         (null)    $237,784.99 
United Kingdom      $4,446.85         (null)  $3,387,265.36         (null)
United States   $9,388,934.97        $854.54         (null)         (null)