JMP SCRIPT:根据用户选择变量创建图表大家好,
我想根据用户过滤器选择创建一个图表。
但是,JMP 无法识别用户选择的变量“Y”,并出现错误。
这是我的代码:
Y = concat(Y," (ppm)");
graph = RAW_DATA_TABLE <<
Control Chart Builder(
Size( 534, 450 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Sort by Row Order( 1 ),
Variables( Y( :"<U><STRONG>Y</STRONG></U>" ),Subgroup( :Numéro de lot ), Phase(:"Period")),
Get Limits(LIMIT_TABLE),
)
有人能建议我如何命名 Y 吗?
多谢,
塞巴斯蒂安
高级统计建模内容组织数据探索与可视化实验设计大规模定制回复:JMP 脚本:基于用户选择变量创建图形我不确定你在第 1 行要做什么。 试图基于某些东西构建列名? 用户如何选择 Y? “(ppm)”从何而来?
回复:JMP 脚本:基于用户选择变量创建图形Column Dialog() 命令允许用户在以后的分析中为角色选择列。 您应该能够从脚本索引的示例中删除/修改以获得您需要的内容,即只保留与“Y”列相关的内容。

回复:JMP 脚本:基于用户选择变量创建图形用户选择基于列表。 但是,用户从列表中所做的选择与数据表不匹配,我需要与“(ppm)”连接才能具有相同的变量名称...
然后,我想制作基于“Y”与“ppm”连接的图表。
但是,图形构建器无法识别“Y”...
你有什么建议帮我解决 Y 的命名问题?
非常感谢您的回答
回复:JMP 脚本:基于用户选择变量创建图形如果您确定该列存在,您可以尝试将 Y 变量(我会在这里使用更具描述性的变量名称)包装到 Eval
y_column = Concat(Y, " (ppm)");
graph = RAW_DATA_TABLE << Control Chart Builder(
Size(534, 450),
Show Two Shewhart Charts(0),
Show Control Panel(0),
Sort by Row Order(1),
Variables(Y(Eval(y_column)), Subgroup(:Numéro de lot), Phase(:"Period")),
Get Limits(LIMIT_TABLE),
);
Names Default To Here(1);
y_col = "Weight";
dt = Open("$SAMPLE_DATA/Quality Control/Coating.jmp");
dt << Control Chart Builder(Variables(Y(Eval(y_col)), Subgroup(:Sample)));
回复:JMP 脚本:基于用户选择变量创建图形
回复:JMP 脚本:基于用户选择变量创建图形您的代码的第 1 行不是一个好的做法 - 您正在根据自身重新定义 Y。
尝试这个:
raw_data_table = New Table( "Test",Add Rows( 4 ),
New Column( "Col1 (ppm)", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) ),
New Column( "Numéro de lot", Character, "Nominal",
Set Values( {"a", "a", "b", "b"} ) ),
New Column( "Period", Numeric, "Continuous", Format( "Best", 12 ),
Set Values( [1, 2, 3, 4] ) )
);
Y = "Col1"; // Selected from your dialog box
ycol = Y || " (ppm)";
graph = RAW_DATA_TABLE <<
Control Chart Builder(
Size( 534, 450 ),
Show Two Shewhart Charts( 0 ),
Show Control Panel( 0 ),
Sort by Row Order( 1 ),
Variables( Y( column(RAW_DATA_TABLE, ycol) ),Subgroup( :Numéro de lot ), Phase(:"Period")),
// Get Limits(LIMIT_TABLE),
);
我注释掉了对 limit_table 的引用,因为我没有该数据。
回复:JMP 脚本:基于用户选择变量创建图形伟大的 !这正是我所需要的。
现在,我想根据 y_column 进行列选择,以删除用户不需要的列:
a = {Eval(y_colums)};
limit_table << Invert Column Selection( a );
limit_table << Delete Columns;但是,它不起作用。
你有什么想法可以帮助我吗?
谢谢
塞巴斯蒂安