MDX示例:求解众数(mode)

在统计学中,众数(Mode)是样本观测值在频数分布表中频数最多的那一组的组中值,主要应用于大面积普查研究之中,众数在一组数据中可能会有好几个。简单的说,众数就是一组数据中占比例最多的一个或几个数。MDX众数求解又是那位人力资源商业智能团队的开发人员咨询的。

求解众数(MODE).MDX
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
//MDX众数MODE求解
//letusbi.com: begin
With
     SET SampleSet AS
     {
         [ Date ].[Calendar].[ Month ].&[2013]&[1],
         [ Date ].[Calendar].[ Month ].&[2013]&[2],
         [ Date ].[Calendar].[ Month ].&[2013]&[3],
         [ Date ].[Calendar].[ Month ].&[2013]&[4],
         [ Date ].[Calendar].[ Month ].&[2013]&[5],
         [ Date ].[Calendar].[ Month ].&[2013]&[6],
         [ Date ].[Calendar].[ Month ].&[2013]&[7],
         [ Date ].[Calendar].[ Month ].&[2013]&[8],
         [ Date ].[Calendar].[ Month ].&[2013]&[9],
         [ Date ].[Calendar].[ Month ].&[2013]&[10],
         [ Date ].[Calendar].[ Month ].&[2013]&[11],
         [ Date ].[Calendar].[ Month ].&[2013]&[12]
     }
 
     MEMBER measures.CountSame AS
         count (
             filter(
                 union (
                     SampleSet,
                     {[ Date ].[Calendar].currentmember} as CurrentMonth
                 ),
                 (
                     [ Date ].[Calendar].currentmember, [Measures].[Customer Count ])
                     =(CurrentMonth.item(0).item(0), [Measures].[Customer Count ])
                 )
             )
         )
 
//众数MODE
     MEMBER measures.mode AS
         (
             topcount(
                 SampleSet,
                 1,
                 measures.CountSame
             ).item(0).item(0),
         [Measures].[Customer Count ]
         )
 
select
{
     [Measures].[Customer Count ],
     measures.CountSame,
     measures.MODE
} on 0
from
     [Adventure Works]
//letusbi.com: End

本文维护地址:MDX示例:求解众数(mode)

上一篇:Java实现Dijkstra算法求最短路径


下一篇:我的hibernate学习记录(一)