我尝试将带有本地数据过滤器的图形构建器图形附加到 Journal 中。 当我运行 JSL 时,它在 JMP 上看起来不错。 但是当我导出为 pdf 时,本地数据过滤器功能消失了。 任何人都可以建议有什么问题吗? 根据 Bryon 的反馈,本地数据过滤器功能在 PDF 中不存在,但过滤器仍然存在,并带有下表中的注释。
我遇到的另一个问题是我生成了 2 个带有数据过滤器的图表并将其发送到日志。 但是第一个带有数据过滤器的图表可以正确显示过滤器功能。 但是第二个图表数据过滤器不存在。
更正我在 PDF 中预期的图表。

我附上了生成的 JSL、示例和 pdf。
Names Default To Here( 1 );
Clear Symbols();
Clear Log();
Close All( Data Tables, NoSave );
Close All( Journals, NoSave );
//Journal
nw = New Window( "Reports",
<<JOURNAL></JOURNAL>
谢谢丹奇科雷。 我试试你的脚本。 它确实将本地数据过滤平台包含在日志中。 但是第二张图还没有真正做数据过滤的功能。 如果是这样,我将看不到红色圆圈上的点。
仍然不完全理解为什么第一个图表数据过滤功能有效但第二个图表数据过滤功能不起作用。 除此之外,我也不确定为什么那里有一个黑色标记点。

在原始 JSL 中,将内容附加到日志时使用 Report() 函数。平台上的 Report() 函数返回一个显示框,其中包含平台大纲及其内部的所有内容,但不包括关闭到一边的过滤器或列切换器。
在 Byron 的脚本中,他将 <
lub << Append(cht_uNV_EC_RD_Set_AfterCyc << Top Report);
lub << Append(cht_uNV_EC_RD_Erase_AfterCyc << Top Report);
我也不知道为什么它不起作用。 它似乎对我有用,但我在 Mac 上,所以这可能是其中的一部分。
我用于解决您正在处理的问题的方法略有不同,并且似乎适用于许多不同的情况。 首先我制作图表,然后将图表脚本复制到表达式中。
graph1=expr( "paste the graph script here" );
这样做的一个附带好处是代码折叠(转到文件>首选项>脚本编辑器,然后打开此选项)。我可以在脚本编辑器上将整个图表折叠成一行,非常方便。
完成所有图表后,我可以生成带有几条短线的窗口显示。
win=new window("Example", vlist box( graph1, graph2);
在图表出现在窗口中后,我可以向他们发送消息以进行格式化等等。
在此示例中,“win”是一个可以记录的对象,或者更简单地说,只是保存为 PDF 或 Powerpoint。
当我使用 JSL 时,除了极少数例外,我不使用日志作为中间容器。 不过,日志作为手动操作的容器非常方便。
很高兴这有帮助!
雪儿,
拜伦
我不知道。 当我用测试表运行你的脚本时。 两个图是相同的,都可以导出为 PDF。 在所有 4(?)个案例中,本地数据过滤器都包含在图中。
我把你的剧本弄乱了一点。
我将两个图表和过滤器包装在一个表达式中。
当我制作窗口时,我通过评估那里的表达式将它们直接放入窗口 vlistbox (Lub)。
然后我将文本添加到顶部(与追加相反)。
窗口完成后,我将其记录为最后一步。 写日记可能会很痛苦,所以我总是尽量最后写日记。 将日志另存为 PDF,然后打开它查看它的外观。
//*************************************
//dt_source = Data Table( "Wafer_Sort" );
dt_source = Open( "test.jmp" );
set = Expr(
cht_uNV_EC_RD_Set_AfterCyc = dt_source << Graph Builder(
Size( 1029, 643 ),
Show Control Panel( 0 ),
Variables(
X( :SplitGrp ),
X( :Wafer, Position( 1 ) ),
Y( :Name( "DL_uNV_EC_RD_Set_AfterCyc-DL_uNV_EC_RD_Set_AfterCyc,11510,-" ) )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {32, [-1]} ), Position( {-1} )}
)
)
)
);
erase = Expr(
cht_uNV_EC_RD_Erase_AfterCyc = dt_source << Graph Builder(
Size( 1029, 643 ),
Show Control Panel( 0 ),
Variables(
X( :SplitGrp ),
X( :Wafer, Position( 1 ) ),
Y( :Name( "DL_uNV_EC_RD_Erase_AfterCyc-DL_uNV_EC_RD_Erase_AfterCyc,11512,-" ) )
),
Elements( Points( X( 1 ), X( 2 ), Y, Legend( 32 ) ) ),
SendToReport(
Dispatch(
{},
"400",
LegendBox,
{Legend Position( {32, [-1]} ), Position( {-1} )}
)
)
)
);
filters = Expr(
cht_uNV_EC_RD_Set_AfterCyc << Local Data Filter(
Add Filter(
columns(
:Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ),
:Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ),
:Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ),
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ),
:Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" )
),
Where( :Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ) == 0 ),
Where(
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ) == 0
),
Where( :Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" ) == 0 )
)
);
cht_uNV_EC_RD_Erase_AfterCyc << Local Data Filter(
Add Filter(
columns(
:Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ),
:Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ),
:Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ),
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ),
:Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" )
),
Where( :Name( "DL_uNV_EC_Set_PreCyc-DL_uNV_EC_Set_PreCyc,11504,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_RD_Set_PreCyc-DL_uNV_EC_RD_Set_PreCyc,11505,-" ) == 0 ),
Where( :Name( "DL_uNV_EC_Erase_PreCyc-DL_uNV_EC_Erase_PreCyc,11506,-" ) == 0 ),
Where(
:Name( "DL_uNV_EC_RD_Erase_PreCyc-DL_uNV_EC_RD_Erase_PreCyc,11507,-" ) == 0
),
Where( :Name( "DL_uNV_EC_10k_Cycle-DL_uNV_EC_10k_Cycle,11508,-" ) == 0 )
)
);
);
nw = New Window( "Reports",
hlb = H List Box(
lub = vlist Box( set,erase )
)
);
filters;
lub << prepend( tb = Text Box( "uNV RD_Set & RD_Erase after 10k
" ));
tb << Set Font Size( 14 ) << Set Font Style( "Bold" ) << Justify Text( "center" );
tb << set width(700) << set wrap(700);
nw<<JOURNAL></JOURNAL>

本地数据过滤器在 PDF 视图中未激活,因此过滤器选择的条件在图表下方报告。
如果您想要显示本地数据过滤器,只需将报告保存为 PDF 而无需将其发送到 Journal。
此外,导出为 PDF 在 Mac 上或在适用于我的版本 15.2 中可能会有所不同。