如何生成只显示最后 50 行数据的控制图

在上图中,左侧是包含我表中所有数据的默认图表,右侧是同一个表中的图表,仅显示最后 50 行。
在开始之前,我想添加两个简短的注释,它们在这里会有帮助。 首先,JSL 中有一个有用的小函数,叫做n行()。 此函数返回数据表中的行数。 其次,了解有关格式化控制图表的一些事情很有帮助:如果未指定轴标签,则它只是行号。 如果指定,但列数据类型为字符,则轴单位仍在行中,即使字符标签显示在图形上。 如果您不知道这一点,那么格式化控制图 x 轴可能会非常混乱。 例如,如果我的标签是一个包含日期及其字符的列,并且我尝试在 2 月 14 日添加一条参考线,我必须弄清楚哪一行与该日期匹配,以便在正确的位置获得参考线。 现在,如果日期列是数字,那么我会看到以年、月、日为单位的增量选项,如果我在 2 月 14 日添加参考线,我会喜欢我在图表上看到的结果。
首先,我需要一个控制图脚本来使用(我不是凭记忆输入它们,而是 JMP 为我编写的)。 制作一个控制图,只在图表的高低端稍微调整x轴,然后将脚本保存到脚本窗口。
Control Chart(
Group Size( 1 ),
KSigma( 3 ),
Chart Col( :Metric 1, Individual Measurement ),
SendToReport(
Dispatch(
{"Individual Measurement of Metric 1"},
"1",
ScaleBox,
{Min( -227.995207667732 ), Max( 4448.40549051231 ), Inc( 281 ),
Minor Ticks( 0 )}
)
)
);
我们需要编辑的位在 Dispatch 的底部,就在“秤博X”。 这个列表(它是一个列表,因为它在大括号 {} 中)包括最小轴设置、最大值和行增量。
要让此脚本仅显示最后 50 行数据,我需要用此列表替换该列表:
{Min( nrows()-50 ),Max( nrows()+2), Inc( 5 ) }
现在最大值是表中的行数,加上图形中的填充 2,这使得它看起来更好。 最小值是表末尾的 50,nrows() 减去 50。 increment 参数并不总是自动存在,因此请注意有时您可能需要自己添加它。 在这种情况下,每 5 行会有一个标签。 如果您指定了一个标签列,它将对应于每 5 行的标签。
最后一步是将此脚本保存回您的数据表,以便下周更新数据时,脚本已准备就绪。