大家好,
我的工作计算机最近已从 JMP15 更新到 JMP16。 我创建了一个自动化脚本,可以将图形生成器运行图保存为交互式 html 文件。 我能够解决从 JMP15 升级到 JMP16 过程中除一个问题之外的所有所有问题。 图表生成器的过滤器被禁用并在 html 视图中显示为灰色。 我在下面发布了创建图形然后将其保存为交互式 html 文件的脚本部分。 在 JMP15 中运行脚本的这一部分效果非常好,html 文件具有交互式过滤器 - 但 JMP16 在保存 html 文件时似乎没有以相同的方式工作。
gb = dtcurrent << Graph Builder(
Size( 875, 652 ),
Show Control Panel( 0 ),
Show Legend( 0 ),
Variables( X( :DateCompleted ), Y( testCOL ) ),
Elements( Points( X, Y, Legend( 3 ) ) ),
Local Data Filter(
Width( 160 ),
Auto clear( 1 ),
Add Filter(
columns( :Date, :Product, :Type, :TestStatus, :ExcludeFromStats, :RFT, :FailCode, :TrackingNumber, :SerialNumber ),
Display( :Date, Size( 148, 20 ), Height( 50 ) ),
Display( :Product, "Check Box Display" ),
Display( :Type, "Check Box Display" ),
Display( :TestStatus, "Check Box Display" ),
Display( :ExcludeFromStats, Size( 158, 48 ), Height( 16 ) ),
Display( :RFT, "Check Box Display" ),
Display( :FailCode, "Check Box Display" ),
Display( :TrackingNumber, "Single Category Display", Find( Set Text( "" ) ) ),
Display( :SerialNumber, "Single Category Display", Find( Set Text( "" ) ) )
)
),
SendToReport(
Dispatch(
{},
"Date",
ScaleBox,
{Min( xmin ), Max( xmax ), Interval( "Week" ), Inc( 1 ), Minor Ticks( 1 ), Label Row( Label Orientation( "Angled" ) )}
),
Dispatch( {}, "graph title", TextEditBox, {Set Text( varTitle )} ),
Dispatch(
{},
Test,
ScaleBox,
{Min( ymin ), Max( ymax ), Inc( Round( (YMax - YMin) / 10, 5 ) ), Minor Ticks( 0 ), Add Ref Line(
{ymin, lcl},
"Solid",
"Red",
"",
1,
0.25
), Add Ref Line( lcl, "Solid", "Dark Red", "LCL", 3 ), Add Ref Line( lsl, "Solid", "Dark Blue", "LSL", 3 ),
Add Ref Line( {NzoneA, NzoneB}, "Solid", "Light Orange", "", 1, 0.25 ), Add Ref Line(
{NzoneB, NzoneC},
"Solid",
"Light Yellow",
"",
1,
0.25
), Add Ref Line( {NzoneC, avg}, "Solid", "Light Green", "", 1, 0.25 ), Add Ref Line( avg, "Dashed", "Dark Green", "AVG", 3 ),
Add Ref Line( {avg, zoneC}, "Solid", "Light Green", "", 1, 0.25 ), Add Ref Line(
{zoneC, zoneB},
"Solid",
"Light Yellow",
"",
1,
0.25
), Add Ref Line( {zoneB, zoneA}, "Solid", "Light Orange", "", 1, 0.25 ), Add Ref Line( usl, "Solid", "Dark Blue", "USL", 3 ),
Add Ref Line( ucl, "Solid", "Dark Red", "UCL", 3 ), Add Ref Line( {ucl, ymax}, "Solid", "Red", "", 1, 0.25 )}
)
)
);
gb << Set Window Title( Test || Name );
//Save Graph Dashboard as html file
html = Window( Test || Name );
Wait( 0.1 );
html << Save Interactive HTML( filepathR || Test || Name || ".html" );
你好@雷塞尔,
谢谢你的想法。
我可以看到这可能很难弄清楚,特别是对于图形生成器,因为它默认隐藏本地数据过滤器模式。我希望以下解释可以帮助其他偶然发现此页面的用户。
要将图形生成器报告与本地数据过滤器共享为交互式 HTML 并使本地数据过滤器成为交互式:
1. 从本地数据过滤器的红色小三角菜单中选择“显示模式”。

2. 取消选中包含模式。

3. 请注意,本地数据过滤器的行为现在仅显示/隐藏数据,而不是排除数据。 例如,如果图形中有拟合线,则当您与本地数据过滤器交互时,不会重新计算它们。
4. 导出为交互式 HTML,并且本地数据过滤器应在 HTML 版本中具有显示/隐藏行为。
谢谢,
〜约翰
你好@_梅尔,
感谢您发起本次讨论。 我们在《发现 JMP》一书中对此有一个注释,但这使我有机会解释我们进行更改的原因以及如何更新脚本以在导出到交互式 HTML 时启用本地数据过滤器。
尽管您可能感觉本地数据过滤器在以前版本的 JMP 中的交互式 HTML 中运行良好,但许多用户发现 JMP 和交互式 HTML 之间的行为差异令人困惑。 行为上的差异在于,默认情况下,当本地数据过滤器更改时,JMP 会排除行,但交互式 HTML 只能隐藏行。 排除行需要 JMP 的核心统计引擎,因为需要重新计算图形和表格。
为了避免混淆,我们决定仅在能够提供与 JMP 相同的行为时才使本地数据过滤器具有交互性。 即,当包含模式被禁用时。 在用户界面中,只需取消选中“包含”复选框即可。 在脚本中,只需将“Mode( Include( 0 ) ),”添加到本地数据过滤器函数即可:
Local Data Filter(
Mode( Include( 0 ) ),
Width( 160 ),
. . .
谢谢,
〜约翰
JMP Live 用户注意事项:即使 JMP Live 使用交互式 HTML,发布到 JMP Live 时也无需禁用本地数据过滤器的包含模式,因为 JMP Live 为在服务器中运行的 JMP 提供了交互式 HTML 访问权限,可以排除数据并重建图形,并且表。