YonBIP高级版指标误加科目维度属性后的脚本处理方法罗嘉1.问题描述和应用场景指标维度增加新的维度属性,来源基础档案如果选择“科目”的编码、名称等档案后,会导致企业绩效大部分功能无法使用。使用“科目”的档案作为维度属性,保存后来源基础档案这列会消失。影响范围很大,影响的范围主要有:1.规则成员节点,点击已有的规则成员报错:不能找到以下数据:【指标@MEASURE.XX(XXXX)】2.业务规则节点,查看规则报错:不能找到以下数据:【指标@MEASURE.XX(XXXX)】3.Excel表样设计节点,重新设计或者提交表样报错:后台出现预算运行异常:nc.vo.pub.BusinessException:不能找到以下数据:4.影响报表编制界面的打开。相关日志记录如下:#######:Unexpectederror,txwillrb!Info::loadAll::nc.itf.mdm.dim.IDimMemberLoadernc.vo.pub.BusinessException:不能找到以下数据:【指标@MEASURE.km(会计科目2)】atnc.vo.mdm.dim.DimDef.getMappedCol(DimDef.java:246)2.解决方案此类问题要删除新增的维度属性,通过以下脚本删除。--根据报错信息里的维度属性编码查询到维度属性表(tb_dimprop)和维度属性映射表(tb_dimpropmap)的主键,应该只查询到一条记录。selectpk_objfromtb_dimpropwherepropid='km';select*fromtb_dimpropmapWHEREpropid='km';--备份数据createtabletb_dimprop_bak0211asselect*fromtb_dimprop;createtabletb_dimpropmap_bak0211asselect*fromtb_dimpropmap;--根据查询结果,删除两张表里问题维度属性的数据。deleteFROMtb_dimpropWHEREpk_obj='1001T510000000028X0H';deleteFROMtb_dimpropmapWHEREpk_obj='1001T510000000028X0I';commit;通过脚本将数据删除后,在维度管理节点刷新。有问题的维度属性已经不存在了。3.注意事项本文中的报错信息是:不能找到以下数据:【指标@MEASURE.km(会计科目2)】。可以从中看出维度是指标,对应的维度属性是编码为km,名称是会计科目2的维度属性。其他同类问题也可以参考检查。