极速报表:常见问题
变更记录
产品版本 | 更新内容 | 更新日期 |
V4.0.020 | 初始版本 | 2022年05月12日 |
1 简介
本文主要列举一些开发人员(包括二开)在实际开发报表时,可能遇到的一些开发问题。后续根据问题的收录,会不断更新问题列表。
2 常见问题
2.1 加个算子要考虑什么
需要清楚算子的切入口是哪里,上一个算子输出什么,给下游数据输出什么。通过调试DataSetX可以知道每一步的表头是什么。
2.2 字段映射选不到要的字段
ID字段没法配置,应该考虑字段类型是否匹配,比如:文本字段要选数值字段是不允许,不让选的。多类别基础资料,需要选项顺序一致,比如:字段库配置的是(业务单元、客户、供应商),那么映射的单据也要是这顺序。
2.3 查询报缺字段
分清是元数据缺字段还是SQL缺字段,前者检查相关的元数据,后者检查后台物理表。
2.4 transFormAfterGroup后少字段了
和SQL的原理是一样的,GroupBY操作,SELECT的字段只能是KEY字段和聚合函数计算的字段。若想要实现保留非KEY字段,则使用自定义的GroupReduce函数来实现。
2.5 过滤时,数据源没有映射字段
假设某个单据有A、B、C字段,过滤条件缺有个D=xxx的条件。框架在处理时,默认会将这类条件转换为1=2,让数据不加载。若要忽略条件,可以使用kd.bplat.scmc.report.conf.SrcBlockConf#setAllowNotMatch(true) 设置特定的数据库。当缺少的字段,字段映射有配置默认值时,则会使用默认值来匹配条件。比如:默认值配置的是0,但是条件传的是D=1,那么数据就不加载。当传的是D=0或没有D条件时,数据会加载,查询到的D字段固定为默认值。
2.6 调试DataSetX为什么看不到数据
整个计算是流式的,数据不在内存中。所有的DataXTransform方法都是定义(好比监听器),需要在AlgoX任务commit后,才会真正被执行。因此在定义阶段看DataSetX肯定是没有数据一说的。
正确的调试方法是:
1)在DataXTransform断点,可以查看DataSetX每一步定义RowMeta(表头)是如何变化的。从而可以判断每个环节是否正确。
2)在算子的具体处理数据方法中断点,可以查看到进入算子的每一行数据。比如:GroupReduceFunction中的reduce方法。
2.7 本地环境AlgoX启动失败
参考:https://vip.kingdee.com/article/267025005265622272
极速报表:常见问题
本文2024-09-22 23:48:48发表“云星瀚知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-xinghan-135443.html