《最新EAS合并报表数据分析参考.doc》由会员分享,可在线阅读,更多相关《最新EAS合并报表数据分析参考.doc(22页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-dateEAS合并报表数据分析参考EAS合并报表数据分析参考EAS合并报表数据分析参考金蝶软件合肥分公司LE开发部 杨剑2010年9月1日1 文档说明本文档分析结果基于金蝶EAS6.0,是对EAS6.0中的合并报表的数据结构进行分析,分析结果主要是用于BI系统从EAS合并报表中获取数据,对于其他类似场合也具有参考意义。2 合并报表相关的基本概念2.1 合并报表的存储架构EAS
2、中的合并报表基本表是:t_csl_cslreport,在客户端打开一张合并报表可以看到,是一个类似Excel的表格,这张表格是以BLOB形式整个保存在FDATA字段中;另外为了统计分析的需要,EAS同时把表格中具有项目公式的数据,提取出来存储在另外一套数据表中,也就是下面我们要分析的数据表。2.2 合并范围定义报表合并的类别。功能位置:基础数据管理组织架构合并范围。对应的数据库表:T_ORG_Tree取数规则:select * from T_ORG_Tree where fstatus=1 and ftype=82.3 合并单元从组织的维度上定义报表合并单元和每个单元进行合并的组织。功能位置:
3、基础数据管理组织架构合并范围序时簿按钮“合并单元”。合并单元存储在组织单元表:T_ORG_BaseUnit,是一个在组织单元管理中不可见的虚组织。2.4 报表项目定义合并报表中的数据计算需要用到的项目,合并报表中的数据计算、存储、分析是按照项目来进行的。功能位置:财务会计合并报表系统设置报表项目。对应的数据库表:T_CSL_RptItem2.5 取数类型定义报表项目的数据计算类型,例如计算报表项目的期初数、期末数、本期发生数等等。功能位置:财务会计合并报表系统设置取数类型。对应的数据库表:T_CSL_DataElement2.6 个别报表各个财务组织各自制作的财务报表,它们是合并报表的原始数据
4、来源。2.7 项目公式在报表模板上,针对单元格进行设置,形如:Item(4001,0,0,AMOUNT,MONEY)对于个别报表来说,项目公式并不参与计算,只是以公式的形式,描述某个单元格数值的含义,以Item(4001,0,0,AMOUNT,MONEY)公式为例:它说明单元格里的数值的含义是编号4001报表项目的本期发生额的金额。对于合并报表来说,为单元格设置项目公式,在合并计算时,会按照项目公式从个别报表中提取数据进行计算。2.8 合并报表2.8.1 报表查询方法先选择合并范围:财务会计合并报表合并处理合并范围选择打开:财务会计合并报表合并处理合并报表示例:现金流量表查询结果2.8.2 报
5、表头描述报表的基本信息,对应的数据库表:t_csl_cslreport关键字段描述:ForgTreeID合并报表所属的合并范围IDForgUnitID合并报表所属的合并单元IDFtemplateID合并报表使用的报表模板IDFyear和fperiod报表期间2.8.3 报表层(Sheet)类似Excel表格,一个报表文件(记录)可以包含多个单张表格。对应的数据库表:t_csl_itemdata关键字段描述:fReportId所属的合并报表ID2.8.4 报表分录在前面的现金流量表示例中观察,直观的,我们可以把报表中所有本期金额当成是一条分录,所有的本年金额是另外一条分录,而分录的字段就是一个个
6、报表项目。对应的数据库表:t_csl_itemdataEntry关键字段描述:fItemDataId所属的Sheet IDfDataElement分录的取数类型,对应T_CSL_DataElement表的FinterSeq字段2.9 项目存储映射表对应的数据库表:t_csl_itemfieldmapped,它描述的信息是:每个报表项目,在储存其报表数据时,是在哪一个数据表的哪一个字段关键字段描述:fItemId报表项目IDFtableName报表项目的数据存储的数据表名FFieldName报表项目的数据存储的字段名2.10 报表分录数据表实际储存的数据表是:T_CSL_ItemDataEntr
7、y001,T_CSL_ItemDataEntry002,T_CSL_ItemDataEntry003,这几张表的数据结构类似,如下:关键字段描述:FID合并报表分录(t_csl_itemdataEntry)ID3 数据抽取3.1 定位和获取合并报表所需参数:合并范围编码,合并单元编码,合并报表模板编码,年份,月份(期间)SELECT ot.*FROM T_CSL_CslReport AS crinner join T_ORG_BaseUnit AS bu ON cr.FOrgUnitID = bu.FIDinner join T_ORG_Tree AS ot ON cr.FOrgTreeID
8、= ot.FIDinner join T_RPT_Template AS tem ON cr.FTemplateID = tem.FIDWHERE cr.FSourceType IN (12, 3) AND cr.FAdjustStatus = 0and ot.fnumber=01-合并范围编码and bu.fnumber=01.01-合并单元编码and tem.FNumber=HB001-合并报表模板编码and cr.fyear=2010-年份and cr.fperiod=6-月份(期间)3.2 获取报表项目对应的存储位置所需参数:报表项目编码select ifm.ftablename, i
9、fm.ffieldname from T_CSL_RptItem ri inner join t_csl_itemfieldmapped ifm on ifm.fitemid=ri.fidwhere ri.fnumber=10053.3 抽取所需的数据所需参数:合并范围编码,合并单元编码,合并报表模板编码,年份,月份(期间), 报表项目编码。代码中红色部分,是需要实际取数时,根据3.2项查询结果进行变动的select idata.f5from (-定位一张合并报表SELECT cr.fidFROM T_CSL_CslReport AS cr inner join T_ORG_BaseUnit
10、AS bu ON cr.FOrgUnitID = bu.FIDinner join T_ORG_Tree AS ot ON cr.FOrgTreeID = ot.FIDinner join T_RPT_Template AS tem ON cr.FTemplateID = tem.FIDWHERE cr.FSourceType IN (12, 3) AND cr.FAdjustStatus = 0and ot.fnumber=01- 合并范围编码and bu.fnumber=01-01- 合并单元编码and tem.FNumber=HB001- 合并报表模板编码and cr.fyear=201
11、0- 年份and cr.fperiod=6- 月份(期间)) report inner join t_csl_itemdata id on report.fid=id.fReportId- 连接sheetinner join t_csl_itemdataEntry ide on id.fid=ide.fItemDataId- 连接分录inner join T_CSL_DataElement de on ide.fDataElement=de.fInterSeq- 连接取数公式inner join T_CSL_ItemDataEntry001 idata on ide.fid=idata.fid- 连接项目公式where de.fnumber=ENDBALANCE- 取数公式编码3.4 汇总报表数据抽取数据存储方式和抽取方法和合并报表一致,只需要修改过滤条件:cr.FSourceType IN (12, 3) 改为 cr.FSourceType IN (2)-