如何在IBM DOORS中对两列数值做除法运算并计算百分比
IBM DOORS 百分比计算列实现方案
操作步骤
- 打开目标DOORS模块,点击顶部菜单栏
Insert→Layout Column - 在弹窗中为新列设置名称(比如完成率)、列宽,切换到
DXL选项卡 - 将下方DXL代码粘贴到编辑区域,替换代码中
attrA、attrB的取值为你实际的两列对应DOORS属性名:
// 此处替换为你要作为分子、分母的属性名 string attrA = "col1" string attrB = "col2" int a = 0 int b = 0 double percentage = 0.0 // 校验属性存在、分母不为0,避免运行报错 if(exists(obj, attrA) && exists(obj, attrB)) { a = (int obj.attrA) b = (int obj.attrB) if(b == 0) { display "无效值(分母为0)" } else { percentage = (a / (double)b) * 100 // %.2f代表保留2位小数,可按需调整为%.0f取整 display sprintf("%.2f%%", percentage) } } else { display "属性缺失" }
如果你要计算的两列是浮点数类型,将代码中
int a = 0、int b = 0修改为double a = 0.0、double b = 0.0即可。
- 点击
Apply预览计算结果,确认符合预期后点击OK完成列创建 - 如需长期保留该列,右键列头选择
Save View保存当前视图配置即可
可选扩展
如果需要将计算结果存储为固定属性而非实时计算的布局列,可新建对应类型的模块属性,运行批量DXL脚本将计算结果写入新属性即可。
内容的提问来源于stack exchange,提问作者Bhadri
相关产品推荐
相关产品推荐

