2012-01-13 58 views
1

SELECT NON EMPTY {[Measures]。[Fact Order Count]} ON COLUMNS, {([Front Manager]。[Front Manager Id]。 [前经理ID] .ALLMEMBERS * [命令类型]。[订单类型]。[订单类型] .ALLMEMBERS)} ON ROWS FROM [TEST_DW]单元格属性值SSAS - > MDX - >根据计数在我的查询中创建列百分比

所以,我在输出三列。 :

接待经理,订单类型,订单数

上面的查询显示我的每个经理和订单类型组合计数。我需要第四列,这将是每位前线经理的订单类型的百分比。

所以,如果有四个类型的订单(A,B,C,d),和一个管理器有每个订单共计100第四列将读取25%的25 .....

我已经在网上搜索了如何做到这一点,但在这一方面真的很缺乏。任何方向都将不胜感激,我绝对是MDX的新手。谢谢。

回答

2

您要找的是MDX Calculated members

我们假设调用了订单A的成员:[订单类型]。[订单类型]。[订单A],我们想从总数中计算出百分比。

WITH 
    MEMBER [Order A] AS ([Order Type].[Order Type].[Order A],[Measures].[Fact Order Count])/([Measures].[Fact Order Count]) , FORMAT_STRING = 'Percent' 
SELECT 
    {[Measures].[Fact Order Count],[Measures].[Order A]} on 0 
... 

什么是计算成员重要的是,你可以评估任何MDX元组(例如,([命令类型]。[订单类型] [在线订购A],[措施]。[事实顺序计数]) )。如果需要,这将更改来自枢轴轴的值(在0和1上定义)。请注意,您可以添加度量的计算成员以及其他维度。

+0

感谢帖子,对不起,我已经生病了几天无法评论回来。 – 2012-01-17 14:26:10