zoukankan      html  css  js  c++  java
  • 商业智能添加维度智能简介

        本人认为本文涉及的知识并不常用,可以作为了解参考即可。

    一、账户智能

       前面几个文章有提到过,设置自定义的维度,其中就是一个类似于账号的维度,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中并没有对应的时间维度表,就可以采取这种做法来替代时间维度,步骤很简单:新建维度,选择服务器时间维度即可,简单的设置选择,然后一路下一步,最终完成是这样子的:

    下面我们可以部署处理项目,然后浏览基于服务器时间的时间维度中的数据:这种方法有时候是可取的,这个用法具体使用方法,在使用时候具体讨论。这里不多说。

     

        维度智能,其实说的是添加商业智能的时候,选择维度智能,也就自定义要添加的维度如何按照自己的需求实现智能,毕竟内置的商业智能使用范围有限。我们在添加商业智能的时候,除了上面说的几种智能维度,还有其他的智能维度,大致的思路都是一样,知识具体实现的过程不一;终究目的都是将维度根据自己的意愿实现所谓的智能化。

     

  • 相关阅读:
    Xamarin.Forms Layout Challenges – Social Network App(转载)
    Erlang gen_server:start_link/3 和gen_server:start_link/4
    Erlang 从URL中截取尾部文件名
    Erlang 聊天室程序(三) 数据交换格式json的decode
    SOCKS5协议
    Erlang 聊天室程序( 一)
    Erlang 聊天室程序(八) 主题房间supervisor 的使用
    Erlang 聊天室程序(四) 数据交换格式json的encode
    Erlide 的安装使用
    日志系统引起的争论
  • 原文地址:https://www.cnblogs.com/java-oracle/p/5463633.html
Copyright © 2011-2022 走看看