设为首页收藏本站

JMP数据分析论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

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

看来JSL的语法结构不是一成不变的

  [复制链接]
跳转到指定楼层
楼主
发表于 2018-8-16 16:56:22 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
这几天开始全面接触JSL,由于自己用惯VBA,觉得JSL的代码退缩、括号换行等很不适应,
将JSL代码按VBA的写法习惯来编写,试了几个效果是一致的。
就连公式也可按excel的公式习惯来进行
总体感觉还是VBA灵活,可能是我自己对JSL未熟悉的原因吧。

截图中的上、下代码是等效的


本帖子中包含更多资源

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

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

使用道具 举报

沙发
发表于 2018-8-16 18:28:49 | 只看该作者
JSL还是比较简单易懂的  ;另外JSL需要全部自己写  可以是系统直接生成   这比VBA好很多
回复 支持 反对

使用道具 举报

板凳
 楼主| 发表于 2018-8-17 09:41:14 | 只看该作者
呵呵,VBA也是绝大部分能通过录制宏得到,但录制的代码不是最理想的。

目前为止象VBA中字典方法,我在JSL中还是找不着北。

下面问题看看老师能否帮手解决,这问题用VBA的字典或高级筛选很易完成,但JMP好象要用"数据过滤器",
回复 支持 反对

使用道具 举报

地板
 楼主| 发表于 2018-8-17 09:57:51 | 只看该作者
例如以Big Class.jmp为例,先按年龄降序,将所含所有年龄段及对应所含人数筛选出来,再统计出按这个排序的前4个年龄段的人数总和
如图所示,说明这个"人数总和"可只在缓存中保存即可、不用在表中显示,
在jsl如何快速完成?我还是搞不定,谢谢!

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

5#
 楼主| 发表于 2018-8-17 10:01:03 | 只看该作者
用"数据过滤器"可得到下图效果,但如何提取其中的结果搞不懂,且它只能升序?麻烦老师指导,谢谢!

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

6#
 楼主| 发表于 2018-8-17 10:13:42 | 只看该作者
补充:这个"年龄"数值要求是按动态的来、否则直接写个 >=14 就很易了,谢谢!我多虑了
回复 支持 反对

使用道具 举报

7#
 楼主| 发表于 2018-8-17 11:48:17 | 只看该作者
dt << Summary( Group( :年龄 ), );
回复 支持 反对

使用道具 举报

8#
 楼主| 发表于 2018-8-17 11:56:47 | 只看该作者
本帖最后由 ak47ok 于 2018-8-17 12:03 编辑

用循环的方式不知如何进行?
回复 支持 反对

使用道具 举报

9#
 楼主| 发表于 2018-8-18 08:46:30 | 只看该作者
明白了,用了脚本索引,知道JSL的套路了。
回复 支持 反对

使用道具 举报

10#
发表于 2018-8-19 17:03:46 | 只看该作者
汇总后通过两步就可以实现。
1. 建立新列对年龄进行倒序编号。dt << new column("Rank", Formula(Col Rank(-:age) ) );
2. 计算前4的累计数量通过以下公式就可以得到  Col Sum( If( :Rank <= 4, :N Rows ) )
尝试看看是否可以
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-4-29 21:46 , Processed in 0.418821 second(s), 16 queries .

Powered by Discuz! X3

© 2001-2013 Comsenz Inc.

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