学习笔记:U8资产负债表
1.分析U8数据库
U8内置的UFO报表模块可以直接通过QC("1001",全年,,,年,,) 这样的方式取数,比如使用关键字2019年1月,跟踪了一下,后台的SQL是
SELECT sum((CASE WHEN gl_accsum.cbegind_c<>N'贷' THEN gl_accsum.mb ELSE -gl_accsum.mb End)) as SumVal
FROM code INNER JOIN gl_accsum ON code.iYear = gl_accsum.iYear and code.ccode = gl_accsum.ccode and code.iYear=2019
WHERE gl_accsum.iYear=2019 and gl_accsum.iperiod=1 and gl_accsum.ccode = N'1001' 2.建立FR用的数据集
精简了一下数据集语句
select ccode,mb,md,mc,me,iyear,iperiod from GL_accsum where iyear =${iyear} and iperiod=${iperiod} and len(ccode)=4 order by ccodeccode,mb,md,mc,me,iyear,iperiod分别是科目编码,期初,本期借方,本期贷方,期末,年份,期间
资产负债表只需要用到一级科目,故对科目进行了过滤,只要4位的一级科目就行
数据集命名为gl_accsum
第1列为科目编码,第2列为期初金额,第5列为期末金额
3.建立资产负债表模板
复制demo中的资产负债表模板(demo-analytics-financial-资产负债表.cpt)
使用map函数取期初数公式
map(1001,"gl_accsum",1,2)+map(1002,"gl_accsum",1,2)使用map函数取期末数公式
map(1001,"gl_accsum",1,5)+map(1002,"gl_accsum",1,5)4.测试结果
FR取数结果如下
124703
UFO计算结果如下
124704
5.可提升部分
UFO报表在取数时候默认是要求凭证已经记账的,记账之后才会将数据写入gl_accsum表中,如果需要在未记账情况下输出资产负债表,那么需要调整数据集的取数SQL
可以通过参数控制取数年份及期间,目前还不会用FR,再学学之后可以补充
UFO报表对于辅助核算的科目取数不是很友好,只能逐个单元格编辑,不能批量填充,FR应该可以更快速的编制表样模板