zoukankan      html  css  js  c++  java
  • 《Microsoft SQL Server 2008 MDX Step by Step》学习笔记二:理解元组(Tuples)

    SQL Server 2008中SQL应用系列及BI笔记系列--目录索引


    导读:本文介绍元数组(Tuples)的基础内容,已经了解的读者可以直接略过。

    本文将包括以下内容:

    ■1、理解cube空间的概念。

    ■2、使用tuples从Cube中提取数据。

    ■3、使用多种语法引用层次结构成员(hierarchy members)。

       本文所用数据库和所有源码,请到微软官网下载

     

    1、N维空间(N-dimensional Space)和Cube空间

    邀月工作室

    邀月工作室

    邀月工作室

    类似地,我们可以用(a1,a2,….,Ax)表示X维度的一个点。

     

    邀月工作室

    2、使用Tuples访问数据

    打开MDX查询编辑器窗口,输入

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Date].[Calendar Year].[All Periods],
    [Date].[Fiscal Year].[All Periods],
    [Product].[Category].[Bikes],
    [Product].[Subcategory].[Mountain Bikes],
    [Measures].[Measures].[Reseller Sales Amount]
    )
    ;
    /*
    $26,492,684.38
    */

    上述语句中,包含五部分元组(Tuples)

    改变下元组(Tuples),结果相同。

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Product].[Subcategory].[Mountain Bikes],
    [Date].[Calendar Year].[All Periods],
    [Date].[Fiscal Year].[All Periods],
    [Product].[Category].[Bikes],
    [Measures].[Measures].[Reseller Sales Amount]
    )
    ;
    /*
    $26,492,684.38
    */

    4、理解Cells

    每一个Cell包含了Value和FORMATTED_VALUE

    邀月工作室

    可以修改默认值

    邀月工作室

    关于Cell属性,请看MSDN(http://msdn.microsoft.com/zh-cn/library/ms145573.aspx

    5、使用局部元组(Partial Tuples)

    邀月工作室

    当度量成员被移走时,一个局部元组(Partial Tuples)被提交,AS检查第一个默认的成员,提供缺失度量,这些度量的属性的层次结构的默认成员是Reseller Sales Amount,该成员将被应用,元组变完整。

    邀月工作室

    6、使用用户层次结构生成Tuples

    理解User-Hierarchy转换

    SELECT
    FROM[Chapter 3 Cube]
    WHERE[Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2003].[FY 2003]
    ;
    /*
    $12,000,247.33
    */

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Date].[Calendar Year].[CY 2003],
    [Date].[Fiscal Year].[FY 2003]
    )
    ;
    /*
    $12,000,247.33
    */

    邀月工作室

    SELECT
    FROM[Chapter 3 Cube]
    WHERE[Date].[Calendar-To-Fiscal Year].[Fiscal Year].[FY 2003]
    ;
    /*
    $15,921,423.19
    */

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Date].[Calendar Year].[CY 2002],
    [Date].[Fiscal Year].[FY 2003]
    )
    ;
    /*
    $15,921,423.19
    */

    SELECT
    FROM[Chapter 3 Cube]
    WHERE[Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002]
    ;
    /*
    $24,144,429.65
    */

    SELECT
    FROM[Chapter 3 Cube]
    WHERE[Date].[Calendar Year].[CY 2002]
    ;
    /*
    $24,144,429.65
    */

    邀月工作室

    避免引用冲突

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002],
    [Date].[Fiscal Year].[FY 2003]
    )
    ;
    /*
    $15,921,423.19
    */

    邀月工作室

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002].[FY 2003],
    [Date].[Fiscal Year].[FY 2003]
    )
    ;
    /*
    $15,921,423.19
    */

    而下面的引用是冲突的!

    SELECT
    FROM[Chapter 3 Cube]
    WHERE (
    [Date].[Calendar-To-Fiscal Year].[Calendar Year].[CY 2002].[FY 2003],
    [Date].[Fiscal Year].[FY 2002]
    )
    ;
    /*
    (null)
    */

    邀月工作室

    本文对tuples有了一个初步的介绍,下文将关注MDX基础的另一个概念:结果集(Sets)。

    参考资源:

    1、MDX官方教程(http://msdn.microsoft.com/zh-cn/library/ms145506.aspx

  • 相关阅读:
    20171229
    对象关系型数据库管理系统(PostgresQL )
    CDN技术之--集群服务与负载均衡
    CDN技术之-介绍
    oracle不同用户间访问表不添加用户名(模式)前缀
    ora-28000 the account is locked
    CDN技术之--该技术概述
    CDN技术之--内容缓存工作原理
    PL/SQL题型代码示例
    在java中使用solr7.2.0 新旧版本创建SolrClient对比
  • 原文地址:https://www.cnblogs.com/downmoon/p/2079260.html
Copyright © 2011-2022 走看看