再次突破!
几周前我和我爸爸聊天。 没有和他约会,但他一直在使用联合管理计划从1.0版本开始。 我记得当我第一次学习使用鼠标时,看到 3.5 英寸光盘放在我们的 Mac II-se 旁边。 同一台机器还在亚利桑那州图森举行的 2019 年探索峰会上展出。 这是它的图片:

不管怎样,我和我爸爸正在讨论我的第一个五件事博客系列。 他提到他希望有人写一个关于如何开始在 JMP 中编写脚本的系列文章。 当时,我已经在写其他一些文章了,所以我把它收起来以供将来的项目使用。 然而,生活却另有计划。 一周后,我被要求帮助进行客户演示,令我惊讶的是,他们希望我介绍的主题之一是脚本编写简介! 显然,宇宙喜欢笑话。
无论如何,我们又来了! 按照我的第一个五件事系列的格式,以下是我认为每个人在开始编写脚本时都应该知道的五件事。 首先,一个概念性的想法。
看到需求,满足需求
在开始编写脚本之前,您需要考虑需求。 如果你想编写脚本,很可能是有某种原因的。 也许您这样做是为了让自己的工作更有效率。 也许您正在寻求标准化团队的分析方法。 或者事实上,您可能是那些少数决定因为笑容和咯咯笑而选择它的人之一。 这些都不是坏原因,尽管最后一个可能会让事情变得更加困难(我稍后会解释原因)。 关键是你的脑海中应该有一个理由和你的第一个脚本的具体目的。
有脚本,然后有脚本
无论如何,在我看来,有两种不同类型的脚本:作用于现有数据的脚本和创建数据的脚本。 用于处理现有数据的脚本与 JMP 中的数据表和现有平台进行交互,以创建新的用户定义的输出。 这些可以像在多个报表周围包裹一个窗口一样简单,也可以像在“App 开发器”中自定义构建的报表一样复杂。 关键的共同点是像这样的脚本修改现有内容。
第二组是创建数据的脚本。 创建数据的脚本可以是模拟工具、自定义图形、管理 JMP 文件中元数据的工具等。这组脚本有点模糊,但共同的主题是脚本以超出丰富现有数据或分析的方式扩展 JMP。 大多数时候,这些脚本将创建新内容从头开始。
当人们考虑学习 JMP 脚本语言 (JSL) 时,通常会从修改现有内容的脚本开始。 这也是我们要开始讨论的地方。 那么,让我们退后一步思考一下您为什么对学习 JSL 感兴趣。
给我一句话,瓦西里。 请只说一句话。
花点时间想想你的需要。 您希望通过 JSL 解决哪个痛点? 您现在明白为什么编写笑容和咯咯笑的脚本(至少一开始是这样)会很棘手吗? 如果你有理由达到顶峰,你就更有可能克服学习曲线。 我并不是说你不能选择 JSL,只是说如果没有额外的动力,战斗会更加困难。
下一步,也是我们将在本集中介绍的最后一步,就是您如何满足这一需求。 简单的答案是您要做两件事。 首先,您将把驱使您学习 JSL 的想法(可能是模糊的)写成一个句子——一个问题陈述。 而且,我的意思只是一句话。 确保你能够将这个想法具体化为你可以构建的有形的东西。 它还将有助于控制范围蔓延。 这里有些例子:
- 我想将每周报告的所有图表生成自动化到一个脚本中。
- 我想自动化客户提供的数据表的格式化工作。
- 我想从工厂计算机系统提供的数据文件生成一组控制图。
请注意,我不是在谈论细节;而是在谈论细节。我只是简单地阐述一下让我关注 JSL 的痛点。 然后我就不再写作了。
列出你的待办事项清单
有你的问题陈述吗? 好的! 现在我们将为您的脚本编写一系列具体的可交付成果。 它将成为我们的遗留问题清单,帮助我们找到 SAS 为学习 JSL 提供的资源。 不要专门列出任何图形用户界面 (GUI) 或用户界面 (UI)。 列出脚本需要执行的操作。 以下是上述问题陈述的示例:
问题陈述1:我想将每周报告的所有图表生成自动化到一个脚本中。
遗留问题清单:
- 从我们的生产数据库中提取包含过去三周数据的数据集。
- 为我的产品制作时间与温度的图表。
- 使用多项式模型运行时间与温度的分析。
- 将图表和报告导出到 PowerPoint 文件。
问题陈述2:我想自动化客户提供的数据表的格式化工作。
遗留问题清单:
- 根据内部标准重命名列(使用规范中的表)。
- 将单位分配给所需的列(使用规格中的表格)。
- 将纬度和经度转换为地理坐标。
- 改变有缺陷的单位专栏来自连续的到序数。
问题陈述3:我想从工厂计算机系统提供的数据文件生成一组控制图。
遗留问题清单:
- 从网络位置导入数据。
- 指定规格限制。
- 构建控制图。
请注意,我并没有过多地限制自己。 我只是在列出我需要脚本完成的事情的清单。 由于我假设您以前从未使用过 JSL,因此我还假设您不知道将如何解决这些问题。 通过写下来,您就知道需要在帮助和资源中寻找什么。 这就是我将在本系列的下一部分中讨论的内容。
本周的总结
由于这个系列将持续几周的时间,我决定让它更像是一个合作系列,而不是你刚刚读过的东西。 因此,请将我提出的最后几点作为家庭作业。 如果您想要一些责任或反馈,请将它们放在下面的评论中。 如果我能提供帮助,我会插话,或者让你知道,如果你以后可能会给自己带来一些麻烦。
要获得奖励积分,请在 JMP 中打开脚本窗口(文件>新建>脚本)并将问题陈述和项目符号点放入脚本窗口中,每行一个,在行开头有一个双正斜杠(“//”)。 您可能会在 JSL 脚本编辑器中看到这些行的文本颜色变为绿色。 我们将在下一集中介绍您刚刚所做的事情。
哦,如果你想知道瓦西里是谁以及为什么他应该给你一个单一的句子,请看看这里。
好主意! 请参阅本系列的第 2 部分以获取一些其他帮助:我希望在开始编写脚本时知道的第二件事:获得帮助
最好的,
中号
好主意;心存善念;睿智哲思。用于学习 JMP,新版本跳转到 JMP 脚本编写,墨菲和卢卡斯对我很有帮助。