商业智能添加维度智能简介
本人认为本文涉及的知识并不常用,可以作为了解参考即可。
一、账户智能
前面几个文章有提到过,设置自定义的维度,其中就是一个类似于账号的维度,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中并没有对应的时间维度表,就可以采取这种做法来替代时间维度,步骤很简单:新建维度,选择服务器时间维度即可,简单的设置选择,然后一路下一步,最终完成是这样子的:
下面我们可以部署处理项目,然后浏览基于服务器时间的时间维度中的数据:这种方法有时候是可取的,这个用法具体使用方法,在使用时候具体讨论。这里不多说。
维度智能,其实说的是添加商业智能的时候,选择维度智能,也就自定义要添加的维度如何按照自己的需求实现智能,毕竟内置的商业智能使用范围有限。我们在添加商业智能的时候,除了上面说的几种智能维度,还有其他的智能维度,大致的思路都是一样,知识具体实现的过程不一;终究目的都是将维度根据自己的意愿实现所谓的智能化。