[分享]微软BI专题-BI系统中财务领域的几个问题

  在财务领域,公司都要做许多报表。与财务科目相关的其它维度,如机构(或子公司、部门等)、时间、业务线等都需要关联起来,用户可以利用多维数据集的特性进行钻取、切片等操作,并交叉查询其想获取的信息。除遵循多维数据集系统财务领域的特点外,还需要根据公司的一些特殊要求做特别设计。

      不同财年组织架构查看数据的DW设计在项目实现的过程中,客户提出要实现可以选择不同财年的组织架构查看历史数据。也就是说,每个财年公司的组织结构会发生变化,而用户可以选择某财年(例如2008财年)的组织架构浏览以往所有的历史数据。举例说明,某公司在全国有销售数据。公司维度里,A分公司在2007年属于B总公司,而在2008年又隶属于C总公司。也会出现2008年有新公司建立,这样就会出现如图1所示的情况。

      在图1中,A分公司在2008年属于了C总公司,2008年C总公司下增加了一个新公司D3分公司。

      多对多关系设计 在数据仓库里就需要设计多对多的关系。事实表里存储的是分公司级别的数据,分公司独立为一个维度表,不同财年下公司的隶属关系又是一个平衡层次的维度表,二者还需要一个事实表罗列二表之间的连接关系。表结构可以简单如图2所示。

      在图2中,表【FactSales】存储的是分公司级的数据,表【DimGeoBranch】存储的仅仅是分公司的信息,表【DimGeography】存储的是分公司在不同财年下的隶属关系,表【FactBranch_Geog raphy】中存储了【DimGeoBranch】和【DimGeography】之间的关系。

      AS里设置 在AS的开发环境里,在【Dimension Usage】的设置见图3。

      这样就可以在浏览数据的时候选择不同的财年组织架构浏览所有的历史数据,见图4,其中作为示范把内蒙古划为了东北分区。

      注意要点:
1、确保每个财年下总的数据相等,在图4中Total值在2007年和2008年都是254,632,122.96;
2、如某个分公司在某财年下没有隶属上级,则要把它归为N/A,例如D3分公司在2007年就要归为N/A。用户选择特定的财年架构,就可以查看感兴趣的该财年架构下的数据了,如图5。(提示:不要混淆财年架构里的财年的概念与时间维度里年的概念。)

      财务月的Excel文档处理方法
      BI 项目中许多情况下会有很多数据源是以Excel文件形式记录的,并且数据记录的日期范围不是按照自然月记录,而是根据公司的财务月记录数据,例如:1月26日至2月25日的数据归属于财务月2月。

      如果文件是按月记录,即每个财务月的数据记录在一个文件中。当我们处理文件的时候就会存在这样的问题:
1、1月25日,需要处理为财务月1月的数据文件;
2、1月26日,需要处理为财务月2月的数据文件;
3、财务月2月可能会处理财务月1月的数据文件;
4、财务月的划分区间有可能会改变。

      下面,以SA部门的礼品派送信息表为例进行说明,并以此为例对礼品库存信息进行简单介绍。

      对于以上几点问题,每次处理三个月的数据文件,即上月文件、本月文件、下月文件;并分别存放在硬盘的三个目录中,这里我们将文件分别存放在D:/Excel/SA/下的lastmonth、thismonth、
nextmonth三个目录中,基于这样处理文件的思路,可对文件进行以下的操作:

  • 文件路径 Excel文件是存放在客户的公共硬盘上,为便于文件路径的修改,可将文件路径记录在一个固定的Excel文件中,在ETL过程中再将路径数据导入数据库。
  • 修改文件属性 从公共硬盘上复制的文件,在多数情况下带有属性,这样就存在覆盖文件出错的问题。因此,需要对文件的属性进行处理。可使用IS的“文件系统任务”控件,将文件的Hidden、ReadOnly、System属性设置为False;为了防止文件不存在造成错误,可使用“Foreach 循环容器”控件检查文件是否存在,并进行约束处理。如图6所示。

  • 复制文件 由于文件的具体目录和文件名称是根据年份或月份变化的,这里可使用“Foreach 循环容器”控件分别设置文件的文件夹(Directory)属性和文件(FileSpec)属性,将文件的详细路径记录在变量中,并再次使用“文件系统任务”控件复制文件至本地服务器的指定目录中。如图7所示。

  • 处理文件 为防止文件不存在造成错误,在处理文件之前可使用“Foreach 循环容器”控件判断文件是否存在,并进行约束处理,当文件存在时才进行处理操作。如图8所示。

    对以上过程的说明:
1、修改文件属性、复制文件、处理文件的过程均是分别对上月、本月、下月三个文件夹下的文件进行处理。
2、修改文件属性的三个处理过程是并行进行的,防止文件不存在的时候出现不能继续执行下个过程的问题。
3、防止文件不存在的时候出现不能继续执行下个过程的问题,可将处理文件过程中的三个文件处理过程分别放在三个“序列容器”控件中。
4、处理文件过程中,由于Excel数据源本身的问题,需要采取增量更新的方式;这里我们需要在数据库表中增加“日期标志”(Date_Mark)字段,格式:年(4位)-月(1位或2位)(例如:2008-1,2008-12),记录数据所属的文档,在后续的处理中可根据此标志位删除数据,实现整份文件的增量更新。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值