设为首页收藏本站

JMP数据分析论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 2970|回复: 10
打印 上一主题 下一主题

JMP多种条件筛选的JSL(脚本语言)

  [复制链接]
跳转到指定楼层
楼主
发表于 2017-12-30 17:03:07 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 rocluo5566 于 2017-12-30 17:04 编辑

      条条大路通罗马。原来同一件事情,JMP可以有多种格式的脚本语言进行多种条件的筛选。如下截图是处理股市大数据筛选的3种格式的JSL,均可以达到一致的筛选结果。原来JMP的脚本语言学习也并不难。

      如下JSL供有兴趣的学习参考。

      dt << New Column( "是否变强势",Character, Formula(If( :新股次新 == "不是",If( :振荡幅度 >= 90,If( :最近涨幅 >= 15,If( :涨跌幅度 >= -20,If( Contains( :名称, "ST"),"no","Yes"),"no"),"no"),"no"),If( :新股次新 =="次新股",If( :振荡幅度 >= 90,If( :最近涨幅 >= 15,If( :涨跌幅度 >= -20,"Yes","no"),"no"),"no"),"no"))));


sortedDt= dt << Sort( By( :最近涨幅, :现跌幅), Order( Descending,Ascending ),output table name( "最近涨幅降序" ) , invisible);
dt = Current Data Table();
dt << Delete Rows( 50 :: 3477);
dt<< Select Where( 15 < :最近涨幅 <= 100;   -15 <:涨跌幅度 <= 100);  m = dt << Subset( Output Table Name("JMP:反弹先锋)" ) );



dt<< Select Where( 110< :振荡幅度 <= 150;   100<:涨跌幅度 <= 160); m = dt<< Subset( Output Table Name( "JMP:反弹先锋"), invisible);
dt = Current Data Table();
dt<< Select Where( :现跌幅<= -20 );  m = dt << Subset( Output Table Name("JMP:N反弹先锋") );


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
分享到:  !connect_viewthread_share_to_qq!!connect_viewthread_share_to_qq! QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 转播转播 分享分享 分享淘帖 支持支持1 反对反对
回复

使用道具 举报

沙发
发表于 2018-1-2 10:34:38 | 只看该作者
大过节的还在学习JSL,手动点赞! 新的一年开工大吉!继续与大家一起加油学习!
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2018-1-2 10:46:47 | 只看该作者
admin 发表于 2018-1-2 10:34
大过节的还在学习JSL,手动点赞! 新的一年开工大吉!继续与大家一起加油学习!

个人目前最大的爱好就是学习JMP的高级功能JSL,还真是乐在其中,感恩JMP带来的工作与学习乐趣,并使功效提升百倍、乃至上千倍。放在以前真是不可想象。希望愈来愈多的人喜欢JMP、并能应用到所有的日常工作与学习中。
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2018-1-7 14:13:33 | 只看该作者
本帖最后由 rocluo5566 于 2018-1-7 17:23 编辑

附图左下角是10种筛选条件的JSL(上部为公式编辑器对于的内容格式),结果在3000多只标的中,涉及多达10万级别的数据,3秒就能选择符合条件的标的(结果只有3只)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

5#
发表于 2018-1-19 13:03:49 | 只看该作者
赞!值得学习
回复 支持 反对

使用道具 举报

6#
发表于 2018-1-21 12:28:35 | 只看该作者
有个问题请想请教一下
如何if语句是如何让2个或2个以上条件同时满足?
我有个添付资料 能不能帮我看下?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2018-1-21 13:37:31 | 只看该作者
wangtian4625 发表于 2018-1-21 12:28
有个问题请想请教一下
如何if语句是如何让2个或2个以上条件同时满足?
我有个添付资料 能不能帮我看下?
...

If( :异常名称 == "E小(A)",
        "E",
        If( :异常名称 == "E大", "E", "裂纹" )
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2018-1-21 13:38:59 | 只看该作者
用JMP公式函数编辑器,多重选择都能轻松搞定。
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2018-1-21 14:10:47 | 只看该作者
本帖最后由 rocluo5566 于 2018-1-21 14:14 编辑

刚开始因添加了*字符,简化的If语句未能达成目的,后来用如图所示的JSL(不带*字符),方能正确进行所需的分类。

If( Contains( :异常名称, "裂" ),
        "裂纹",
        "E"
)



If( Contains( :异常名称, "E" ),
        "E",
        "裂纹"
)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复 支持 反对

使用道具 举报

10#
发表于 2018-1-22 18:54:07 | 只看该作者
我已学会 非常感谢
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|JMP数据分析论坛 ( 沪ICP备13022603号-2 )  

GMT+8, 2024-5-6 04:31 , Processed in 0.430347 second(s), 16 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表