我有一个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功能吗?任何帮助,将不胜感激。我使用蒙德里安作为引擎。
由于
圣拉斐尔
答案 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]
)