mdx总计百分比计算

时间:2014-10-09 11:15:37

标签: aggregate mdx percentage mondrian

我有一个MDX查询:

select NON EMPTY [TYPE].[All TYPEs].Children ON COLUMNS,
  NON EMPTY [CITY].[All CITYs].Children ON ROWS
from [DW_CUBE]
where [REGION].[MADRID]

此查询显示特定区域(在本例中为马德里)中按城市汇总的特定类型的记录数。

CITY      TYPE A    TYPE B
MADRID      234       234
COLMENAR    123       234
TRES CANTOS 324     12312

我需要将值显示为多维数据集中总记录的百分比(即查询中显示的所有值的总和)。例如:

CITY        TYPE A  TYPE B
MADRID      1,74%   1,74%
COLMENAR    0,91%   1,74%
TRES CANTOS 2,41%   91,46%

我可以使用MDX功能吗?任何帮助,将不胜感激。我使用蒙德里安作为引擎。

由于

圣拉斐尔

2 个答案:

答案 0 :(得分:3)

在Analysis Services中,我会使用

with member [Measures].[Percent] as
            [Measures].DefaultMember
            /
            (Measures.DefaultMember, [TYPE].[All TYPEs].[All], [CITY].[All CITYs].[All])
            ,format_string = '0.00%'
select NON EMPTY [TYPE].[All TYPEs].Children ON COLUMNS,
  NON EMPTY [CITY].[All CITYs].Children ON ROWS
from [DW_CUBE]
where ([REGION].[MADRID], [Measures].[Percent])

我不确定这是否适用于蒙德里安。我在这里猜测All[All TYPEs]的{​​{1}}成员的姓名。我还从您的查询中看到您使用多维数据集的默认度量(因为您没有在整个查询中声明一个度量)。如果不是这种情况,只需将[All CITYs]替换为您要用作百分比计算基础的度量。

答案 1 :(得分:1)

(
    Axis(1).Item(1).Hierarchy.CurrentMember
   ,[Measures].[task]
  )
/ 
  Sum
  (
    Axis(1)
   ,[Measures].[task]
  ) 
相关问题