帆软社区
首页
服务平台
文档
学院
问答
论坛
认证
招聘
任务
市场
登录
请
登录
后使用快捷导航
没有帐号?
立即注册
用户操作
任务管理
我的任务
详情
门户
摇摇乐
大转盘
许愿墙
积分商城
每日签到
设置
我的收藏
退出
腾讯QQ
微信登录
提问
针对SWITH函数的增强
番薯交流
发表于 2020-9-27 14:28
关注主题
取消关注
最新回复
取消
置顶回复
取消
最新编辑
楼主
x1205607030
Lv5
当前离线
经验值
1379
|
F豆
645 个
|
F币
0 元
贡献
0
|
最后登录
2024-11-4
加为好友
发送消息
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
当前离线
经验值
1379
|
F豆
645 个
|
F币
0 元
贡献
0
|
最后登录
2024-11-4
加为好友
发送消息
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
关注人数
4176
浏览人数
最后回复于:
2020-9-27 14:33
任务进行中
话题进行中...
让数据成为生产力!第七届帆软上海用户大会圆满结束!
浏览数:17
数字能源·新质先锋|帆软能源行业数字化实战分享活动成功举办
浏览数:32
BI数据分析从入门到精通实战班学业总结
浏览数:123
我的帆软简道云之旅
浏览数:112
都快2025了,还不会搞智慧仓储的,快来看看这篇!
浏览数:391
什么是结构化、半结构化和非结构化数据?
浏览数:288
FineBI数据分析实战班 学习总结
浏览数:146
FineBI学习总结
浏览数:144
通过Finebi做好了一个可视化中台项目,我需要给JAVA前端同事提供什么样的信息?
浏览数:261
finebi学习小结
浏览数:154
主题链接
复制
返回顶部
返回列表