YonBIP高级版设置按客商依次显示科目余额的明细表罗嘉1.问题描述项目已经设计了客商作为可变维的明细表,希望在此基础上显示指定科目,如:112401,112402…等指定科目的总账数据,并且需要按照排序依次列示,应该如何实现?2.解决方案2.1.新增基础档案新增一个集团级的自定义档案(这里取名叫“自定义科目”),将需要取数的科目编码都加进去。2.2.维护辅助维档案辅助维里,新增和自定义档案相同的会计科目。增加后记得到维度管理节点,“刷新”维度信息。2.3.设计语义模型新增语义模型,分别取自定义档案和客商。取自定义档案的方法是:直接选元数据,选择第一步新增加的自定义项目的编码和名称即可。考虑到需要计算的是客商和自定义科目的笛卡尔积,所以为了提供客商的取数效率,采用语义脚本方式增加。该脚本可以过滤出组织在总账使用过的客商编码。selectdistinctf4,bd_cust_supplier.code,bd_cust_supplier.namefromgl_docfree1innerjoingl_detailongl_detail.assid=gl_docfree1.assidinnerjoinorg_orgsonorg_orgs.pk_org=gl_detail.pk_orginnerjoinbd_cust_supplieronbd_cust_supplier.pk_cust_sup=gl_docfree1.f4wheref4<>'~'andf4<>'NN/A'andorg_orgs.code=parameter('CWZZ')查询参数设置编码参照“财务组织”即可。连接条件里,选择两个表的主键互相不相等。选择两个表的编码和名称。筛选里的内容是加入自定义项目时自动加上的,不用修改。按所需要求排序。这里是按客商编码先排序,然后再按档案编码排序。测试语义模型,数据展示的是该组织的客商数据,并且已经按客商编码、档案编码排序。2.4.设计集团报表表样重新设计表样,加入辅助维作为行维度,指标仍然是列维度不用修改。设置浮动区时,客商和辅助维都是可变维。将辅助维的浮动范围设置一下。(也可以不设置。这里设置的目的是提高效率,避免错误)。2.5.设置集团报表公式在UFO公式编辑里,选择“客商”的浮动区单元格,设置用getdata函数取语义模型的客商编码和档案编码。语义模型选择第二步维护的语义模型的名字。字段顺序是根据表样关键字的前后顺序选择的。通过上移、下移调整。取数条件留空,模型参数按编码参照,参数值选@ENTITY。在报表数据中心测试计算,可变维展示内容和语义模型一致。之后的取数公式和单个可变维的明细表设置方法基本一样。这里只是将会计科目参数也设置宏变量替换就可以了,以下是设置参考。GLOpenBal('@ASSDIM','','','[客商=@BM_CUST]','借','本币','Y','@ENTITY','账簿本币','0001','','','','')3.注意事项1)根据需要设计语义模型2.2章节设计语义模型,可以根据项目需要设计脚本取得数据。如果是离散值,那么可以参照2.1的方法自建基础档案。比如案例里可变维是辅助维,那么可以直接设计语义模型从辅助维取得科目维度。执行的效果也是一样。2)根据需求设计表样2.4章节设计报表表样,指标不一定要是列维度,根据项目场景灵活应用。