大家好,
我最近在我的工作计算机上从 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" );
你好@_Mel ,
谢谢你开始这个讨论。 我们在 Discovering 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 访问,该服务器可以排除数据并重建图形和表。
你好@Ressel ,
谢谢你的想法。
我可以看到这可能很难弄清楚,特别是对于 Graph Builder,因为它默认隐藏了本地数据过滤器模式。我希望下面的解释可以帮助其他用户绊到这个页面。
要将图表生成器报告与本地数据过滤器作为交互式 HTML 共享并使本地数据过滤器具有交互性:
1. 从本地数据过滤器的红色小三角菜单中选择“显示模式”。

2. 取消选中包含模式。

3. 请注意,本地数据过滤器的行为现在仅显示/隐藏数据而不是排除数据。 例如,如果您的图表中有拟合线,当您与本地数据过滤器交互时,它们将不会被重新计算。
4. 导出到交互式 HTML,本地数据过滤器在 HTML 版本中应该是交互式的,具有显示/隐藏行为。
谢谢,
~约翰