妥妥干货,如何通过SQL取个别报表(利润表)中的数据原创
金蝶云社区-张洁jerry_zhang
张洁jerry_zhang
11人赞赏了该文章 411次浏览 未经作者许可,禁止转载编辑于2023年08月30日 11:40:43

一、业务场景:

    希望从个别报表中,将利润表中的收入、成本、利润总额。以及资产负债表中的资产总额取值到轻分析报表中。

    (前提条件:要取值的报表单元格中,必须有项目公式。)

二、实现方案:

--先查询利润表中主营业务收入单元格,项目公式写的2005报表项目。那2005对应的就是主营业务收入

1、先查询出来这些报表项目在哪个实体数据表中存在

select ri.fname_l2,ifm.ftablename, ifm.ffieldname 

from T_CSL_RptItem ri 

inner join t_csl_itemfieldmapped ifm on ifm.fitemid=ri.fid

where ri.fnumber in ('2005','2004','200101','200102','200201','200202') 

结果是F105\F104中存在

2、然后将步骤1查询出的结果,放到下面的SQL中

select idata.F104 销售费用, idata.F105 管理费用, idata.F98 主营业务收入, idata.F99 其他业务收入, idata.F101 主营业务成本, idata.F102 其他业务成本

from (

SELECT cr.fid FROM T_CSL_CslReport AS cr 

inner join t_org_company AS bu ON cr.FOrgUnitID = bu.FID

WHERE 

cr.fyear=2021 -- 年份

and cr.fperiod=1 --月份

and bu.fnumber='10201' --公司编码

) report 

inner join t_csl_itemdata id on report.fid=id.fReportId

inner 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='AMOUNT'  --本期发生额、余额等和这里有关系










赞 11