财务报表如何直接取数?

前言

  目前数据分析用的企业也开始变多,对数据这块,企业的重视程度也随之变高了。一家客户需要搭建BI系统进行企业展板,需要从EAS财务模块提取数据。起初,我以为那些根据模板及项目公式进行财务数据展示的,数据是不进行存储的,结果,打脸了,啪啪啪的。哎,它进行了存储。在合并报表中存储了相应数据,在报表系统中没有进行存储。

  获取的过程

1、项目公式
=Item("2001",0,0,"AMOUNT","MONEY")
2、获取报表项目的id
select fid from t_csl_rptitem where fnumber='2001' --c0746c51-00fd-1000-e000-29c1c0a8100d237A9505
3、获取取数类型内码
select finterseq from t_csl_dataelement where fnumber='AMOUNT' --2
4、通过报表项目id获取该报表项目的存储映射关系,存储表名,字段名
select Ftablename,FFieldName from t_csl_itemfieldmapped where fitemid='c0746c51-00fd-1000-e000-29c1c0a8100d237A9505' 
5、通过报表id(注意是t_csl_cslreport下的报表id,如果是报表系统做的,需找到合并报表系统报表id)获取关联itemdata子表的外键即FID,该表里面包含币别、公司等信息
select * from t_csl_itemdata where freportid='FfIaegEYEADgEbRLCqgE+rcS6iw=' --15f21a7a-0118-1000-e011-b44e0aa804fa
6、通过上表查询FID获取该报表所对应的项目数据关系横表,该表以取数类型、值类型、年和期为维度,确认该单元格的唯一的一个FID值
select  * from t_csl_itemdataentry where fitemdataid='15f21a7a-0118-1000-e011-b44e0aa804fa' and fvaluetype=1 and fdataelement = 2 and fyear = 2008 --15f21a7a-0118-1000-e011-b44f0aa804fa
7、通过步骤4获取的映射表名、字段名加上步骤6获取的ID值最终取得存储值。
select F68 from t_csl_itemdataentry001 where fid='15f21a7a-0118-1000-e011-b44f0aa804fa'

  参考文件:报表数据存储结构说明

原文地址:https://www.cnblogs.com/lyc-smile/p/9105472.html