本人认为本文涉及的知识并不常用,可以作为了解参考即可。
一、账户智能
前面几个文章有提到过,设置自定义的维度,其中就是一个类似于账号的维度,SSAS维度CustomRollupColumn用法-自定义聚合方式,这种方式可以实现收入=总收入-总投入的自定义聚合方式,出来这个方法,MSBI还提供一种专门针对账户类型的维度的商业智能,我们只需要将这种账户类型的表设置好,首先构建一个普通的账号维度,然后再此基础上添加商业智能:右键一个普通的账户维度(类型为Regular),选择添加商业智能,选择‘定义账户智能’。
下一步,之后将你的维度表中的字段映射到内置的账户类型,然后,下一步完成,此时就可以构建一个完整的账户类型维度,最后在浏览数据的时候,就会实现类似于SSAS维度CustomRollupColumn用法-自定义聚合方式这样智能维度。
二、时间智能
首先,你的要准备一个时间类型的维度(类型为Time),然后右键多维数据集添加商业智能:
然后,下一步:选择你要在哪个层级上添加什么样的时间计算,点击下一步,SSAS会让你选择,与时间计算相关联的度量值,这里就不给出截图了,我选择的是年度同比在增长率和增长量;
最后,完成添加之后,出现的变化是:在维度中多出一个层级结构的计算:
除此之外,在cube的计算标签页中你也可以看到,多了一个计算成员,其实就是与时间计算相关联的度量值的MDX脚本计算:
下面为此计算成员的MDX脚本语句:
/* CALCULATE 命令控制多维数据集中叶单元的聚合。 如果将其删除或修改,会影响多维数据集内的数据。 只应在希望手动指定如何聚合多维数据集时编辑此命令。 */ CALCULATE; /* 开始 [Dim Date].[层次结构] 层次结构的时间智能脚本。 */ Create Member CurrentCube.[Dim Date].[层次结构 Dim Date 计算].[年度同比增长率] As "NA" ; Create Member CurrentCube.[Dim Date].[层次结构 Dim Date 计算].[年度同比增长量] As "NA" ; Scope( { [Measures].[Total Amount - Fact IP Medicine] } ) ; /*2011年度同比增长率*/ ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长率], [Dim Date].[年-层级].[年-层级].Members ( 1 ), [Dim Date].[Date Key].Members ) = null; /*2011年度同比增长量*/ ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长量], [Dim Date].[年-层级].[年-层级].Members ( 1 ) , [Dim Date].[Date Key].Members ) = null; /*年度同比增长率*/ ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长率], [Dim Date].[年-层级].[年-层级].Members ( 1 ) : Null, [Dim Date].[Date Key].Members ) = ( ( [Dim Date].[层次结构 Dim Date 计算].[当前 Dim Date], [Dim Date].[层次结构].CurrentMember ) - ( [Dim Date].[层次结构 Dim Date 计算].[当前 Dim Date], ParallelPeriod( [Dim Date].[层次结构].[年-层级], 1, [Dim Date].[层次结构].CurrentMember ) ) ) / ( [Dim Date].[层次结构 Dim Date 计算].[当前 Dim Date], ParallelPeriod( [Dim Date].[层次结构].[年-层级], 1, [Dim Date].[层次结构].CurrentMember ) ) ; ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长率], [Dim Date].[年-层级].[年-层级].Members ( 0 ), [Dim Date].[Date Key].Members ) = Null ; Format_String( ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长率], [Dim Date].[Date Key].Members ) ) = "Percent" ; /*年度同比增长量*/ ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长量], [Dim Date].[年-层级].[年-层级].Members ( 1 ) : Null, [Dim Date].[Date Key].Members ) = ( [Dim Date].[层次结构 Dim Date 计算].[当前 Dim Date], [Dim Date].[层次结构].CurrentMember ) - ( [Dim Date].[层次结构 Dim Date 计算].[当前 Dim Date], ParallelPeriod( [Dim Date].[层次结构].[年-层级], 1, [Dim Date].[层次结构].CurrentMember ) ) ; ( [Dim Date].[层次结构 Dim Date 计算].[年度同比增长量], [Dim Date].[年-层级].[年-层级].Members ( 0 ), [Dim Date].[Date Key].Members ) = Null ; End Scope ; /* 结束 [Dim Date].[层次结构] 层次结构的时间智能脚本。 */
然后,部署项目,浏览数据:可以简单的看到年度的增长率和增长量已经自动的计算出来了。
三、服务器时间维度和维度智能
服务器时间维度,一般来说就是,新建维度的时候,你的DW中并没有对应的时间维度表,就可以采取这种做法来替代时间维度,步骤很简单:新建维度,选择服务器时间维度即可,简单的设置选择,然后一路下一步,最终完成是这样子的:
下面我们可以部署处理项目,然后浏览基于服务器时间的时间维度中的数据:这种方法有时候是可取的,这个用法具体使用方法,在使用时候具体讨论。这里不多说。
维度智能,其实说的是添加商业智能的时候,选择维度智能,也就自定义要添加的维度如何按照自己的需求实现智能,毕竟内置的商业智能使用范围有限。我们在添加商业智能的时候,除了上面说的几种智能维度,还有其他的智能维度,大致的思路都是一样,知识具体实现的过程不一;终究目的都是将维度根据自己的意愿实现所谓的智能化。