天天看點

MDX示例:求解衆數(mode)

求解衆數(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

from

[Adventure Works]

//letusbi.com:

End