合并报表项目取数说明.

合并报表为了节省磁盘空间,服务端对项目数据存储采用了横表的方式,取数上有些复杂,特说明和示例如下:
 
比如要取2006年8月份、月报、币别编码为“001”的人民币、公司编码为“C01”的个别表资产负债表中,编码为“1001”的项目的本期发生数。
首先查找T_Csl_ItemFieldMapped
select a.FTableName,a.FFieldname from T_Csl_ItemFieldMapped a,T_Csl_RptItem b where a.FItemID=b.FID
and b.Fnumber='1001'
 
其中a.FTableName是编码为“1001”的项目的数据所在的表名(比如为T_Csl_ItemDataEntry001),a.FFieldname是字段名(比如为F1),a.FTableName所得的表是程序动态生成的,目前是一个表300个字段,当有301个项目时就会有两个表,601个项目时就有三个表,依此类推,表名分别为:T_Csl_ItemDataEntry001、T_Csl_ItemDataEntry002、T_Csl_ItemDataEntry003等等。
 
查询项目数据的Sql如下:
Select sum(D1.F1) From T_Csl_ItemData H,T_Csl_ItemDataEntry D,T_Csl_ItemDataEntry001 D1,T_Org_BaseUnit Company,T_Bd_Currency Cy
where H.FID=D.FItemDataID and D.FID=D1.FID and H.FCompanyID=company.Fid and H.FCurrencyID=Cy.Fid
and Company.FNumber='001' --公司
and Cy.FNumber='C01'   --币别
and H.FPeriodType=3    --月报
and H.FDataSource=1    --个别报表
and H.FCommitStatus=3   --已经集团确认的
and D.FDataElement=2   --本期发生数
and D.FValueType=1    --金额
and D.FYear=2006     --2006年
and D.FPeriod=8      --8月
<script language=JavaScript> </script>
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值