热门标签 | HotTags
当前位置:  开发笔记 > 数据库 > 正文

SQLServer2008数据库中MDX查询的演示

SQLServer2008数据库学习笔记之MDX查询示例是本文我们主要要介绍的,我们首先介绍了SQL查询与MDX查询示例比较,然后介绍了MDX的实例,接下来就让我们一起来了解一下这部分内容吧。SQL查询与MDX查询示例比较在MdxStepByStep数据库中(后缀名为.SQL)查询US
SQL Server 2008数据库学习笔记之MDX查询示例是本文我们主要要介绍的,我们首先介绍了SQL查询与MDX查询示例比较,然后介绍了MDX的实例,接下来就让我们一起来了解一下这部分内容吧。

SQL查询与MDX查询示例比较

在MdxStepByStep数据库中(后缀名为.SQL)查询
USE MdxStepByStep  
SELECT  
m.EnglishProductName, o.TotalSalesAmount  
FROM dbo.DimProduct m  
INNER JOIN ( -- TOP 10 PRODUCTS OF 2003  
SELECT TOP 10  
a.ProductKey, SUM(a.SalesAmount) AS TotalSalesAmount  
FROM (  
SELECT  
x.productkey, x.salesamount  
FROM dbo.FactInternetSales x  
INNER JOIN dbo.DimDate y  
ON x.OrderDateKey=y.DateKey  
WHERE y.CalendarYear=2003 
UNION ALL  
SELECT  
x.productkey, x.salesamount  
FROM dbo.FactResellerSales x  
INNER JOIN dbo.DimDate y  
ON x.OrderDateKey=y.DateKey  
WHERE y.CalendarYear=2003 
) a  
GROUP BY a.ProductKey  
ORDER BY TotalSalesAmount DESC  
) n  
ON m.ProductKey=n.ProductKey  
LEFT OUTER JOIN ( --PRODUCT SALES IN 2004  
SELECT  
a.ProductKey, SUM(a.SalesAmount) AS TotalSalesAmount  
FROM (  
SELECT  
x.productkey, x.salesamount  
FROM dbo.FactInternetSales x  
INNER JOIN dbo.DimDate y  
ON x.OrderDateKey=y.DateKey  
WHERE y.CalendarYear=2004 
UNION ALL  
SELECT  
x.productkey, x.salesamount  
FROM dbo.FactResellerSales x  
INNER JOIN dbo.DimDate y  
ON x.OrderDateKey=y.DateKey  
WHERE y.CalendarYear=2004 
) a  
GROUP BY a.ProductKey  
) o  
ON m.ProductKey=o.productkey  
ORDER BY n.TotalSalesAmount DESC  
/*  
EnglishProductName TotalSalesAmount  
Mountain-200 Black, 38 1327957.4077  
Mountain-200 Black, 42 1139429.4872  
Mountain-200 Silver, 38 1136622.4928  
Mountain-200 Black, 46 1011074.3685  
Mountain-200 Black, 38 NULL  
Mountain-200 Silver, 42 1011486.1762  
Touring-1000 Blue, 60 835290.1559  
Road-350-W Yellow, 48 897217.9635  
Mountain-200 Silver, 46 1029170.7639  
Road-350-W Yellow, 40 840970.6467  
*/ 

而在维度数据库中对应的MDX查询(后缀名为.MDX)如下:
WITH  
MEMBER [Measures].[Total Sales Amount] AS  
([Measures].[Internet Sales Amount]) + ([Measures].[Reseller Sales Amount])  
SET [Top 10 Products of 2003] AS  
TOPCOUNT(  
{[Product].[Product].[Product].Members},  
10,  
([Measures].[Total Sales Amount], [Date].[Calendar Year].[CY 2003])  
)  
SELECT  
{([Measures].[Total Sales Amount])} ON COLUMNS,  
{[Top 10 Products of 2003]} ON ROWS  
FROM [Step-by-Step]  
WHERE ([Date].[Calendar Year].[CY 2004]);  
/*  
Total Sales Amount  
Mountain-200 Black, 38 $1,327,957.41  
Mountain-200 Black, 42 $1,139,429.49  
Mountain-200 Silver, 38 $1,136,622.49  
Mountain-200 Black, 46 $1,011,074.37  
Mountain-200 Black, 38 (null)  
Mountain-200 Silver, 42 $1,011,486.18  
Touring-1000 Blue, 60 $835,290.16  
Road-350-W Yellow, 48 $897,217.96  
Mountain-200 Silver, 46 $1,029,170.76  
Road-350-W Yellow, 40 $840,970.65  
*/ 

