使用部分数据集强制完整地图嗨,
我希望有人可以在这里提供一些指导。 作为更大的报告生成的一部分,我使用以下脚本生成晶圆热图:
Graph1 = dt << Graph Builder(
尺寸(300,300),
显示控制面板(0),
显示页脚(0),
Y组边缘(“左”),
变量(
X组(:Col,显示标题(0)),
X组(:ChipCol,显示标题(0)),
Y组(:行,显示标题(0)),
Y组(:ChipRow,显示标题(0)),
颜色(:test_value)
)
Where((:ReportLevel == Report_Level&:lot == this_lot&:wafer == this_wafer)),
通过(:VarDescription),
元素(热图(图例(13))),
SendToReport(
Dispatch({},“graph title”,TextEditBox,{Set Text(“”)}),
Dispatch({},“X title”,TextEditBox,{Set Wrap(2)}),
Dispatch({},“Y title”,TextEditBox,{Set Wrap(2)})
)
)
我有多达150个可能的值:VarDescription并发现在循环中运行它来创建每个单独的地图,附加日志,并关闭地图非常笨重。 我发现允许图形构建器使用By(:VarDescription)语句一次创建所有地图更加流畅,并且为了构建我的日志,我可以从图形对象中的数组位置中获取各个地图。 让我陷入困境的是,获取完整地图的前提是拥有所有网站的值,否则我会得到部分合并的地图。 即使我只测试了一些网站,我也希望显示整个地图以供空间考虑。 在我的数据表中,我包括一些引用(虚拟)行,它们表示第一列和第一行中所有位置的空白值。 当包括“虚拟”行时,这有效地将强制在图形构建器中显示完整映射。 我遇到的问题是如何在图形构建器中使用By(:VarDescription)语句与使用过滤器(Where)语句时,为每个映射包含这些引用行。 在初始创建地图时,我认为没有办法做到这一点。 事后是否有办法将数据附加到图形对象?或者修改生成的过滤?我注意到日志中的各个地图最终都有修改后的过滤器,我假设是由By()语句生成的。 作为适合这种方法的替代工作,我考虑过为所有人创建“虚拟”行:VarDescription可能性,但数据表会变得非常庞大和混乱。 我试图避免这种情况。
谢谢!
Re:使用部分数据集强制完整地图吉姆 - 谢谢!这是一个很好的方法。 我一直在学习JMP,我认为为每个情节制作一个循环方法的一部分,如此笨拙的早期是我没有经验,无法生成图形和表格进行操作并在幕后关闭它们。 我喜欢以这种方式创建模板的想法,只是在任何存在的地方填充数据。 我可能需要彻底检查我脚本的一大块,因为我正在做很多不同的处理,但从长远来看它会更好。 再次感谢!
科里
Re:使用部分数据集强制完整地图这是一个脚本,我相信会给你你想要的东西。 它将在日志窗口中生成所有晶圆图。 我从Graph Builder脚本中省略了Where()子句,因为我没有可用的值,但您应该能够添加该行而没有实际问题。
Names Default To Here( 1 );
dt = Current Data Table();
// Create the empty wafer map data set
dtWaferMap = dt << Summary(
private,
Group( :Col, :ChipCol, :Row, :ChipRow ),
Freq( "None" ),
Weight( "None" )
);
dtWaferMap << delete columns( "N Rows" );
// Get a list of all of the VarDescriptions
Current Data Table( dt );
Summarize( dt, byVarDes = by( :VarDescription ) );
// Create the output journal
NW = New Window( "Heat Maps", <<JOURNAL></JOURNAL>

Re:使用部分数据集强制完整地图我实际上已经开始使用Page()方式,但问题是它只有在所有地图描述相同参数的子集时才有效,因为有一个共同的图例/比例。 我真的需要每个地图都是一个不同的参数,By()实际上创建了离散的图。
Re:使用部分数据集强制完整地图我使用您的数据结构编制了一些示例数据,并创建了热图的副本。然后我添加了第二个VarDescription值集,只有一部分单元格。 然后,我没有使用“BY”,而是将VarDescription放到了Page区域,得到了以下内容

Page的问题在于它只允许100页的值。 但是,通过将数据子集化为100页样本可以轻松克服这一问题。
这是Graph Builder生成的代码
Graph Builder(
Size( 418, 646 ),
Show Control Panel( 0 ),
Show Footer( 0 ),
Y Group Edge( "Left" ),
Variables(
Page( :VarDescription ),
Group X( :Col, Show Title( 0 ) ),
Group X( :ChipCol, Show Title( 0 ) ),
Group Y( :Row, Show Title( 0 ) ),
Group Y( :ChipRow, Show Title( 0 ) ),
Color( :test_value )
),
Elements( Heatmap( Legend( 33 ) ) ),
SendToReport( Dispatch( {}, "graph title", TextEditBox, {Set Text( "" )} ) )
);
Re:使用部分数据集强制完整地图就像后续行动一样,我对形状图有了更多看法。 看起来它可能以某种方式工作,但我不知道如何轻松采用我的绘图的行/列,子行/子行格式,这对我们的应用程序很重要。 我想我可以蛮力。 我正在生成的地图不仅仅用作x / y坐标上的最终产品空间表示。 它们用于寻址零件并快速与其他人沟通。 以x / y进行处理只会增加另一层翻译,这对我们的目的来说有点笨拙。
Re:使用部分数据集强制完整地图
Row和Col基本上定义了地图网格。 ChipRow和ChipCol基本上是子行和子列。
这是为每个唯一的:VarDescription生成的示例输出。 这是所有网站都有数据时的显示方式。

我正在尝试做的是强制它看起来完整,即使是部分数据。 虚拟行实现了这一点,我得到了这个。

没有虚拟行的好处,这就是它看起来像......

我没有探索过形状图,但是通过一些前期工作,这可能是更好的方法。 我可以再看一下。
Re:使用部分数据集强制完整地图我试图复制你的问题。
几个问题:
你能插入你的结果的屏幕截图吗?
Row和ChipRow以及Col和ChipCol的定义是什么?
你有没有探索过使用形状图?