如何按格式自动检测索引列?大家好,
我正在使用 JMP 应用程序生成器创建一个应用程序,用户可以在 JMP 中打开一个数据文件并执行一些分析。该程序需要某种索引列(日期/时间或简单的行索引即可)。通常,加载到此应用程序中的数据类型会带有日期/时间索引,但情况并非总是如此,有时第一列是实际数据(连续、数值,通常是小数)。
我正在寻找一种方法来自动检测 JMP 中数据表的第一列是采用日期/时间格式(日期/时间索引)还是包含 [1, 2, ..., N 列] 值的列(行索引)。如果针对索引列的这两个检查结果均为负数(即第一列是实际数据值),那么我只需插入一个带有 Row() 公式的列即可满足索引要求。
是否可以使用 << Get Format,然后使用该结果来调查我所描述的情况?我一直没能成功,但我可能找错了地方。如果我能将 << Get Format 的输出作为字符串获取,我就可以进行一些基本的搜索,看看它是否包含 YYYY、M 或 D 等字符的混合。
完全可以要求用户在继续使用该程序之前简单地添加一个索引列,目前这就是我正在做的,但理想情况下程序能够自动处理这个问题。
谢谢你的建议,
埃斯特尔
大规模定制质量与工艺工程分享和交流结果Re: 如何按格式自动检测索引列?Get Format() 消息返回可用于格式化另一列的表达式。 如果您希望格式为字符串,您可以使用arg() 函数.
New Table( "My Table",
Add Rows( 0 ),
New Column( "Column 1",
Numeric,
"Continuous",
Format( "mmddyyyy", 12 ),
Input Format( "mmddyyyy" ),
Set Selected
)
);
foo = :column 1 << get format;
//foo == Format( "mmddyyyy", 12 )
fmt = Arg( foo, 1 );
Show( fmt );
// fmt = "mmddyyyy";
Re: 如何按格式自动检测索引列?啊,太好了! 谢谢你,杰夫,这是我错过的一步。