从上面的这个例子我们领略了SQL与MDX语法的大致区别。
用MDX查询编辑器实现一个最简单的MDX的编写
在SSMS界面登录Analysis Services,选择MDX Step By Step数据库:
对于MDX新手来说,最令人鼓舞的莫过于大部分MDX查询都可以借助拖拽来实现。

SQL Server 2008数据库学习笔记之MDX查询示例

SQL Server 2008数据库学习笔记之MDX查询示例

SQL Server 2008数据库学习笔记之MDX查询示例

SQL Server 2008数据库学习笔记之MDX查询示例

SQL Server 2008数据库学习笔记之MDX查询示例

SQL Server 2008数据库学习笔记之MDX查询示例

大家可以参考以下的MDX脚本完成本文开始提供的MDX查询。
WITH  
MEMBER [Measures].[Total Sales Amount] AS  
[Measures].[Internet Sales Amount]  
SELECT  
FROM [Step-by-Step]  
WHERE [Date].[Calendar Year].&[2004];  
WITH  
MEMBER [Measures].[Total Sales Amount] AS  
[Measures].[Internet Sales Amount]+[Measures].[Reseller Sales Amount]  
SELECT  
FROM [Step-by-Step]  
WHERE [Date].[Calendar Year].&[2004]  
;  
WITH  
MEMBER [Measures].[Total Sales Amount] AS  
[Measures].[Internet Sales Amount]+[Measures].[Reseller Sales Amount]  
SET [Top 10 Products of 2003] AS  
TOPCOUNT( [Product].[Product],10)  
SELECT  
FROM [Step-by-Step]  
WHERE [Date].[Calendar Year].&[2004];  
WITH  
MEMBER [Measures].[Total Sales Amount] AS  
[Measures].[Internet Sales Amount]+[Measures].[Reseller Sales Amount]  
SET [Top 10 Products of 2003] AS  
TOPCOUNT( [Product].[Product].[Product].Members, 10,   
([Measures].[Total Sales Amount], [Date].[Calendar Year].[CY 2003]))  
SELECT  
FROM [Step-by-Step]  
WHERE [Date].[Calendar Year].&[2004];  
WITH  
MEMBER [Measures].[Total Sales Amount] AS  
[Measures].[Internet Sales Amount]+[Measures].[Reseller Sales Amount]  
SET [Top 10 Products of 2003] AS  
TOPCOUNT( [Product].[Product].[Product].Members, 10,   
([Measures].[Total Sales Amount], [Date].[Calendar Year].[CY 2003]))  
SELECT  
{([Measures].[Total Sales Amount])} ON COLUMNS,  
{[Top 10 Products of 2003]} ON ROWS  
FROM [Step-by-Step]  
WHERE [Date].[Calendar Year].&[2004]; 

