希望有人可以阐明我的问题吗?我想使用2x1 Dashboard Builder模板并排放置两个地图。每个映射都来自其自己独特的JMP数据表。在我从热点运行仪表板之前,一切似乎都运行良好。然后,我得到一个空白的模板正方形,另一个填充了所需的地图。在“预览”模式下,两个地图的填充都很好。仅当我运行仪表板时,我才会得到此anomolie。有什么想法吗?
那是个好消息。从我作为SE而言,仪表板构建器是版本13中的“杀手级”应用程序之一。每次我展示它时,人们都会非常兴奋。尤其是那些使用Application Builder破坏相同数据可视化的人,共享巨龙……更高效地构造了简单的仪表板,而无需花很多钱就能保留许多JMP的核心数据/可视化交互性。
我得到对话框。奇怪的是,可以识别第二个表路径,但不能识别第一个。这是否意味着对于两表仪表板,用户每次运行时都必须重新建立与数据表的连接?我认为这不是理想的行为,因为指向第一个表的路径是正确的。
嗯-运行时,您将不得不打开数据表并将其与仪表板脚本关联。例如。我已经在Mac分区上创建了此文件,保存了应用程序源,然后在Windows版本的JMP上运行了它。双击仪表板应用程序源时,将显示以下屏幕(假定您正在看到此屏幕):

浏览并打开两个文件,然后在仪表板脚本中将它们与适当的数据表相关联。然后单击运行。
从上面的peter脚本中,您可能需要删除>> Run。
我不是从UI运行它,而是从脚本运行它时出现了这种现象。我什至没有进入UI。我看到一个对话框,要求我选择第一个表。
Don-您是否可以尝试更改UI中的当前数据表(如我的屏幕快照所示)。那也应该为您工作(我希望!)
当我尝试从脚本运行仪表板时,得到的结果与Peter相似。由于某种原因,即使路径正确,JMP也无法识别第一个表。
丹:像魅力一样工作。将所有列都放在一个数据表中也是可行的。再次证明,在JMP中几乎总是有不止一种方法来完成一项任务...但是您建议的数据表切换器类型的想法对于此类事情是一个不错的技巧。
对于所有跟随此线程的人...我通过表->按行号联接将所有列放入一个JMP数据表。通过嵌入脚本从每个原始数据表中绘制地图,并对其进行标记,所有工作都像一个魅力。感谢所有您的评论并对此进行深入研究。
我怀疑这会为您解决的。进入数据表视图并更改当前数据表。

我认为这与您要尝试的类型相同,更改当前数据表对我来说很有效。确保当前数据表是最左侧图表的数据表(以我的情况为SF Crime,而不是311被阻塞的车道)。

您也可以共享表格吗?如果从脚本或仅从热点运行它,是否得到相同的结果?
谢谢Dan。我还将把两个映射所需的所有列都放在一个JMP数据表中,看看是否可以解决问题。对于我正在从事的这个特定项目,没有理由我不能从一个数据表中做到这一点……我只是任意选择了两个不同的数据表。
JMP App(
Set Name( "Dashboard" ),
Set Description( "Two reports arranged horizontally" ),
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(
"/C:/Users/pebart/Documents/Data/Work Videos & Articles/MidAtlanticCurrentMap.jmp"
),
Set Label( "MidAtlanticCurrentMap" ),
Set Location( "Current Data Table" ),
Set Invisible( 0 )
),
DataTable2 = GuiTable(
Set Path(
"/C:/Users/pebart/Documents/Data/Work Videos & Articles/MidAtlanticOpportunityMap.jmp"
),
Set Label( "MidAtlanticOpportunityMap" ),
Set Location( "Name" ),
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(
MainTabPage = Tab Page Box();
Splitter1 = H Splitter Box();
TabPage1 = Tab Page Box();
Report1 = Platform(
DataTable1,
Graph Builder(
Size( 457, 457 ),
Variables,
Elements( Points( Legend( 1 ) ) )
)
);
TabPage2 = Tab Page Box();
Report2 = Platform(
DataTable2,
Graph Builder(
Size( 427, 457 ),
Variables(
Color( :Name( "Opportunity Value ($)" ) ),
Shape( :County )
),
Elements(
Map Shapes( Legend( 7 ), Summary Statistic( "Sum" ) )
),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Background Map(
Images( "Street Map Service" ),
Boundaries( "US Counties" )
), Grid Line Order( 3 ), Reference Line Order( 4 )}
)
)
)
);
),
Organize(
Reparent( TabPage2( Report2 ) );
Reparent( Splitter1( TabPage2 ) );
Reparent( TabPage1( Report1 ) );
Reparent( Splitter1( TabPage1 ) );
Reparent( MainTabPage( Splitter1 ) );
Relocate( MainTabPage( 0, 0 ) );
),
Initialize(
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( 1924 );
Splitter1 << Set Height( 554 );
Splitter1 << Set Sizes( {0.489328474752733, 0.510671525247267} );
Splitter1 << set horizontal( 1 );
Splitter1 << Set Min Size( 1634, 441 );
Splitter1 << Set Max Size( 60003, 30000 );
Splitter1 << Set Auto Stretching( 1, 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( "Graph Builder" );
TabPage1 << Tip( "" );
TabPage1 << Icon( "Trellis" );
TabPage1 << Closeable( 1 );
TabPage1 << Moveable( 1 );
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( "Graph Builder" );
TabPage2 << Tip( "" );
TabPage2 << Icon( "Trellis" );
TabPage2 << Closeable( 1 );
TabPage2 << 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
两个表都保存到磁盘了吗?我怀疑没有显示的那个仅在内存中。在运行时创建,也许吗?
唐
您的数据表是否包含源脚本?当他们这样做时,会弹出一个对话框,询问您是否要从源脚本运行它还是引用表。当您引用表或数据集没有源脚本时,我看到的是您面临的相同问题。每次从源脚本运行数据表时,它们都出现在最终的仪表板中。您可以使用JMP查询生成器临时在数据表上创建源脚本。
谢谢Mike ...预览模式可以正常工作似乎有点奇怪...但是Run Mode ...却不行。如果我尝试在仪表板中重建丢失的地图,它将仅调用最靠前的JMP数据表,该表就是填充到另一个面板的地图。我怀疑你是对的。我想知道某种虚拟加入途径是否可以工作?在预览模式下工作似乎还是很奇怪,但在运行模式下却不行,这就是为什么我认为我可能会遗漏一些明显的东西。