evcombo
作者evcombo2012-02-17 17:52
BI开发工程师, ev

RadarCube ASP.NET OLAP计算方法使用教程(图解)

字数 2293阅读 5798评论 0赞 0

RadarCube ASP.NET OLAP支持最终用户通过内置的公式编辑器创建计算方法和成员。RadarCube MSAS和RadarCube Direct版本都支持使用标准的MDX语法和MDX函数创建计算表达式。比如,通过如下的表达式创建一个名为"SalesAverage"的计算方法:

[Measures].[SalesAmount]/[Measures].[SalesCount]

RadarCube ASP.NET OLAP下载地址:http://www.evget.com/zh-CN/product/999/feature.aspx

调用公式编辑器

RadarCube ASP.NET OLAP计算方法详解-BI项目开发

公式编辑器窗口

你可以通过CubeStructureTree或者当前OLAP切片中的"Measures"节点的下拉菜单来创建一个计算方法:

RadarCube ASP.NET OLAP计算方法详解-BI项目开发

或者

RadarCube ASP.NET OLAP计算方法详解-BI项目开发

点击单元格顶部的弹出下拉菜单,创建一个新的计算成员:

RadarCube ASP.NET OLAP计算方法详解-BI项目开发

你可以点击单元格,在弹出的下拉菜单进行计算方法或者成员的编辑和删除操作:

RadarCube ASP.NET OLAP计算方法详解-BI项目开发

RadarCube的计算公式

为计算方法和成员编写正确的计算公式,你需要对RadarCube计算单元格的下拉菜单有所了解。RadarCube计算是基于下拉菜单环境的计算公式。下拉菜单会显示该单元格多维矩阵的坐标:

RadarCube ASP.NET OLAP计算方法详解-BI项目开发

"Quantity"方法、和其他名为"Categories"("Dairy Products")、"Year"("1996")的成员分别显示在选定的单元格中。

MDX-计算公式为计算方法和成员提供环境,如果它需要修改的话。

让我们分析一下计算公式"SalesAverage"的方法:

[Measures].[Sales]/[Measures].[Quantity]
这个计算公式是根据它的环境计算每个单元格。

计算公式:
[Time].[Year].[1998]-[Time].[Year].[1997]
将计算1997年和1998年之间测量值的差异。这个公式只限于"Year"单元格计算成员。

计算公式:
([Measures].[Quantity], [Time].[Date].CurrentMember) - 
([Measures].[Quantity], [Time].[Date].CurrentMember.PrevMember)
将计算当前和以前("Date"之间)"Quantity"的差值,以深蓝色显示增值便于与前期产品销量进行比较。

计算公式:
[Measures].[Sales] - (ParallelPeriod([Time].[Date].[Year], 1), [Measures].[Sales])
将计算出目前"Sales"的值与去年同期的差额,即销售与去年同期的增加值。例如"January 2008",它会计算"Sales"的值在2008年1月和2007年1月的差异。

计算公式:
Sum(PeriodsToDate([Time].[Date].[Year]), [Measures].[Sales])
将计算从今年开始"Sales"的值的总和。例如"September 2007",它会计算从2007年1月至9月的销量总和。

计算公式:
Avg(LastPeriods(3,[Time].[Date].CurrentMember), [Measures].[Sales])
显示最后的三个阶段的"Sales"的移动平均线 (即"Years"层次为三年,"Months"层次为三月,以此类推)

在"MDX Essentials Series"中可以找到很多不同的MDX函数在表达式例子,在MSDN library中可以找到大量的MDX函数。

程序员指南

创建或移除计算方法,使用TOLAPGrid.Measures.AddCalculatedMeasure和相应的TOLAPGrid.Measures.DeleteCalculatedMeasure方法。 计算方法的MDX公式在创建成功后,必须正确的分配给它的Expression属性。例如:

在运行时创建一个计算方法

TMeasure m = TOLAPGrid1.Measures.AddCalculatedMeasure("Calculated");
m.Expression = "[Measures].[Sales Amount] / [Measures].[Order Count]";

在运行时创建一个计算成员

THierarchy h = TOLAPGrid1.Dimensions.FindHierarchyByDisplayName("Sales Channel"); 
TCalculatedMember M = h.CreateCalculatedMember("Reseller - Internet""", h.Levels[0], null, TCustomMemberPosition.cmpLast); 
M.Expression = "[Sales Channel].[Reseller] - [Sales Channel].[Internet]";

BI项目开发控件套包推荐

EVCombo for BI-BI商业智能控件套包是集数据分析、OLAP、数据可视化(图表、报表等形式)于一体的全面BI解决方案。

支持平台:ASP.NET、Windows Forms、Silverlight和WPF。

下载地址:http://www.evget.com/zh-CN/PackagesPage/Feature.aspx?id=2

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广