`

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.


在许多情况下,一些文字性的内容并非成员的数据,但为了显示其内容,我们一般定义为成员的属性,为了在
查询中使用!比如[Customers]维,其性别、住址、电话可能就是成员的属性,在MDX查询中,我们既想查询数
据量,如销售数量、销售金额,也想查询客户的信息,如性别、住址、电话等。MDX提供了几种方法来获取成员
的属性。
1)DIMENSION PROPERTIES
select
    {[Measures].MEMBERS}  on columns,
    {[Customers].[All Customers].[USA].[CA].[Altadena].children}
     DIMENSION PROPERTIES [Customers].[name].Gender,[Customers].[name].Address 
    on rows
from Sales
可以查询客户的性别和地址属性。
备注:在MDX例子应用中查询语法正确,数据无法显示,是否要通过ADOMD等才能正确获取??
2)Properties 函数
WITH
   MEMBER [Measures].[Gender] AS
   '[Customers].CurrentMember.Properties("Gender")'
   MEMBER [Measures].[Address] AS
   '[Customers].CurrentMember.Properties("Address")'
select
    { [Measures].[Gender], [Measures].[Address],[Measures].MEMBERS}  on columns,
    {[Customers].[All Customers].[USA].[CA].[Altadena].children}    on rows
from Sales
在MDX显示客户性别、地址以及销售金额等信息。
备注:在MDX例子应用中数据正常显示。
分享到:
评论

相关推荐

    MDX赋值语句词法分析器

    MDX赋值语句词法分析器是针对MDX中的赋值操作进行解析的关键工具,它能帮助理解并处理包含四则运算的复杂表达式。在MDX中,赋值语句通常涉及到对维度成员的赋值,这些成员可能来自多维数据集的不同层面。 词法分析...

    OLAP的MDX语句运用

    ### OLAP的MDX语句运用详解 #### 一、OLAP与MDX简介 - **OLAP(Online Analytical Processing)**:联机分析处理,是一种数据仓库环境中的数据分析技术,提供快速、灵活的数据访问能力,以支持复杂的分析操作,并...

    Mondrian解析MDX成sql语句的分析与整理

    《 Mondrian解析MDX成SQL语句的分析与整理》 在数据分析领域,多维数据集(Multidimensional Datasets)的查询语言MDX(MultiDimensional eXpressions)是处理OLAP(Online Analytical Processing)操作的重要工具...

    python当中连接数据库,需要遇到MDX语句,此处是对MDX的简单介绍

    MDX查询语句的构造涉及这些基本对象,集合通常放在轴(axes)上展示,构成一个多维数据的可视化布局。标准的MDX查询语法大致如下: ```mdx SELECT <Set_1> ON 0, <Set_2> ON 1 FROM WHERE ``` 其中,`<Set_1>`和`...

    基于实例化视图的MDX语句执行性能优化 (2008年)

    多维表达式(MDX)语句多用于实现对海量数据的多维分析,如何对MDX语句的执行过程进行优化,进而提高查询速度是构建在线分析处理系统的一个难点。该文采用预建实例化视图的方法,使得原先基于事实表和维表的多表连接...

    mdx 资料 mdx 资料mdx 资料

    6. **MDX查询(Queries)**:使用MDX语句来选择、过滤、聚合立方体中的数据,如`SELECT [Measures].[Sales] ON COLUMNS, [Time].[Year].[2022] ON ROWS FROM [SalesCube]`。 7. **切片与骰子(Slicing & Dicing)**:...

    SQL Server 2005 BI系列课程(7):MDX解决方案

    本课程主要介绍MDX语句的作用和使用规则,并简要介绍MDX语句与SQL语句的不同之处,以及MDX语句相较SQL语句的优势和特点。同时,通过一个鞋服行业BI项目的实施案例,针对该行业的数据特点,以及客户的特殊要求,讲解...

    多维数据查询MDX教程(全)

    MDX 脚本编写语句 MDX 数据定义语句 MDX 数据操作语句 MDX 运算符参考 --(注释) -(排除) -(负) -(减) *(叉积) *(乘) /(除) ^(幂) /*...*/(注释) //(注释) :(范围) +(加) +(正) +(字符串...

    一步一步学习MDX语言

    Microsoft SQL Server 2005 Analysis Services (SSAS) 允许在多维表达式 (MDX)...函数可以在任何有效的 MDX 语句中使用,并且经常用于查询、自定义汇总定义以及其他计算。本节介绍 Analysis Services 附带的 MDX 函数。

    《MDX解决方案(第2版)》示例代码和数据

    数据部分则提供了运行这些示例所需的多维数据模型,可能包含模拟业务场景的销售、财务等数据,以便读者在实际环境中测试和验证MDX语句。 MDX的基础知识包括以下几个关键点: 1. **基础语法**:MDX语句由维度、层次...

    MDX词典制作和转换txt工具

    4. 创建MDX文件:使用专门的工具将整理好的数据生成MDX文件,这个过程中会进行索引构建,提高检索速度。 转换工具的主要功能有: 1. MDX转TXT:将MDX文件解析成TXT文档,保留原有的词汇和信息,便于用户查看或编辑...

    mdx动态参数跳转问题整理

    在MDX(多维表达式)中,动态参数跳转是一种常见的需求,特别是在构建数据分析应用时,用户可能需要根据不同的条件或选择跳转到不同的页面。以下是对标题和描述中涉及的知识点的详细说明: 1. **MDX(多维表达式)*...

    剑桥高阶英英mdx,mdd+路透金融英语mdx

    《剑桥高阶英英与路透金融英语:深度解析mdx及电子词典应用》 在当今数字化时代,学习工具的创新不断推动语言学习的进步。提到“剑桥高阶英英”和“路透金融英语”,这两大权威的英语学习资源已经不再局限于传统的...

    MDX 入门教材

    这本"MDX 入门教材"显然是为初学者设计的,旨在教授MDX的基础概念、语法以及如何通过MDX语句进行多维数据操作。 MDX在数据库领域扮演着重要角色,尤其是对于那些需要深度分析大量复杂数据的企业而言。它提供了一种...

    mdx基本语法-例子

    - **选择器**:`SELECT`语句是MDX中最常用的查询语句,用于选择多维数据集中的数据。例如,`SELECT {[Measures].[Sales Amount]} ON COLUMNS, {[Product].[Category].ALLMEMBERS} ON ROWS FROM [Sales]`这一语句...

Global site tag (gtag.js) - Google Analytics