关于SQL Server 2008数据库学习笔记之MDX查询的相关知识就介绍到这里了,希望本次的介绍能够对您有所收获!
推荐阅读
  • OCI连接MySQL_PLSQL Developer连接远程数据库OCI客户端安装方法
    本文介绍了使用OCI客户端连接MySQL和PLSQL Developer连接远程数据库的安装方法,避免了在本地安装Oracle数据库或类似的开发套件的麻烦,同时解决了PLSQL Dev连接远程Oracle时的配置问题。 ... [详细]
  • 本文介绍了一个免费的asp.net控件,该控件具备数据显示、录入、更新、删除等功能。它比datagrid更易用、更实用,同时具备多种功能,例如属性设置、数据排序、字段类型格式化显示、密码字段支持、图像字段上传和生成缩略图等。此外,它还提供了数据验证、日期选择器、数字选择器等功能,以及防止注入攻击、非本页提交和自动分页技术等安全性和性能优化功能。最后,该控件还支持字段值合计和数据导出功能。总之,该控件功能强大且免费,适用于asp.net开发。 ... [详细]
  • 本文介绍了如何在MySQL中将零值替换为先前的非零值的方法,包括使用内联查询和更新查询。同时还提供了选择正确值的方法。 ... [详细]
  • 本文介绍了三种方法来关闭win7电脑开机硬盘自检,分别是使用命令提示符、注册表编辑器和bios设置界面。通过取消硬盘自检可以加快电脑启动速度。详细步骤和操作说明在正文中有详细介绍。 ... [详细]
  • OC渲染器和阿诺德渲染器的特点及适用范围
    本文介绍了C4D软件自带的渲染器效果较差的问题,并推荐了四款C4D渲染器,其中包括OC渲染器和阿诺德渲染器。OC渲染器渲染速度快,简单易用,特别适合小团队和个人使用,而阿诺德渲染器具有超快的预览功能和真实的渲染效果,适合在体积光处理方面使用。两款渲染器都支持多个C4D版本和不同操作系统。 ... [详细]
  • 如何实现JDK版本的切换功能,解决开发环境冲突问题
    本文介绍了在开发过程中遇到JDK版本冲突的情况,以及如何通过修改环境变量实现JDK版本的切换功能,解决开发环境冲突的问题。通过合理的切换环境,可以更好地进行项目开发。同时,提醒读者注意不仅限于1.7和1.8版本的转换,还要适应不同项目和个人开发习惯的需求。 ... [详细]
  • 如何更改电脑系统的自动校时服务器地址?
    本文介绍了如何通过注册表编辑器更改电脑系统的自动校时服务器地址。通过修改注册表中的数值数据或新建字符串数值的方式,可以将默认的时钟同步服务器地址更改为自己所需要的域名或IP地址。详细步骤包括双击时间区域,点击internet时间,勾选自动校正域名设置定时等操作。 ... [详细]
  • 使用chrome编辑器实现网页截图功能的方法
    本文介绍了在chrome浏览器中使用编辑器实现网页截图功能的方法。通过在地址栏中输入特定命令,打开控制台并调用命令面板,用户可以方便地进行网页截图操作。 ... [详细]
  • 开发笔记:spring boot项目打成war包部署到服务器的步骤与注意事项
    本文介绍了将spring boot项目打成war包并部署到服务器的步骤与注意事项。通过本文的学习,读者可以了解到如何将spring boot项目打包成war包,并成功地部署到服务器上。 ... [详细]
  • 本文介绍了Windows Vista操作系统中的用户账户保护功能,该功能是为了增强系统的安全性而设计的。通过对Vista测试版的体验,可以看到系统在安全性方面的进步。该功能的引入,为用户的账户安全提供了更好的保障。 ... [详细]
  • Unity3D引擎的体系结构和功能详解
    本文详细介绍了Unity3D引擎的体系结构和功能。Unity3D是一个屡获殊荣的工具,用于创建交互式3D应用程序。它由游戏引擎和编辑器组成,支持C#、Boo和JavaScript脚本编程。该引擎涵盖了声音、图形、物理和网络功能等主题。Unity编辑器具有多语言脚本编辑器和预制装配系统等特点。本文还介绍了Unity的许可证情况。Unity基本功能有限的免费,适用于PC、MAC和Web开发。其他平台或完整的功能集需要购买许可证。 ... [详细]
  • wpf+mvvm代码组织结构及实现方式
    本文介绍了wpf+mvvm代码组织结构的由来和实现方式。作者回顾了自己大学时期接触wpf开发和mvvm模式的经历,认为mvvm模式使得开发更加专注于业务且高效。与此同时,作者指出mvvm模式相较于mvc模式的优势。文章还提到了当没有mvvm时处理数据和UI交互的例子,以及前后端分离和组件化的概念。作者希望能够只关注原始数据结构,将数据交给UI自行改变,从而解放劳动力,避免加班。 ... [详细]
  • wordpress的内页悬浮选项卡功能预览及使用方法介绍
    本文介绍了wordpress的内页悬浮选项卡功能,包括功能预览和使用方法。用户可以自定义切换按钮,设置锚点信息区域,灵活多变且无需代码编辑。文章可以统一设置按钮,也可以独立设置单篇文章的按钮,滚动模式下按钮以滑动形式展示,具有条理性和锚点属性,有利于SEO。滚动效果增加了网站的互动性,让用户参与互动,同时完全兼容手机,使信息展示更清晰。 ... [详细]
  • 本文介绍了在Linux中执行.sh脚本时出现/bin/sh^M: bad interpreter: No such file or directory异常的原因分析,并提供了两种解决方法:在Windows下进行编码格式转换,或在Linux中修改文件格式和执行权限。具体操作步骤也在摘要中给出。 ... [详细]
  • 本文介绍了常用的编辑器快捷键,包括快速转换编辑器、浏览选项卡、提取本地变量和方法、编辑器窗口最大化等功能。通过使用这些快捷键,可以提高编辑器的使用效率,减少复杂度,并提升代码的可测试性。 ... [详细]
author-avatar
何氏眼科-李剑华_951_745
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有