谁有MDX教程 共享些 谢谢
小弟正在做只能分析,需mdx语法方面资料,各位大哥大姐提供此方面资料
谢谢!!!!!
[解决办法]
MDX语句整理
基本概念:
成员:属于维度,描述CUBE的维度
元组:来自CUBE的数据切片.成员向导
集合:由0,1,多个成员组成.代表范围,不代表值.
MDX语句基本格式:
WITH
MEMBER ……
…….
SET ……
…….
SELECT {……} ON COLUMNS,
{……} ON ROWS
FROM CUBENAME
WHERE (……)
维度描述:
[地理维度]:
所有地理维度北京S1
S2
上海S3
S4
[措施维度]:
所有措施维度措1C1
C2
措2C3
C4
[时间维度]:
20071月
2月
3月
4月
TABLE1
所有地理维度
1月
SELECT {[地理维度].[所有地理维度]} ON COLUMNS,
{[时间维度].[1月]} ON ROWS
FROM [CUBENAME]
TABLE2
S1
1月
SELECT {[地理维度].[S1]} ON COLUMNS,
{[时间维度].[1月]} ON ROWS
FROM [CUBENAME]
TALBE3
S1S2S3
1月
SELECT {[地理维度].[S1], [地理维度].[S2], [地理维度].[S3]} ON COLUMNS,
{[时间维度].[1月]} ON ROWS
FROM [CUBENAME]
TABLE4
上海
1月
SELECT {[地理维度].[上海]} ON COLUMNS,
{[时间维度].[1月]} ON ROWS
FROM [CUBENAME]
WITH MEMBER [地理维度].[AA] AS ‘SUM({S1,S2})’
SELECT {[地理维度].[AA]} ON COLUMNS,
{[时间维度].[1月]} ON ROWS
FROM [CUBENAME]
TABLE5
C3做切片
S1S2
1月
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{[时间维度].[1月]} ON ROWS
FROM [CUBENAME]
WHERE ([措施维度].[C3])
TABLE6
S1S2
1月
3月
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{[时间维度].[1月], [时间维度].[3月]} ON ROWS
FROM [CUBENAME]
TABLE7
S1S2
1月C1
3月C1
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{{[时间维度].[1月], [时间维度].[3月]}*{[措施维度].[C1]}} ON ROWS
FROM [CUBENAME]
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{([时间维度].[1月], [措施维度].[C1]),( [时间维度].[3月], [措施维度].[C1])} ON ROWS
FROM [CUBENAME]
TABLE8
S1S2
1月C1
1月C2
3月C1
3月C2
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{{[时间维度].[1月], [时间维度].[3月]}*{[措施维度].[C1], [措施维度].[C2]}} ON ROWS
FROM [CUBENAME]
TABLE9
M表示度量值
S1S2
M1M2M1M2
1月C1
C2
3月C1
C2
SELECT {{[地理维度].[S1],[地理维度].[S2]}*{[MEASURES].[M1], [MEASURES].[M2]}} ON COLUMNS,
{{[时间维度].[1月], [时间维度].[3月]}*{[措施维度].[C1], [措施维度].[C2]}} ON ROWS
FROM [CUBENAME]
TABLE10
M1M2
1月北京C1
C2
上海C1
C2
3月北京C1
C2
上海C1
C2
SELECT {[MEASURES].[M1],[MEASURES].[M2]} ON COLUMNS,
{{[时间维度].[1月],[时间维度].[3月]}*{[地理维度].[北京],[地理维度].[上海]}*{[措施维度].[C1],[措施维度].[C2]}} ON ROWS
RROM [CUBENAME]
TABLE11
S1S2S2-S1
1月
3月
WITH
MEMBER [地理维度].[AA] AS ‘[地理维度].[S2]-[地理维度].[S1]’
SELECT {[地理维度].[S1],[地理维度].[S2],[地理维度].[AA]} ON COLUMNS,
{[时间维度].[1月],[时间维度].[3月]} ON ROWS
FROM [CUBENAME]
TABLE12
S1S2
1月
3月
WITH
SET [SETA] AS ‘{[时间维度].[1月],[时间维度].[3月]}’
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{[SETA]} ON ROWS
FROM [CUBENAME]
TABLE13
S1S2
1月100102
3月160156
WITH
MEMBER [MEASURES].[AA] AS ‘IIF(MEASURES.M1> 156,1,0)’
SELECT {[地理维度].[S1],[地理维度].[S2]} ON COLUMNS,
{[SETA]} ON ROWS
FROM [CUBENAME]
WHRER ([MEASURES].[AA])
IIF(MEASURES.M1> 156,”T”,”F”)
参数是字符串得加双引号.
排序函数ORDER({[地理维度].[S1],[地理维度].[S2]},S1,BDSC)
维度聚合属性分类:
COUNT,SUM,MAX,MIN,DISTINCTCOUNT
CURRENTMEMBER代表当前的的成员函数.
MDX函数如果没有参数的话,是不应该加括号的.比如CURRENTMEMBER.