如何在启动模块中创建带有数据过滤器的应用程序?我正在尝试创建一个应用程序来根据用户输入生成报告。 我有一些编写脚本的经验,但我遇到了困难,而且我以前没有使用过应用程序。
我尝试修改 JMP 附带的示例应用程序之一,但这些应用程序的启动模块中都没有数据过滤器,并且我尝试执行的操作不起作用。
有谁有一个在启动模块中带有数据过滤器的简单应用程序示例可以用作起点? 然后我应该能够修改它来做我需要做的事情......
内容组织回复:如何在启动模块中创建带有数据过滤器的应用程序?我刚刚意识到我的文字被截断了。 例如,其中一个文本字符串有 341 个字符,其中包含空格。 整个文本字符串都在表中,所以我假设它不会超出字节限制。
当我尝试在分布表或列联表中显示整个文本字符串时,即使文本已换行,它也不会完整显示。 它似乎被截断了。 有小费吗?
回复:如何在启动模块中创建带有数据过滤器的应用程序?谢谢@保罗丁, 我很感激。 你知道,我只是V级。
回复:如何在启动模块中创建带有数据过滤器的应用程序?@雷塞尔为了让你的生活更轻松一点,这一步完成同样的事情:
Names default to here(1);
// loads the table
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
// launch data filter on selected column
df = dt << Data Filter( Add Filter( Columns( "Make" )));
回复:如何在启动模块中创建带有数据过滤器的应用程序?谢谢丹。
事实上,我现在已经简化了报告。 我又从头开始,似乎正在工作。 不知道为什么我的原始过滤出现问题!
剩下的一项挑战。 我的一个报告需要显示一些文本字段,并且我正在努力寻找一种换行文本的方法,因此宽度与其他报告保持一致,并且文本显示在多行中。 我正在使用制表平台,但我读到没有选项可以换行文本。 我能看到的唯一自动执行此操作的平台是列联表,但是它还会显示其他列,例如 Col% 等......并且当这些列被隐藏时,文本会再次以更长的宽度显示。 我正在查看一些脚本函数,例如“set wrap”等......但我发现如何使用它们很棘手。关于我可以在这里使用什么的任何提示?
回复:如何在启动模块中创建带有数据过滤器的应用程序?我必须看看为什么 Report11/Report12 没有被过滤 - 这看起来像是一个错误。两个建议:
- 对于上面显示的布局,不要为没有关联的(显式)数据过滤器的报表添加 DataFilterContext。
- 对于过滤器仅链接到一个平台的情况,简化应用程序布局的一种选择是将过滤器直接添加到平台。如果上例中的 Report13 将数据筛选器作为平台的一部分,则无需将 DataFilterContext12/List11/DataFilter11 添加到布局中。
回复:如何在启动模块中创建带有数据过滤器的应用程序?我想我已经弄清楚为什么上面的方法不起作用了。 见下图。 对于某些报告,我在报告旁边添加了另一个数据过滤器框(示例报告 13 使用数据过滤器 11)。 使用总体 Datafilter 1 对结果进行校正过滤。
但是,对于报告 11 和 12,我没有在其中添加数据过滤器,因此未应用 Datafilter1。 所以当我查看这些报告的结果时,我的记录太多了。
对我来说似乎很奇怪,但我想我现在可以让它工作了。

回复:如何在启动模块中创建带有数据过滤器的应用程序?嗨雷塞尔,
谢谢回复。 我认为“启动模块”术语可能特定于构建应用程序。
回复:如何在启动模块中创建带有数据过滤器的应用程序?嗨丹,
谢谢回复。 是的,我确实认为这两点都是如此。 我想要在启动模块上有一个数据过滤器。 然后我想传递过滤器信息,以便在启动报告时仅显示选定的数据。 因此,如果您有一个现成的简单示例,那就太好了。
今天,我一直在尝试仅使用报告模块来实现此目的,而无需启动模块。 因此,顶部有一个本地数据过滤器(下图中的数据过滤器 14),然后在同一整体数据过滤器上下文中的下方有多个报告,以及每个报告的附加本地数据过滤器。 我以为我快完成了,但现在我意识到一些报告没有根据主数据过滤器正确过滤,即 我看到了不应该显示的数据。 我想我无意中移动了数据过滤器,并一直在尝试纠正这个问题,以便它位于正确的容器中,并且我真的试图避免再次从头开始。 移动/重新排列它们以使它们处于正确位置的最佳方法是什么?

回复:如何在启动模块中创建带有数据过滤器的应用程序?您能否澄清一下如何在启动模块中使用数据过滤器?问题是数据过滤器没有过滤内容,还是您需要将过滤器信息传递到报表模块,但不清楚如何在 Application Builder 中执行此操作?
回复:如何在启动模块中创建带有数据过滤器的应用程序?不确定“启动模块”是什么意思,但以下是我如何为给定表中的特定列启动数据过滤器。
Names default to here(1);
// loads the table
dt = Open( "$SAMPLE_DATA/Cars.jmp" );
// select column
dt << Go To ( :Make );
// identify selection
col = dt << Get Selected Columns( String );
// obtain column reference
col = Column( col[1] );
// launch data filter on selected column
df = dt << Data Filter( Add Filter( Columns( col )));