图表的可变限制取决于产品你好
谢谢阅读。
使用图形构建器在JSL中生成的点图。
我试图让SQL搜索产品列,并为每个产品返回图表上的参考线,以获得该产品的适当限制。
例:
如果产品那么
- 在graphbuilder 88到92上添加参考线
- 在graphbuilder 84到88上添加参考线
- 在graphbuilder 80到84上添加参考线
任何想法如何做到这一点都会很棒。
Re:根据产品的图表变量限制嗨,
我已经看到其他JMP用户通过分别为上限和下限列来管理它。然后将这些图形绘制为图形上的重叠变量(使用连接线图元素)。
在他们的例子中,他们在数据库中有这些列。即每个结果都记录上限和下限。
但是,您可以轻松地将这些作为新的公式列添加到IF语句中,以产生不同的产品限制。添加公式列的代码非常简单。它可以很容易地作为JMP的SQL查询生成器中的查询后脚本添加。
dt = Current Data Table();
dt << New Column ( "Upper",
Numeric,
Continuous,
Formula ( If( :Product == "A",
92,
If( :Product == "B", 88, 84 )
) )
)
Re:根据产品的图表变量限制这很容易做到。但细节将取决于您确切存储数据的方式以及每种产品的元数据(限制)。也许你可以发布一个示例JMP文件?
Re:根据产品的图表变量限制嗨,伊恩
谢谢你的建议。此脚本似乎是在设置值处添加行。
我正在寻找类似的东西,但我希望这些行的值有条件地改变脚本在产品列中找到的产品编号
即
如果是产品1,那么参考线将以极限值3和4插入
如果是产品2,则参考线以极限值5和6插入
我希望quiry能够真正做一个Vlookup(excel术语的appologies)并根据它找到的值来设置限制
Re:根据产品的图表变量限制我不完全确定,但我认为你是在追求这样的事情('性'扮演'产品'的角色);

如您所知,轴参考线不会这样做,因为(按设计)这些在Graph Builder生成的格子图中的所有单元格中都是相同的(以便于比较)。所以你可能不得不求助于图形脚本来绘制水平线:
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt << Graph Builder(
Size( 564, 452 ),
Show Control Panel( 0 ),
Variables( X( Transform Column( "Row", Formula( Row() ) ) ), Y( :height ), Group Y( :sex ), Color( :sex ) ),
Elements( Points( X, Y, Legend( 22 ) ) ),
SendToReport(
Dispatch(
{},
"Graph Builder",
FrameBox,
{Add Graphics Script(
2,
Description( "Script" ),
Pen Color( "Blue" );
H Line( 60 );
H Line( 65 );
), Add Graphics Script( 3, Description( "Script" ), Empty() ), Grid Line Order( 1 ),
Reference Line Order( 4 )}
),
Dispatch(
{},
"Graph Builder",
FrameBox( 2 ),
{Add Graphics Script(
2,
Description( "Script" ),
Pen Color( "Red" );
H Line( 60 );
H Line( 55 );
), Grid Line Order( 1 ), Reference Line Order( 3 )}
)
)
);
Re:根据产品的图表变量限制谢谢回复。
这不是我想要的限制计算。我对每种产品都有限制。根据JMP在产品列中找到的产品,我希望图表在该产品的特定规格限制下添加参考线。
在图形构建器中,我通常会通过右键单击轴然后选择轴设置并添加参考线来添加参考线。我希望此轴线的值根据产品而变化。
我会想象一个If声明可以做到这一点,但我不确定如何做到这一点。
即,如果产品1然后在88和84处添加参考线,则在产品2处添加参考线,然后在84和80处添加参考线
Re:根据产品的图表变量限制如果您只想要控制限制(即由JMP计算),您可以只使用控制图生成器中的“阶段”区域。 使用表示每个数据点来自哪个数据子集的列来堆叠数据,然后将该列放入控制图构建器的阶段区域。