使用“IF”和质量控制编写公式大家好,
我对 JMP 还很陌生。 我发现我能够很好地编写公式,但现在想在 JMP 中编写一个更“高级”的公式。 这是公式:
A – B(如果 A >= B,则+1)
我应该添加这些日期(DDMYYY=2000 年 3 月 30 日),我需要这些数字来给出总天数的差异。 我在正确书写公式时遇到了很多麻烦。 插入括号并不容易,至少对我来说不容易。 我不理解“IF”逻辑比较。
下一个问题是,我如何进行 QC(质量控制)或双重检查方程式/我的工作?
非常感谢您的帮助。
回复:使用“IF”和质量控制编写公式尝试:
:A - :B + (:A >=B); //this adds 1 if A is A>=B and zero otherwise
此外,如果这些是日期,则包含减法公式的列的格式应为“持续时间天数”。 您可能还想研究功能下限和上限。
如果您使用的是 JMP 12 或更高版本,请从主菜单中选择帮助 > 脚本索引 > 选择类别函数 > 选择日期时间或搜索函数 Date Difference(),有 3 个示例显示不同的对齐选项。
回复:使用“IF”和质量控制编写公式这有效(见附件)!
我可以通过肉眼看到它是有效的,但是对于更大的数据集(这就是我正在研究的数据集),这会更困难。 我看到其他人推荐了分布或 y-vs-time,但是您将如何设置分布或 y-vs-time 来检查这项工作?
同样,这可能非常简单,但我对 JMP 很陌生,不知道从哪里开始。 谢谢!
回复:使用“IF”和质量控制编写公式谢谢你! 这将非常有帮助。
回复:使用“IF”和质量控制编写公式请参阅屏幕截图。
JSL: If( 日期差异( :A, :B, "日" ), 1, 0)
回复:使用“IF”和质量控制编写公式回到你原来的问题,如果你只是用这个公式怎么办:
A - B + If(A >= B, In Days( 1 ), 0 )
回复:使用“IF”和质量控制编写公式你是对的, A 和 B 是数字列。 格式为ddMonyyyy,宽度10,建模类型连续。
我需要发生的是两个日期(AB)之间存在差异。 使用日期差功能如上所述给我一个错误(不知道为什么)。 我发现如果我这样做:
(AB)/86400 我确实明白天数差异!
就你的观点而言,如果比。 如果 A 大于 B,我需要加一 (1)。 我尝试通过执行 ((AB)/86400)>0 来继续该公式,但结果只给出 0 或 1。 事实上我只需要它来给数字加 1。 例如:
A = 2000 年 3 月 2 日
B = 2000 年 3 月 30 日
那么(AB)/86400 就是-28。 现在我需要我的公式来简单地加一,因为 A 大于 B。
回复:使用“IF”和质量控制编写公式不要害怕,公式编辑器是你的朋友! 摘自之前在探索峰会上发表过演讲的人的话:
Discovery-Summit-2016:放弃 Excel-Hello-Formula-Editor
至于检查你的工作:分发你的新专栏。 绘图的更好做法是同时绘制输入变量,以便验证逻辑是否正确。 JMP 14 允许您在公式编辑器窗口底部预览结果(开发人员,这是一个很好的补充!)。 在这种情况下,公式非常简单。 我分析了大量时间序列过程数据(数千行压力、温度、流量等),并且必须编写公式来查找条件(P > x AND T > y)。 在这些情况下,我还将绘制输入和公式结果与时间戳的关系,以查看公式是否符合我的要求。
这是一个掌握 JMP 网络研讨会杰里·库珀(Jerry Cooper)(我在上面视频中的搭档)就这个主题进行了讨论
回复:使用“IF”和质量控制编写公式首先,我假设 A 和 B 是数字列,按照 JMP 的要求,日期存储为自 1904 年 1 月 1 日午夜以来的秒数。 您不能使用日期的字符串表示形式进行此计算。
其次,请参阅日期差异()功能。
那么如果 A >= B 的话你想要 1 吗? 如果比较错误,你想要什么结果?
你可以只使用日期差( A, B, "日" ) > 0如果您希望为真时为 1,为假时为 0。