需要帮忙。创建交互式 HTML 文件时出现一些错误我正在编写脚本,通过将数据过滤器功能添加到图表中来使文件 HTML(交互式),但在调用函数 save Interactive HTML() 期间,我在以下代码中遇到了一些错误
感谢您对此提供帮助。
错误消息如下附图。


这是我的代码
Names Default To Here( 1 );
dt = Open( "C:\myJSL\BigClass.csv");
app=New Window( "Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() <<
Data Filter( Local ),
Platform(
Current Data Table(),
Bivariate( Y( :height ), X( :weight ) )
),
Platform(
Current Data Table(),
Distribution(
Continuous Distribution(
Column( :height ),
Horizontal Layout( 1 ),
Vertical( 0 )
)
)
)
)
)
);
box = app << Run;
Show Properties( box );
Show( box );
/*create HTML */
(box << get windows)[app] << save Interactive HTML( "C:\myJSL\myiHTML.htm" );
/* Open HTML file in Chrome */
Web( "file:///C:/myJSL/myiHTML.htm", Chrome);
内容组织数据探索和可视化大规模定制分享和交流结果回复:需要帮助。创建交互式 HTML 文件时出现一些错误嗨约翰, @John_Powell_JMP非常感谢您帮助找出我的代码中的错误。现在工作正常了!因此我可以调整适合下一步实际任务的代码。
不管怎样,也感谢你给我一些我应该遵循的建议。

回复:需要帮助。创建交互式 HTML 文件时出现一些错误嗨@cpbatman ,
您将“模式”和“添加过滤器”行添加到“数据过滤器上下文框”函数而不是“数据过滤器”函数。您还添加了一个额外的 H 列表框来复制第一个列表框。
以下是经过一些细微的文件名更改后的外观,以使其在我的计算机上正常工作:
Names Default To Here(1);
/* using sample data table */
dt = Open("$SAMPLE_DATA/Big Class.jmp"); // C:\myJSL\BigClass.csv");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter(Local,
/** added code to handle data filter **/
Mode( Include( 0 ) ),
Add Filter( columns( :height ), Display( :height, N Items( 6 ) ) )
/** end of added code **/
),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
/** removed duplicate H List Box code **
,
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
** end of removed code **/
)
);
/* exported file location changed */
app << save Interactive HTML("$DOWNLOADS\myiHTML.htm");
Web("$DOWNLOADS/myiHTML.htm", Chrome); // open with default browser
由于您是 JSL 脚本编写的新手,因此以下一些技巧应该会对您有所帮助:
1. 右键单击 JSL 编辑器并选择“显示行号”以帮助查找嵌入日志(下面的脚本)中提到的行。
2. 要了解可以传递给函数的参数,请将鼠标悬停在函数名称上,提示将显示这些参数。要获取有关该函数的更多信息,请右键单击该函数并选择“帮助脚本索引”。
〜约翰
回复:需要帮助。创建交互式 HTML 文件时出现一些错误嗨,约翰, @John_Powell_JMP非常感谢您预测我的下一期,我会看到它。
现在我得到了你告诉我的问题哈哈^^”
无论如何,我尝试添加您建议的代码(在评论区添加代码来处理数据过滤器),但我收到一些错误,如附图所示。请您帮忙。抱歉打扰了,我对 JSL 还很陌生。
Names Default To Here(1);
dt = Open("C:\myJSL\BigClass.csv");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
<FONT color="#FF0000">/** 添加了处理数据过滤器的代码 **/ Local, Mode( Include( 0 ) ), Add Filter( columns( :height ), Display( :height, N Items( 6 ) ) ); /** 添加代码结束 **/</FONT>
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
),
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
)
);
app << save Interactive HTML("C:\myJSL\myiHTML.htm");
Web("file:///C:/myJSL/myiHTML.htm", Chrome); // open with default browser这是我的错误消息。

回复:需要帮助。创建交互式 HTML 文件时出现一些错误非常感谢@jthi
我按照你的建议做了之后效果很好。

回复:需要帮助。创建交互式 HTML 文件时出现一些错误嗨@cpbatman ,
我不禁注意到脚本中的本地数据过滤器没有定义要过滤的列。
我还注意到您在本地数据过滤器中启用了包含模式。
除非在保存之前添加过滤器列并且禁用包含模式,否则本地数据过滤器将无法在交互式 HTML 中工作。
以下是一些本地数据过滤器脚本代码,它将禁用年龄列上的包含模式和过滤器:
Data Filter(Local,
Mode( Include( 0 ) ),
Add Filter( columns( :age ), Display( :age, N Items( 6 ) ) )
)
如果将此与 Jarmo 的解决方案结合起来,您的过滤器应该可以在 JMP 和交互式 HTML 中工作。
请注意,禁用包含模式时的行为将与启用时不同,因为过滤器将仅显示/隐藏行。所有行将始终包含在内。虽然双变量图中的点和箱线图中的离群值将响应本地数据过滤器的显示模式,但直方图和箱线图不会。
请注意,发布到也使用交互式 HTML 的 JMP Live 或 JMP Public 时,不需要禁用包含模式。
希望这个对你有帮助。
〜约翰
回复:需要帮助。创建交互式 HTML 文件时出现一些错误我正在使用 JMP16。
我对你的脚本做了一些轻微的修改。像这样使用新窗口时不需要 box 变量(不确定何时需要它,应用程序/仪表板?),您可以将应用程序(新窗口)保存为交互式 html。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
app = New Window("Shared Local Filter Batman",
Data Filter Context Box(
H List Box(
Current Data Table() << Data Filter(Local),
Platform(Current Data Table(), Bivariate(Y(:height), X(:weight))),
Platform(
Current Data Table(),
Distribution(Continuous Distribution(Column(:height), Horizontal Layout(1), Vertical(0)))
)
)
)
);
// box = app << Run;
// Show Properties(box);
// Show(box);
/*create HTML */
app << save Interactive HTML("$DOWNLOADS\myiHTML.html");
Web("$DOWNLOADS\myiHTML.html"); // open with default browser