使用 Where 子句在双变量分析中应用本地数据过滤器我正在使用应用程序构建器创建多个仅包含数据子集(带有 where 子句)的双变量图,然后应用本地数据过滤器,用户可以在其中进一步过滤该数据。 例如,我使用 Big Class 创建了一个身高 v 体重的双变量图并选择了男性。 然后我想在这个双变量图上使用年龄分布作为过滤器。 不幸的是,过滤器对图形没有任何作用。 当我对没有 where 的双变量图做同样的事情时(因此它包含所有数据),它工作正常。 我意识到我可以简单地为年龄和性别制作两个过滤器,但是在我想使用它的数据的上下文中我想创建多个双变量图,每个图默认只显示数据的一个子集然后可以被过滤更远。
JMP App(
Set Name( "Dashboard" ),
Set Description( "Selection in one report filters the second" ),
Auto Launch( 1 ),
Snap To Grid( 1 ),
Show Grid( 1 ),
Show Properties( 1 ),
Show Sources( 1 ),
Group By Category( 0 ),
Dashboard Mode( 1 ),
Parameters,
Tables(
DataTable1 = GuiTable(
Set Path( "$SAMPLE_DATA/Big Class.jmp" ),
Set Label( "Big Class" ),
Set Location( "Current Data Table" ),
Set Invisible( 0 )
)
),
Thumbnail(
New Image(
Char To Blob(
"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",
"base64compressed"
),
"png"
)
),
Script(JSL Quote(// This script is executed when the application is run.
// Named objects have been created for the application modules
// (for example, "Module1") and the pre-defined object
// "thisApplication" refers to the application object itself.
// Variables and functions declared here are scoped to the
// Application namespace.
) ),
Allocate(
Module1 = Plan(
PreAllocate,
Script(JSL Quote( thisModuleInstance << Create Objects; MainTabPage << Set Scriptable Object(thisApplication);
) ),
Allocate(
DataFilterContext1 = Data Filter Context Box();
MainTabPage = Tab Page Box();
Splitter1 = H Splitter Box();
DataFilterSource1 = Data Filter Source Box();
TabPage2 = Tab Page Box();
Report2 = Platform(
DataTable1,
Distribution(
Automatic Recalc( 1 ),
Nominal Distribution( Column( :age ) )
)
);
TabPage1 = Tab Page Box();
Report1 = Platform(
DataTable1,
Bivariate( Y( :weight ), X( :height ), Where( :sex == "F" ) )
);
),
Organize(
Reparent( TabPage1( Report1 ) );
Reparent( Splitter1( TabPage1 ) );
Reparent( TabPage2( Report2 ) );
Reparent( DataFilterSource1( TabPage2 ) );
Reparent( Splitter1( DataFilterSource1 ) );
Reparent( MainTabPage( Splitter1 ) );
Reparent( DataFilterContext1( MainTabPage ) );
Relocate( DataFilterContext1( 0, 0 ) );
),
Initialize(
DataFilterContext1 << Background Color( 2147483647 );
DataFilterContext1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Enabled( 1 );
DataFilterContext1 << Horizontal Alignment( "Default" );
DataFilterContext1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Text Color( 2147483647 );
DataFilterContext1 << Vertical Alignment( "Default" );
DataFilterContext1 << Visibility( "Visible" );
MainTabPage << Background Color( 2147483647 );
MainTabPage << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Enabled( 1 );
MainTabPage << Horizontal Alignment( "Default" );
MainTabPage << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Text Color( 2147483647 );
MainTabPage << Vertical Alignment( "Default" );
MainTabPage << Visibility( "Visible" );
MainTabPage << Title( "Dashboard" );
MainTabPage << Tip( "" );
MainTabPage << Icon( "" );
MainTabPage << Closeable( 0 );
MainTabPage << Moveable( 0 );
Splitter1 << Background Color( 2147483647 );
Splitter1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Enabled( 1 );
Splitter1 << Horizontal Alignment( "Default" );
Splitter1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Text Color( 2147483647 );
Splitter1 << Vertical Alignment( "Default" );
Splitter1 << Visibility( "Visible" );
Splitter1 << Dockable( 1 );
Splitter1 << Set Width( 593 );
Splitter1 << Set Height( 525 );
Splitter1 << Set Sizes( {0.315254237288136, 0.684745762711864} );
Splitter1 << set horizontal( 1 );
Splitter1 << Set Min Size( 361, 211 );
Splitter1 << Set Max Size( 60063, 30040 );
Splitter1 << Set Auto Stretching( 1, 1 );
DataFilterSource1 << Background Color( 2147483647 );
DataFilterSource1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Enabled( 1 );
DataFilterSource1 << Horizontal Alignment( "Default" );
DataFilterSource1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Text Color( 2147483647 );
DataFilterSource1 << Vertical Alignment( "Default" );
DataFilterSource1 << Visibility( "Visible" );
TabPage2 << Background Color( 2147483647 );
TabPage2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage2 << Enabled( 1 );
TabPage2 << Horizontal Alignment( "Default" );
TabPage2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage2 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
TabPage2 << Text Color( 2147483647 );
TabPage2 << Vertical Alignment( "Default" );
TabPage2 << Visibility( "Visible" );
TabPage2 << Title( "Distributions" );
TabPage2 << Tip( "" );
TabPage2 << Icon( "Distrib" );
TabPage2 << Closeable( 1 );
TabPage2 << Moveable( 1 );
TabPage1 << Background Color( 2147483647 );
TabPage1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage1 << Enabled( 1 );
TabPage1 << Horizontal Alignment( "Default" );
TabPage1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
TabPage1 << Text Color( 2147483647 );
TabPage1 << Vertical Alignment( "Default" );
TabPage1 << Visibility( "Visible" );
TabPage1 << Title( "TabPage1" );
TabPage1 << Tip( "" );
TabPage1 << Icon( "Bivariate" );
TabPage1 << Closeable( 1 );
TabPage1 << Moveable( 1 );
)
)
),
Initialize(
Module1 << Auto Launch( 1 );
Module1 << Set Module Type( "Report" );
Module1 << Set Window Title( "^TABLENAME - ^APPNAME" );
Module1 << Set Min Size( 0, 0 );
Module1 << Set Max Size( 30000, 30000 );
Module1 << Set Auto Stretching( ., . );
)
) << Edit回复:使用 Where 子句在双变量分析中应用本地数据过滤器太好了,期待更新!
我不确定为什么我的不工作,但我已经通过将命令放入应用程序的脚本部分(在创建应用程序后执行)来修复它(目前)。
IE
DataFilter1 << 可见性("隐藏");回复:使用 Where 子句在双变量分析中应用本地数据过滤器感谢您的澄清,吉姆! 我曾尝试过类似的东西,但并没有得到我想要的结果。 您的示例接近我的需要,但隐藏了所有相关的数据表和图表。 我确定如果我更具体地隐藏哪个窗口会修复它。 从那以后,我找到了另一个目前有效的解决方案。 感谢您的帮助!!回复:使用 Where 子句在双变量分析中应用本地数据过滤器本地数据过滤器和选择过滤器都已在 JMP 14(2018 年 3 月可用)中更新,以更好地支持子集表,包括您的情况下带有 By 或 Where 子句的报告。我测试了您的原始脚本,它似乎可以正常工作。
使用过滤器而不是 Where 的解决方法是一个好方法 - 我使用 JMP 13.2 进行了测试,没有发现过滤器变得可见的问题。
回复:使用 Where 子句在双变量分析中应用本地数据过滤器由于它不是直接引用您的应用程序,而是指向打开的数据表,因此您实际上可以将其放置在打开该表后的任何位置。下面,我刚刚将它放在您的“运行”消息之后。
JMP App(
Set Name( "Dashboard" ),
Set Description( "Selection in one report filters the second" ),
Auto Launch( 1 ),
Snap To Grid( 1 ),
Show Grid( 1 ),
Show Properties( 0 ),
Show Sources( 1 ),
Group By Category( 0 ),
Dashboard Mode( 1 ),
Parameters,
Tables(
DataTable1 = GuiTable(
Set Path( "$SAMPLE_DATA/Big Class.jmp" ),
Set Label( "Big Class" ),
Set Location( "Current Data Table" ),
Set Invisible( 0 )
)
),
Thumbnail(
New Image(
Char To Blob(
"52404eJytVvs70w0b/262OSxzbBPDSActUz1Cc445hOUwlWIjGV6HmcqUYRQeEaHSwXmVnponM7IcN3PlWGhKcg5J8ZKHGo0ez/sXvNd7vT987s/1ue/7un+67891Z3gQnRQVNBUAAFB0cXbw2mLWP5CDbUWRdWD3FkFC7NztAICbA5cGQre0fLSz73kAQAj/AYifG76wlYO5ONiR4sgLRQvepEHt9jWldeML6/VFjQfFJy/1h91HRRY9ukvUys8SX/Da9SilH7KLb/l5GYPpVaUT1JUdCCjkex+dc3bJcvdYQkxDVRW829pmqQa3b7z4fLxipf28103/f68lUJunxs7rxv4oVJotPr8InTpa5lHcPjVXNRShzePx1JMPmZkNqoTUDcsK4tZXDAmllvHfs8wsPvLlnz59+gasp5MHjMgddXMGhL4nWTMzwVUxVXZggpD+wu8rXABLewODw+Hq0BA6nZ4AipsyNjLqdL2at+YJ4utdXdYDQfacBTWSjfcj4ZwTWAKIOxQRbY7OhQu0kphMtFgsvnPvnqqp9Ce2DCFhLMVZblUqJy3o4ZLL/fqvsgpxEqY134oMkVqbf5rnSFMj0cQ4ZlQPd5BZNDyb3D0nCaSutiyLDjYWJ+kGFUWSCXEWr3t7aW5AFILSbvMglF5vVZVow5q/ecX5SAyE8vbz5JLsw2Mr8X6cfr9Tp/xSRi1TPn1AxB3V65Gd7Uv0TJ90it1vJAksqf3tCJhjCchaPBr+WkC20HZTj722Wl3ibGzxaNwa1PR8Rz4iZ//QUyVae8ABZ7CDZkFvTrqj9rFrh+/cM9VzLUrONIsShYaKFmSpPe4JSqMXjaIYdeyVANCXlcgqfiU/zzPNm+LDHjIHkgQ5wtfIAUpY2qs5oTPF4vRK0Z1C7pRQO5bTrJe1bbXs+0iY+vTt1vmzMTcArkrBYHp6U+RjDqe9dV9fSN9H6RrssWrsFE32TekfHfZML0Ra+uXSD+c1nkyF7W0YSHPdE0MnJajuCDM0Z5Qhj/hCzW8VZNR/tTpgWiTUTapTC9HE7WRQDpm8Pex8vPuop1D+wQNUUJeaAejsLtw7/5xqndJGKTiCl/94r4uIm0/owBk6xLQ6hS40w93pyGOvT0xGUHf2TI2X76tQqHi7dmDk0tXN8BD6RDd779uxVAYHdelu+w1yIuLFXIb57aKMLg51m+KXXC+SUrsEk10xK5zeDTq7m1iHErMZ0dK/IGjiMUf/du1tF/wcY6oVKoi3Sn3GswZ27iOFrx4YGG9lcwM1cIwJxwQjrzyEfh1f83Y6u+O468sy0dznhYbM5caIBzpEgr14e83ABaFpCOFis2Z6tgF7ZX57D79EyYSSsGkMiiskVpikqOM4xEKc2X38i8kAHshGS23J7v7wTEpBUyw3uVA0l5aj+MmSbPZ0T8HKs4JXmpZRKK1pLqg4R2nlPT5MV5cZZeYXEd3ZXbI4FcyDbVontpy83HvRphsrR3Mae6kCF1Sw2Gz2gbtu6tC2CFNXBnMnEoNGuJ6UMeySaylWkYPoo1gMrUbUxDuP50kSc1YJzNQEdsrXN7dA7qEyF5B+Ek6158zsOmp4A0jhGYIkhsm0dl2jcgedzZrtz7pnez855bvLC2gqfy2jjA95kIs7O11GGi/lv1rdeGM7P9YU79n9CDIhY392akmntLbW5172H6R9oSaapBMnHHfdR2KQ9dwFWEsqZ/DrwzGMjQ0Fdx1hYKsehwOezTY2Ws4xVsuh8spQdWPBxETphWw1q8Zc342u2uq0cujE4B01VdW+gQEDZld3tyeJZDDYo3kNyVpsGCtAqlh3YI2MbhW886gBpI88a5yec8FJWc0cjhv59BWIMkTVNnrLQbb8IB2ijP7fRcZhUGFz8AOf6/oNr6+63S50VetSxlQpv+zgKw3SfPtj42F49vbBD0Z9saeim4JUa+udNDToApRcZ3yEIne34E5nakmTT7b24kA1aaqgQXH4DMtDYvhhnUo/bZGch6VO+6NFGXClXM+DKdPleszbozlNTg1cbD/LZjFc+CdE+7XJtqDEg/t1J1dVw8GWQYtBJc9bTQOTRfjUL08pNBpo/3fovBs/eWPtR/RynvzMdbXH/Jcxb6+2fvFEY3/BOtcY33ypNtab1bJJkmlYYjMPlvAjclmFbMy1hvXtaK/7ZYhpqlFqkXjvTFzNiZWaNqvJEhF2w+GEYN6Okk8jIkre+lIsUylRm9amtUgmNB7LqVwviQnyByIH339HYfhLGhm+o++/nTRK5NWpxQ/I8EeChTsq5XV1tAXDP7M4jbIWY+KgQaGp+civjSbyHgMBkluDfpl4OH9iw5TJlIYP1B0vfxIMTurlZ44vtlw3swlt/1lSJ5oZrX85ewM40xETCv1F+jExaj/KjxOnaIoMvlMRk5U5eO5X+DtJcWUkk8iB9/XTvLIB9JgaGh/oYDcqY6IZ+b7yi0iWonGqzsaYxq1tewJsiBB+IeJzb+fsguUF32TtnfFDMu5i8zGLc4KVLAqZt7rVY2SWrvJDrN/WFEYqBgrxowyJCU8r1edKjMuF32e8bU8Omkk6tXy61Cccn+2IP1TvcXH1zAsDfNu6RmnDT4tghb7L4eiSxzQ7cTQFl4Hg4gCnXLCJpuO315u7bxbq3nAtl5FX3qVjGYOpK0dt/GD/rMty+T+s538pVLyAhlEiuGMJj8Xhbv/nZjIzM53d3BwCA8uWXNzdUx3ZueFURQJcMEmJplIdJUuXmcvTGX7Y8L1k4OPMljP8VQ70c+xVMQrSCuBftZd/fge8vb3fpFP8/R9GYIQByvgihHXJ8S+gah4vNz9f7VbEMYBM5Z46YGXlPmTbQ+WRGFgs1ssqTTT5ONgbHP3ut8Ll5TbV+0jW+7Gt6fZgOWIbeAl7mhu7qW96vA2s3HUVolyouz0gLMyFrH+zpx5cdWhOiEgMLygfWdJdvgidwK4tuG1GyxJe0PFFX+G2v8vIY8zzAJMWFApnG4JRZo0vVsghE8/gcWjE+GQFy2Ovg8peafVmV5fCJtSgNuEOtIxfu/UmAS4EosOfRwNS/gbTRDjy",
"base64compressed"
),
"png"
)
),
Script(JSL Quote(// This script is executed when the application is run.
// Named objects have been created for the application modules
// (for example, "Module1") and the pre-defined object
// "thisApplication" refers to the application object itself.
// Variables and functions declared here are scoped to the
// Application namespace.
) ),
Allocate(
Module1 = Plan(
PreAllocate,
Script(JSL Quote( thisModuleInstance << Create Objects; MainTabPage << Set Scriptable Object(thisApplication);
) ),
Allocate(
DataFilterContext1 = Data Filter Context Box();
MainTabPage = Tab Page Box();
Splitter1 = H Splitter Box();
DataFilterSource1 = Data Filter Source Box();
TabPage2 = Tab Page Box();
Report2 = Platform(
DataTable1,
Distribution(
Automatic Recalc( 1 ),
Nominal Distribution( Column( :age ) )
)
);
TabPage1 = Tab Page Box();
Report1 = Platform(
DataTable1,
Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
Local Data Filter(
Mode( Include( 0 ) ),
Add Filter( columns( :sex ), Where( :sex == "M" ) ),
Invisible
)
)
);
),
Organize(
Reparent( TabPage1( Report1 ) );
Reparent( Splitter1( TabPage1 ) );
Reparent( TabPage2( Report2 ) );
Reparent( DataFilterSource1( TabPage2 ) );
Reparent( Splitter1( DataFilterSource1 ) );
Reparent( MainTabPage( Splitter1 ) );
Reparent( DataFilterContext1( MainTabPage ) );
Relocate( DataFilterContext1( 0, 0 ) );
),
Initialize(
DataFilterContext1 << Background Color( 2147483647 );
DataFilterContext1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Enabled( 1 );
DataFilterContext1 << Horizontal Alignment( "Default" );
DataFilterContext1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Text Color( 2147483647 );
DataFilterContext1 << Vertical Alignment( "Default" );
DataFilterContext1 << Visibility( "Visible" );
MainTabPage << Background Color( 2147483647 );
MainTabPage << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Enabled( 1 );
MainTabPage << Horizontal Alignment( "Default" );
MainTabPage << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Text Color( 2147483647 );
MainTabPage << Vertical Alignment( "Default" );
MainTabPage << Visibility( "Visible" );
MainTabPage << Title( "Dashboard" );
MainTabPage << Tip( "" );
MainTabPage << Icon( "" );
MainTabPage << Closeable( 0 );
MainTabPage << Moveable( 0 );
Splitter1 << Background Color( 2147483647 );
Splitter1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Enabled( 1 );
Splitter1 << Horizontal Alignment( "Default" );
Splitter1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Text Color( 2147483647 );
Splitter1 << Vertical Alignment( "Default" );
Splitter1 << Visibility( "Visible" );
Splitter1 << Dockable( 1 );
Splitter1 << Set Width( 773 );
Splitter1 << Set Height( 525 );
Splitter1 << Set Sizes( {0.241558441558441, 0.758441558441559} );
Splitter1 << set horizontal( 1 );
Splitter1 << Set Min Size( 361, 211 );
Splitter1 << Set Max Size( 60063, 30040 );
Splitter1 << Set Auto Stretching( 1, 1 );
DataFilterSource1 << Background Color( 2147483647 );
DataFilterSource1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Enabled( 1 );
DataFilterSource1 << Horizontal Alignment( "Default" );
DataFilterSource1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Text Color( 2147483647 );
DataFilterSource1 << Vertical Alignment( "Default" );
DataFilterSource1 << Visibility( "Visible" );
TabPage2 << Background Color( 2147483647 );
TabPage2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage2 << Enabled( 1 );
TabPage2 << Horizontal Alignment( "Default" );
TabPage2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage2 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
TabPage2 << Text Color( 2147483647 );
TabPage2 << Vertical Alignment( "Default" );
TabPage2 << Visibility( "Visible" );
TabPage2 << Title( "Distributions" );
TabPage2 << Tip( "" );
TabPage2 << Icon( "Distrib" );
TabPage2 << Closeable( 1 );
TabPage2 << Moveable( 1 );
TabPage1 << Background Color( 2147483647 );
TabPage1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage1 << Enabled( 1 );
TabPage1 << Horizontal Alignment( "Default" );
TabPage1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
TabPage1 << Text Color( 2147483647 );
TabPage1 << Vertical Alignment( "Default" );
TabPage1 << Visibility( "Visible" );
TabPage1 << Title( "Bivariate Fit of weight By height" );
TabPage1 << Tip( "" );
TabPage1 << Icon( "Bivariate" );
TabPage1 << Closeable( 1 );
TabPage1 << Moveable( 1 );
)
)
),
Initialize(
Module1 << Auto Launch( 1 );
Module1 << Set Module Type( "Report" );
Module1 << Set Window Title( "^TABLENAME - ^APPNAME" );
Module1 << Set Min Size( 0, 0 );
Module1 << Set Max Size( 30000, 30000 );
Module1 << Set Auto Stretching( ., . );
)
) << Run;
current data table() << show window(0);回复:使用 Where 子句在双变量分析中应用本地数据过滤器您好吉姆,感谢您的回复和建议。 您能否说明我将在脚本中的哪个位置插入该命令? 当我把它放在平台配置中时,它似乎没有做任何事情。 当我把它放在初始化函数中时,它隐藏了整个应用程序窗口。
我不知道如何在应用程序的脚本区域中引用平台对象本身。 Get scriptable object 不起作用并给我一个错误,它不能在列表框上使用,但我找不到具有该平台的容器。 我想将消息发送到那个对象吗?
再次感谢你的帮助。
回复:使用 Where 子句在双变量分析中应用本地数据过滤器我认为您可以通过使用“Invisible”而不是“Invisible”来解决“Invisible”设置的问题,使用
current data table()<<SHOW window=""></SHOW>
回复:使用 Where 子句在双变量分析中应用本地数据过滤器该解决方案工作时间很短,但并不一致。 现在,当我运行下面的脚本并创建应用程序时,应该是不可见的本地数据过滤器是可见的。 任何其他方法来完成此操作的任何想法,或者为什么本地数据过滤器可能会在不受欢迎的时候出现。
回复:使用 Where 子句在双变量分析中应用本地数据过滤器我找到了一个在双变量表中使用本地数据过滤器并将其设置为不可见的解决方案。
我通过用以下内容替换“Report1”部分来完成此操作:
Report1 = Platform(
DataTable1,
Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
Local Data Filter(
Mode( Include( 0 ) ),
Add Filter( columns( :sex ), Where( :sex == "M" ) ),
Invisible
)
)
);
所以总的结果是:
JMP App(
Set Name( "Dashboard" ),
Set Description( "Selection in one report filters the second" ),
Auto Launch( 1 ),
Snap To Grid( 1 ),
Show Grid( 1 ),
Show Properties( 0 ),
Show Sources( 1 ),
Group By Category( 0 ),
Dashboard Mode( 1 ),
Parameters,
Tables(
DataTable1 = GuiTable(
Set Path( "$SAMPLE_DATA/Big Class.jmp" ),
Set Label( "Big Class" ),
Set Location( "Current Data Table" ),
Set Invisible( 0 )
)
),
Thumbnail(
New Image(
Char To Blob(
"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",
"base64compressed"
),
"png"
)
),
Script(JSL Quote(// This script is executed when the application is run.
// Named objects have been created for the application modules
// (for example, "Module1") and the pre-defined object
// "thisApplication" refers to the application object itself.
// Variables and functions declared here are scoped to the
// Application namespace.
) ),
Allocate(
Module1 = Plan(
PreAllocate,
Script(JSL Quote( thisModuleInstance << Create Objects; MainTabPage << Set Scriptable Object(thisApplication);
) ),
Allocate(
DataFilterContext1 = Data Filter Context Box();
MainTabPage = Tab Page Box();
Splitter1 = H Splitter Box();
DataFilterSource1 = Data Filter Source Box();
TabPage2 = Tab Page Box();
Report2 = Platform(
DataTable1,
Distribution(
Automatic Recalc( 1 ),
Nominal Distribution( Column( :age ) )
)
);
TabPage1 = Tab Page Box();
Report1 = Platform(
DataTable1,
Bivariate(
Y( :weight ),
X( :height ),
Automatic Recalc( 1 ),
Local Data Filter(
Mode( Include( 0 ) ),
Add Filter( columns( :sex ), Where( :sex == "M" ) ),
Invisible
)
)
);
),
Organize(
Reparent( TabPage1( Report1 ) );
Reparent( Splitter1( TabPage1 ) );
Reparent( TabPage2( Report2 ) );
Reparent( DataFilterSource1( TabPage2 ) );
Reparent( Splitter1( DataFilterSource1 ) );
Reparent( MainTabPage( Splitter1 ) );
Reparent( DataFilterContext1( MainTabPage ) );
Relocate( DataFilterContext1( 0, 0 ) );
),
Initialize(
DataFilterContext1 << Background Color( 2147483647 );
DataFilterContext1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Enabled( 1 );
DataFilterContext1 << Horizontal Alignment( "Default" );
DataFilterContext1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterContext1 << Text Color( 2147483647 );
DataFilterContext1 << Vertical Alignment( "Default" );
DataFilterContext1 << Visibility( "Visible" );
MainTabPage << Background Color( 2147483647 );
MainTabPage << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Enabled( 1 );
MainTabPage << Horizontal Alignment( "Default" );
MainTabPage << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
MainTabPage << Text Color( 2147483647 );
MainTabPage << Vertical Alignment( "Default" );
MainTabPage << Visibility( "Visible" );
MainTabPage << Title( "Dashboard" );
MainTabPage << Tip( "" );
MainTabPage << Icon( "" );
MainTabPage << Closeable( 0 );
MainTabPage << Moveable( 0 );
Splitter1 << Background Color( 2147483647 );
Splitter1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Enabled( 1 );
Splitter1 << Horizontal Alignment( "Default" );
Splitter1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
Splitter1 << Text Color( 2147483647 );
Splitter1 << Vertical Alignment( "Default" );
Splitter1 << Visibility( "Visible" );
Splitter1 << Dockable( 1 );
Splitter1 << Set Width( 773 );
Splitter1 << Set Height( 525 );
Splitter1 << Set Sizes( {0.241558441558441, 0.758441558441559} );
Splitter1 << set horizontal( 1 );
Splitter1 << Set Min Size( 361, 211 );
Splitter1 << Set Max Size( 60063, 30040 );
Splitter1 << Set Auto Stretching( 1, 1 );
DataFilterSource1 << Background Color( 2147483647 );
DataFilterSource1 << Border(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Enabled( 1 );
DataFilterSource1 << Horizontal Alignment( "Default" );
DataFilterSource1 << Margin(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
DataFilterSource1 << Text Color( 2147483647 );
DataFilterSource1 << Vertical Alignment( "Default" );
DataFilterSource1 << Visibility( "Visible" );
TabPage2 << Background Color( 2147483647 );
TabPage2 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage2 << Enabled( 1 );
TabPage2 << Horizontal Alignment( "Default" );
TabPage2 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage2 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
TabPage2 << Text Color( 2147483647 );
TabPage2 << Vertical Alignment( "Default" );
TabPage2 << Visibility( "Visible" );
TabPage2 << Title( "Distributions" );
TabPage2 << Tip( "" );
TabPage2 << Icon( "Distrib" );
TabPage2 << Closeable( 1 );
TabPage2 << Moveable( 1 );
TabPage1 << Background Color( 2147483647 );
TabPage1 << Border( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage1 << Enabled( 1 );
TabPage1 << Horizontal Alignment( "Default" );
TabPage1 << Margin( {Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )} );
TabPage1 << Padding(
{Left( 0 ), Top( 0 ), Right( 0 ), Bottom( 0 )}
);
TabPage1 << Text Color( 2147483647 );
TabPage1 << Vertical Alignment( "Default" );
TabPage1 << Visibility( "Visible" );
TabPage1 << Title( "Bivariate Fit of weight By height" );
TabPage1 << Tip( "" );
TabPage1 << Icon( "Bivariate" );
TabPage1 << Closeable( 1 );
TabPage1 << Moveable( 1 );
)
)
),
Initialize(
Module1 << Auto Launch( 1 );
Module1 << Set Module Type( "Report" );
Module1 << Set Window Title( "^TABLENAME - ^APPNAME" );
Module1 << Set Min Size( 0, 0 );
Module1 << Set Max Size( 30000, 30000 );
Module1 << Set Auto Stretching( ., . );
)
) << Run