惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

博客园 - 叶小钗
V
Visual Studio Blog
雷峰网
雷峰网
J
Java Code Geeks
博客园 - 三生石上(FineUI控件)
人人都是产品经理
人人都是产品经理
MyScale Blog
MyScale Blog
H
Hackread – Cybersecurity News, Data Breaches, AI and More
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog RSS Feed
C
Check Point Blog
博客园 - Franky
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
V
V2EX
D
Docker
IT之家
IT之家
博客园 - 聂微东
腾讯CDC
U
Unit 42
Microsoft Security Blog
Microsoft Security Blog
The Cloudflare Blog

博客园 - rangeliu

批判下微软的sql面试题 SQL Server 报表系统导出txt格式方法 Reporting Service报表纵向单元格合并 SSAS中命名集(SET)的使用 返回指定成员所有下级成员的MDX语句 [收藏]Oracle 性能优化 [收藏]使用XML技術實現OWC對數據庫的展示 十六進制的字符串轉換為double類型 [收藏]递归算出两个数字之间所有数字之和 [收藏]String与string的区别 [收藏]about协议的妙用 [收藏]中英文颜色对照表 [收藏]C# WinForm程序如何与JS交互 [收藏]在C#程序中使用系统热键 [转载]动态调用WebService(C#) [转载] .NET脏字过滤算法 [转载]使用Response.Filter过滤非法词汇 [转载]asp.net面试集合 [转载]WEB开发碰到的问题及经验十八则
MDX学习——初始MDX
rangeliu · 2009-06-23 · via 博客园 - rangeliu

认识MDX

1, AS 2005 CUBE结构

在认识MDX之前先来认识下AS 2005 CUBE结构。如下图,Cube的结构里有维度和量值,而维度下有阶层(属性),阶层下有层级,每个层级有许多成员。

2,MDX

多维运算式(MultiDimensional eXpressions,MDX),是以陈述式为基础的指令码语言,用来在SSAS中定义、使用和截取多维体内的数据。

3,MDX多维查询语法

MDX语法

WITH

    [<导出成员>]

    [<自定义命名>]

    [<单元格计>]

SELECT <Tuple> ON <>

     [,<Tuple> ON <>…]

FROM [<Cube 名称>]

WHERE [<Slicer 切片>]

导出成员语法

MEMBER <成员>

AS '<计算公式>'

    [,SOLVE_ORDER = <解决>]

    [,<cell_property> = <value_expression>]

    [,FORMAT_STRING = <显示格式>]

命名集语法

SET <集合名称> AS '<成员集合>'

单元格计算语法

CELL CALCULATION <单元格名称>

FOR '(<calculation_subcube>)'

AS '<calculation_formula>'

    [,<calculation_property_list>]

1)新增导出成员示例

With

--新增导出成员

Member [Measures].[达成率] as

    '[Measures].[Sales Amount]/[Measures].[Sales Amount Quota]'

,Format_string='Percent' --显示百分比

--新增导出成员

Member [Measures].[去年同期达 ¦¨] as

    '(ParallelPeriod([Date].[Calendar].[Calendar Year]),[Measures].[达成率])'

,Format_string='Percent' --显示百分比

Select {[Measures].[Sales Amount]

        ,[Measures].[Sales Amount Quota]

        ,[Measures].[达成率]

        ,[Measures].[去年同期达成率]} on 0,

{[Sales Territory].[Sales Territory Country].members} on 1

From [Adventure Works]

Where [Date].[Calendar].[Calendar Year].&[2004];

2)新增命名集示例

With

--自订命名 产品名称ML的所有产品

Set ML as

    filter([Product].[Product].[Product].Members,

    mid([Product].[Product].Currentmember.name,1,2)='ML')

Select {[Measures].[Sales Amount]} on 0,

     non Empty --Null显示,注释测试

     {ML} on 1

From [Adventure Works];

3)单元个计算示例

With

    CELL CALCULATION [CELLS]

    FOR '{([Product].[Category].[Bikes],

        [Measures].[Sales Amount])}'

    AS '1'

Select

    {[Measures].[Sales Amount],[Measures].[Order Quantity]} on 0,

    {[Product].[Category].members} on 1

From [Adventure Works]