码迷,mamicode.com
首页 > Web开发 > 详细

MDX查询SSAS结果--通过adomd.net展示到客户端

时间:2016-08-31 13:59:52      阅读:230      评论:0      收藏:0      [点我收藏+]

标签:

SSAS多维模型建好之后,除了在excel客户端直接链接ssas源拖拽pivot分析使用外,还可以讲要展示的结果集通过MDX语句查询出来,嵌入到程序中,通过运行程序跑出完整的报表。如图所示:

技术分享

MDX对于OLAP数据集就像Transact-SQL对于Microsoft SQL Server关系数据库。在SQL里mdxquery查询视窗,将SSAS的查询结果,显示在我们自定义的应用程序里面,和传统的ADO.net链接SQL数据库引擎相似。

例如如下MDX查询代码:

技术分享
WITH MEMBER [Target] AS [Measures].[USD REV TARGET - Vw ST SUBREGION TGT]/1000 
                            MEMBER [QTD] AS [Measures].[ST AMT USD]/1000       
                            MEMBER [HitRate] AS IIF([Target]=NULL OR [Target]=0,NULL,[QTD]/[Target])
                            MEMBER [SO_Target] as [Measures].[USD REV TARGET]/1000   
                            MEMBER [SO_QTD] AS [Measures].[SO AMT USD]/1000                    
                            MEMBER [SO_HitRate] as IIF([SO_Target]=NULL OR [SO_Target]=0,NULL,[SO_QTD]/[SO_Target])    
                            SELECT CROSSJOIN([OverviewAllBrand-BU].[BU CODE],                    
                            {[Target],[QTD],[HitRate],[SO_Target],[SO_QTD],[SO_HitRate]}) ON COLUMNS,      
                            CROSSJOIN({[OverviewAllBrand-Region].[REGION EN], [OverviewAllBrand-Region].[REGION EN].CHILDREN },  
                            {[OverviewAllBrand-Channel].[CHANNEL TYPE].CHILDREN, [OverviewAllBrand-Channel].[CHANNEL TYPE] }) ON ROWS     
                            FROM [OverviewAllBrand]   where  ([OverviewAllBrand-Region].[AREA CN].&[CHINA])
View Code

 

技术分享

原理:

1、客户端与SSAS的通讯,其实传递是XML/A指令。发起这种指令,可以通过标准的Web Request(封装为一个SOAP包即可),也可以通过客户端API。

2、SQL Server 自带了一个客户端API,Microsoft.AnalysisServices.AdomdClient.dll.这个程序集,一般是在 C:\Program Files (x86)\Microsoft.NET\ADOMD.NET\100\Microsoft.AnalysisServices.AdomdClient.dll 这个路径下面。所以首先项目程序中需要先引用这个dll。

技术分享

使用Adomd的方式与标准的ADO.NET还是有相似之处的,也需要有Connection以及Command之类的对象,只不过它的查询语法是所谓的MDX(多维表达式),而且它返回的结果不是一个平面的二维结构,可能会有多个轴(最多可以有128个轴),所以解析的时候会更加复杂些。

 

MDX查询SSAS结果--通过adomd.net展示到客户端

标签:

原文地址:http://www.cnblogs.com/ammy714926/p/5825403.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!