复选框数据过滤器你好,
我想要一个复选框,用户可以在其中选择查看数据的选项。 我尝试使用函数,但我的代码中似乎有些东西不正确。 您能给建议吗?
Names default to here( 1 );
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
New window(
"Graph with filter",
Data filter context box(
H list box(
V list box(
Text Box( "Enter month:"),
check Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
消费者和市场研究实验设计回复:复选框数据过滤器你好@杰基_ - 不可见选项实际上只对全局过滤器有用。此选项完全删除了数据过滤器的显示组件,但本地过滤器根据报告中的位置来确定要过滤哪些报告。您可以通过其他方式隐藏过滤器,例如在脚本的初始版本中使用的原始可见性选项:
lb << Visibility("Collapse");回复:复选框数据过滤器@danschikore @jthi
我修改了代码,添加了调用函数,以便清晰。 如果我将数据过滤器设置为不可见,它不会过滤行。 我不确定出了什么问题。 我还附上了数据表
这是它的样子
Names Default To Here( 1 );
dt = Current Data Table();
New Window( "Graph with filter",
modal,
Data Filter Context Box(
H List Box(
V List Box(
Text Box( "Select Bins:" ),
Radio Box(
{"1", "2", "N", "A","B","All"},
<<SETFUNCTION></SETFUNCTION>回复:复选框数据过滤器你好@杰基_ - 如果您使用内置单选框显示模式,则添加“未选择”选项来选择所有级别。这是列过滤器开始时的状态,也是您清除过滤器项目时它们返回的状态。当筛选项为“清除”时,它不参与筛选,并且保存的脚本不包含该列的Where 子句。
如果您需要从自定义过滤器显示中执行此操作,则调用 <回复:复选框数据过滤器
问题很可能出在 where 子句上,我建议添加对复选框的引用以帮助您进行调试并查看其行为方式,然后尝试让该函数在函数之外工作。 当你按照你想要的方式进行后,然后尝试在函数内实现它。
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Time Series/Raleigh Temps.jmp");
New Window("Graph with filter",
Data Filter Context Box(
H List Box(
V List Box(
Text Box("Enter month:"),
cb = Check Box({"1", "2", "3"}, // add reference here for easier debugging
<<SET></SET>
如果您可以在此处使用隐藏和排除(或行状态),那么它会比使用本地数据过滤器容易得多,但这并不总是可行
回复:复选框数据过滤器@danschikore非常感谢!
快速问题-我想在单选框“显示全部”中添加一个选项,它将显示所有月份的数据。 有什么建议么?
回复:复选框数据过滤器一般来说,我认为在将消息发送到数据过滤器之前,最好充分评估Where子句中恒定的表达式。在这个小摘录中,我还从复选框切换到单选框。复选框的问题是您可以选择过滤器中实际不可能的范围(选择 1,3,但不能选择 2)。
radio Box( {"1","2", "3"}, << set(2),
<<SETFUNCTION></SETFUNCTION>
您可以考虑将本示例中月份编号的建模类型更改为名义/序数(在数据表中或仅用于过滤器,在红色三角形菜单中)。这将为您提供支持复选框类型行为的Where子句的更大灵活性,或者您可以简单地使用过滤器的内置复选框和单选框模式。这是 JMP 16 示例:
dt = Open( "$SAMPLE_DATA/Time Series/Raleigh Temps.jmp" );
dt << Graph Builder(
Size( 400, 563 ),
Show Control Panel( 0 ),
Variables(
X( :"Month/Year"n ),
Y( :Temperature ),
Y( :Predicted Temperature, Position( 1 ) )
),
Elements( Line( X, Y( 1 ), Y( 2 ), Legend( 23 ) ) ),
Local Data Filter(
Add Filter(
columns( :Month Number ),
Modeling Type( :Month Number, Nominal ),
Where( :Month Number == {1, 3} ),
Display(
:Month Number,
N Items( 5 ),
"Check Box Display",
Find( Set Text( "" ) )
)
)
)
);