帮助数据过滤器上下文框()我在将数据过滤器上下文框插入脚本时遇到问题。 我的脚本用于通过 SQL 提取数据,执行一些表函数,然后在选项卡式窗口内吐出图形。 这使得它在视觉上比我所做的更好,因为每个单一输出都有一个与之关联的新窗口,并且测试工程师必须单击多个按钮。
我已经阅读了这些板以及脚本指南。 我遇到的问题是如何在填充图形和分布后插入它。 来自脚本指南。
我尝试使用与先生相同的哲学。特克斯尼尔森帮助了我,但我无法让它创建一个临时框,然后在单击按钮后填充。 再次感谢任何和所有帮助。
d
指导,
// --------------------------- From Scripting Guide -------------------------
dt = Open( "$SAMPLE_DATA/Hollywood Movies.jmp" );
win = New Window( "Shared Local Filter",
Data Filter Context Box(
// enclose the h list box that contains distribution and graph builder
H List Box(
// add the local data filter
// NOTE: My tables aren't created yet so i am getting an error here.
dt << Data Filter( Local ),
dt << Distribution(
Weight( :Profitability ),
Nominal Distribution(
Column( :Lead Studio Name )
),
Nominal Distribution(
Column( :Genre )
),
Histograms Only
),
dt << Graph Builder(
Variables(
X( :Genre ),
Y( :Domestic Gross ),
Y( :Foreign Gross, Position( 1 ) )
),
Show Control Panel( 0 ),
Elements(
Bar( X, Y( 1 ), Y( 2 ),
Legend( 2 ),
Bar Style( "Side by side" ),
Summary Statistic( "Mean" )
),
Frequencies( 0 ),
)
)
)
)
);
// --------------------------- My Data Pull Script Simplified -------------------------
Names Default To Here( 1 );
Close All( Data Tables, No Save );
Close All( Reports );
Clear Log();
Close All( journals, no save );
Clear Symbols();
sqlstartA = Today();
sqlendA = Today();
sqlstart = Format( sqlstartA, "yyyy-mm-dd" );
sqlend = Format( sqlendA, "yyyy-mm-dd" );
/************************************************************************************************************************************************/
/* */
/* ---------------------------------------------------------------[START EXAMPLE] ----------------------------------------------------------- */
/* */
/************************************************************************************************************************************************/
hay = New Window( "Test Database Tools",
V List Box(
V List Box(
Text Box(
"Product Engineering Database Tools",
<<SET font="" size=""></SET>
回复:有关数据过滤器上下文框()的帮助效果很完美,谢谢。 我必须阅读“Is Scriptable”,看看它还能如何使用
回复:有关数据过滤器上下文框()的帮助是的,我首先注意到“加载测试数据”重复了界面的一部分(过滤器),并且正如您所指出的“完成后单击此处”也重复了 UI。您提到您在删除该框时遇到了麻烦,但我不确定您是否想要(a)删除控件,以便它们只能使用一次(b)删除过滤器,以便您可以用另一个过滤器替换它。我之前的回应是演示一种方法(a),而无需实际删除任何内容 - 只需根据状态隐藏和显示窗口的不同部分。
附件是我为删除组件而更改的脚本的另一个修改。我保存了对添加到显示中的框的引用。每次添加框时,它都会首先对先前添加的框调用 <回复:有关数据过滤器上下文框()的帮助我很抱歉。 如果您运行修复的脚本并单击“完成后单击此处”按钮,它将继续附加显示框。 我本可以发誓你在回复时指出了这一点,但现在我意识到它与另一个主题有关。
回复:有关数据过滤器上下文框()的帮助
我不清楚你想在循环内做什么。如果您希望控件消失,您可以删除它们,也可以隐藏它们。隐藏它们可能并不理想——它们仍然在显示树中——但这是一种常见的方法。下面是一个示例,它引导用户完成多个输入步骤,并在每个步骤隐藏控件:
New Window( "Wizard Interface",
top = H List Box(
// Control panels
controls = Panel Box( "Inputs",
panel1 = V List Box(
Text Box("Panel 1"),
Button Box( "Next",
panel1 << Visibility( "Collapse" );
panel2 << Visibility( "Visible" );
)
),
panel2 = V List Box(
Text Box("Panel 2"),
Button Box( "Next",
panel2 << Visibility( "Collapse" );
panel3 << Visibility( "Visible" );
),
<<VISIBILITY></VISIBILITY>
这与您想要做的类似吗?
回复:有关数据过滤器上下文框()的帮助我相信我可以通过使用 for 循环来完成附加该窗口。 正是我如何放置代码 i < =
谢谢
For( i = 1, i <= /* not sure what i would put in here */ , i ++,<BR /> sqlstart = Format( sqlstartA, "yyyy-mm-dd" );<BR /> sqlend = Format( sqlendA, "yyyy-mm-dd" );<BR /> Show( sqlstart, sqlend );<BR /> lineup1 << Append(<BR /> V List Box(<BR /> Spacer Box( Size( 5, 5 ) ), <BR /> Text Box( "Select Your Wafer(s)", <BR /> << Set Font Size( 15 ), <BR /> << Justify Text( "Center" ) <BR /> ),<BR /> Spacer Box( Size( 5, 15 ) ),<BR /> loaddata = Button Box( "Load The Test Data",<BR /> dt = current data table();<BR />// dt = Open( "$SAMPLE_DATA/big class.jmp", invisible )<BR /><BR />// Insert End of Script<BR />
回复:有关数据过滤器上下文框()的帮助正如您在回复中指出的,“完成后单击此处”的问题会在单击时附加窗口。 我尝试过<<删除Box()和其他一些不成功的事情。 然而,当没有选择日期或晶圆时,我设法插入一些 Throw() 语句。 事实证明,这是一项具有挑战性的工作。 有什么建议么?回复:有关数据过滤器上下文框()的帮助谢谢你和吉姆的帮助。 我根本没有考虑自动重新计算。 特别感谢 Data Filter Context Box() 的添加。 我试图使用它,但无法找出正确的位置。
至于日历,我完全同意你的观点。 让它成为一个可以打开和关闭的轮廓框。
一旦我在适当的窗口中获得所有图表、分布、Fit Y by X 和晶圆图(半导体工具包),主窗口就需要一些补充和调整。 对于此分析工具,您和吉姆正在帮助解决的问题是容易实现的目标。 我觉得最大的障碍是我如何处理异常值。 我在这些板上找到了 GrubbsOutlierTest3.jsl,并将以某种方式、形状或形式使用它。
再次感谢你。
d
回复:有关数据过滤器上下文框()的帮助虽然您无法调整日历框对象的大小,但可以使用数字编辑框来达到相同的目的。 将格式设置为您想要的日期样式,然后在交互过程中它会显示一个日历,但否则它只是一个小盒子。
Names Default to Here( 1 );
nw = New Window( "Date Entry",
Outline Box( "Calendar Box Substitute",
neb = Number Edit Box( 01Jan2019,
<< Set Format( Format( "m/d/y", 12 ) )
)
),
H List Box(
Button Box( "OK",
date = neb << Get;
),
Button Box( "Cancel" )
)
);
回复:有关数据过滤器上下文框()的帮助我已附上您脚本的更新版本。正如 Jim 指出的那样,分布上未设置自动重新计算。原因是您的数据过滤器是全局过滤器,而不是本地过滤器。在您的脚本中,请注意,虽然所有报表似乎都在更新,但数据表行状态正在发生变化,并且两个选项卡上的结果都在更新。
我做了两项更改以使过滤器成为本地过滤器:
- 将“本地”选项添加到 Data Filter() 命令
- 将每个选项卡上的 HListBox() 更改为数据过滤器上下文框()。这使每个过滤器的效果保持在选项卡本地
本地数据过滤器将自动在每个关联平台上设置自动重新计算标志。
我不知道有什么方法可以让日历变小。我不确定在初始日期选择后您将采用什么工作流程。您可以考虑两个窗口,一个带有日期选择的启动器窗口和一个显示报告的结果窗口。您可以将日期范围作为副标题包含在内。
如果您想将两者保留在同一窗口中,您可以将日历放在使用 <回复:有关数据过滤器上下文框()的帮助这是完全有道理的。 谢谢您的帮助。
回复:有关数据过滤器上下文框()的帮助当您更改数据过滤器中的选择时,您的分布没有更改的原因是,在分布的 JSL 中未设置“自动重新计算(1)”选项。
关于调整日历框的大小,我没有找到改变其大小的方法。 其他一些社区成员可能有一种方法,但我找不到。
回复:有关数据过滤器上下文框()的帮助
纳尔逊先生,
我尝试将其放入我的脚本中,似乎它只是更新了图表/分布的一部分。我附上了一个更新的脚本,这正是我正在尝试在您看到的两个选项卡后面添加其他几个选项卡的方法。
我还附上了我正在引入的数据集的一个很好的示例。 该表包含 3 个晶圆的数据,可以为您提供一个想法。
此外,我想知道是否有一种方法可以调整日历框的大小,以便它们占用更少的空间,从而为分析留下更多空间。
谢谢
回复:有关数据过滤器上下文框()的帮助抱歉没有具体说明。
是的,本地数据过滤器会影响选项卡中的所有图表,.. 我一会儿就会看一下你的剧本。
谢谢
回复:有关数据过滤器上下文框()的帮助您是否希望为指定的图表/图形添加本地数据过滤器?
您是否希望添加一个过滤器来根据单个过滤器更改所有图表?
您是否想让用户单击直方图中的一个条形图,然后从选定的行中更改其他图表和图形?
附件是对脚本的修改,该修改在分发平台输出的左侧添加了数据过滤器,选择后,会更改附加到数据表的所有图表。