帆软社区
首页
服务平台
文档
学院
问答
论坛
认证
招聘
任务
市场
登录
请
登录
后使用快捷导航
没有帐号?
立即注册
用户操作
任务管理
我的任务
详情
摇摇乐
大转盘
许愿墙
积分商城
每日签到
设置
我的收藏
退出
腾讯QQ
微信登录
提问
针对SWITH函数的增强
番薯交流
发表于 2020-9-27 14:28
关注主题
取消关注
最新回复
取消
置顶回复
取消
最新编辑
楼主
x1205607030
Lv5
当前离线
经验值
1393
|
F豆
657 个
|
F币
0 元
贡献
0
|
最后登录
2025-2-17
加为好友
发送消息
x1205607030
Lv5
关注ta
我是社区第429104位番薯,欢迎点我头像关注我哦~
package
plus;
import
com.fr.function.SWITCH;
import
com.fr.general.ComparatorUtils;
import
com.fr.script.Calculator;
import
com.fr.stable.Primitive;
import
com.fr.stable.UtilEvalError;
import
com.fr.stable.script.Node;
public class
SwitchExtension
extends
SWITCH {
@Override
public
Object evalExpression(Node[] args)
throws
UtilEvalError {
if
(args.
length
<
2
) {
return
Primitive.
ERROR_NAME
;
}
else
{
Calculator calculator =
this
.getCalculator();
Object cal = calculator.evalValue(args[
0
]);
int
argsLength=args.
length
;
for
(
int
i =
1
; i < (argsLength%
2
==
0
?argsLength-
1
:argsLength); i +=
2
) {//新增判断是否有默认值
Object var5 = calculator.evalValue(args
);
if
(ComparatorUtils.
equals
(cal, var5) && i +
1
< args.
length
) {
return
calculator.eval(args[i +
1
]);
}
}
if
(argsLength%
2
==
0
) {
return
calculator.eval(args[argsLength-
1
]);//无符合条件的结果情况下且有默认值则采用默认值
}
return
Primitive.
NULL
;
}
}
}
0
0
分享扩散:
举报
沙发
x1205607030
Lv5
当前离线
经验值
1393
|
F豆
657 个
|
F币
0 元
贡献
0
|
最后登录
2025-2-17
加为好友
发送消息
x1205607030
Lv5
关注ta
发表于 2020-9-27 14:33:35
用法参照
https://help.fanruan.com/finereport/doc-view-698.html
中的3.3
示例:switchplus(表达式,结果1,值2,结果2...[,默认值])
如果表达式的结果是值1,整个函数返回结果1
如果表达式的结果是值2,整个函数返回结果2
如果表达式的结果是值3,整个函数返回结果3等等
如果无相符的结果且有默认值,则返回默认值
赞
举报
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
1
回帖数
1
关注人数
4666
浏览人数
最后回复于:
2020-9-27 14:33
任务进行中
话题进行中...
学习心得
浏览数:47
建立了mysql与finereport的连接,配置数据集报错,但是sql语句在mysql中是可以运行的
浏览数:114
瑟尚See Digital|看这家MCN企业如何通过30+看板全方位智能化数据管理
浏览数:140
FineReport有没有案例介入Deepseek
浏览数:190
数据分析学习感悟
浏览数:94
数据人才培训结业总结
浏览数:88
终于有人把数据中台、数据仓库、数据治理和主数据给讲明白了!
浏览数:232
BI数据分析从入门到精通实战班结业总结
浏览数:170
BI学习班结业总结
浏览数:210
组合图中折线图数据去空数据不显示,从而达到折线图出现断开效果实现
浏览数:163
主题链接
复制
返回顶部
返回列表