脚本,专门用于自动绘制过去 30 天的数据图表脚本新手,使用 JMP 16,寻求帮助绘制最近 30 天的数据(从今天开始)。
目前使用本地数据过滤器和选择点,但必须有更好的方法将其添加到脚本中,请告知。
谢谢!
Local Data Filter(
Auto clear( 1 ),
Add Filter(
columns( :Recipe, :Date ),
Where(
:Date == {"220509", "220511", "220513", "220516", "220517", "220524",
"220526", "220531", "220602", "220608", "220613", "220614", "220616",
"220620", "220621", "220713", "220718", "220719"}
),
Display( :Recipe, N Items( 15 ) ),
Display( :Date, N Items( 15 ), Find( Set Text( "" ) ) )
)自动化和脚本编写消费者和市场研究内容组织数据探索和可视化大规模定制回复:脚本,专门用于自动绘制过去 30 天的数据图表(向@tx尼尔森因为我之前打开了讨论窗口,没有看到他的回复。)
让我们重新开始。 我将为转换后的日期值(数字)添加一个数据列,并保留原始日期值(字符)不变。 所以现在的数据表可能如下所示:

新日期列是格式化为日期的数值。 请参阅此对话框以了解新数据列的属性:

一个简单的公式可以解构原始字符串以构建正确的 JMP 时间值:

现在使用新日期代替日期作为过滤器。 该列是否被锁定并不重要。
回复:脚本,专门用于自动绘制过去 30 天的数据图表表是如何创建的?用于创建表的平台很多时候都有链接/锁定新表的选项。如果是这样,请更改表创建中的链接。
回复:脚本,专门用于自动绘制过去 30 天的数据图表未选择“锁定数据表”。 我尝试在有选择和没有选择的情况下解锁该列,但都不起作用。
回复:脚本,专门用于自动绘制过去 30 天的数据图表单击“表面板”中的红色三角形,然后取消选择“锁定表”设置
回复:脚本,专门用于自动绘制过去 30 天的数据图表我认为这就是问题所在,该列会自动锁定,因此不需要更改日期。 此外,没有其他列依赖于此日期列。
尝试使用相同的公式重新创建一个新列,并且一旦应用该公式,它也会锁定该列。
回复:脚本,专门用于自动绘制过去 30 天的数据图表日期列是否已锁定,或者日期列是否用于通过公式设置其他列中的值?
新列 JMPDate 应该已正确创建。您可以使用该列进行选择等。
回复:脚本,专门用于自动绘制过去 30 天的数据图表感谢“txnelson”的帮助,但这不是一个容易解决的问题,因为看来我的问题措辞错误或不完整。
日期列是从名称列创建/源自名称列,该名称列是工具的输出文件,其中包含特定于运行的多个特征的描述,方式如下:“Date_tool Id_recipe_material_position_run#”。也就是说,由于该原始列的源设置为“字符”,因此新创建的“日期”列(为便于绘图而完成)将不接受从“字符”到“日期”的更改。 知道为什么吗? 或者对日期列公式有更好的建议?
Item( 1, :Source, "_" )
回复:脚本,专门用于自动绘制过去 30 天的数据图表首先,我建议您将日期列转换为 JMP 日期/时间值。当前的日期列只是一个字符列,它遵循字母数字规则,而不是日期/时间规则。 这是一个简单的脚本,它将创建一个名为 JMPDate 的新列,该列将从日期列转换而来
Names Default To Here( 1 );
dt = Current Data Table();
dt << New Column( "JMPDate",
set each value(
Date MDY(
Num( Substr( :date, 3, 2 ) ),
Num( Right( :date, 2 ) ),
Num( "20" || Left( :date, 2 ) )
)
),
Format( "m/d/y" )
);
一旦它是 JMP 日期/时间列,您就可以执行以下操作
dt << select where(:JMPDate > 05/31/2022);
或者
dt << select where(:JMPDate > Today() - inDays(180));