如何在Jaspersoft Studio中将Yes/No文本值转换为整数
解决BDD中Yes/No转整数求和的问题
核心问题大概率是变量数据类型设置错误,或者表达式返回值仍被识别为文本类型,按以下步骤调整:
1. 确认变量类型
把用来存储转换后数值的变量,必须设置为整数/数值类型(不能是字符串/文本类型)。如果变量是文本类型,哪怕你存的是"1"或"0",求和时依然会被判定为文本,触发「无法对文本值求和」的错误。
2. 修正转换表达式
针对Yes/No转1/0的场景,用以下简洁且有效的表达式:
基础写法(适配多数BDD工具的语法):
IF(data == "Yes", 1, 0)注:部分工具里相等判断用
=而非==,如果上面的写法报错,换成IF(data="Yes",1,0)。带空值兜底的写法(避免非Yes/No值导致异常):
IF(data == "Yes", 1, IF(data == "No", 0, 0))
3. 初始值表达式修正
你之前的初始值写法存在语法错误,直接设置为0即可;如果需要基于初始数据判断,用:
data.getValue().equals("Yes") ? 1 : 0
4. 验证步骤
- 保存变量设置后,预览转换后的数据,确认列中显示的是数字1/0(而非带引号的文本)。
- 尝试求和操作,此时应该不会再触发文本求和的错误。
内容的提问来源于stack exchange,提问作者Yakapave
相关产品推荐
相关产品推荐

