任何关于如何正确实施的解释将不胜感激。
在 JSL 中向汇总表添加计算大家好,
回到另一个让我困惑的问题,尝试通过创建新列将计算添加到摘要中。我正在尝试创建名为 GD1 的列,我希望将 N(4) 和 N(5) 列中的值(如果存在)相加。这是我尝试检查这些列是否存在并对它们进行求和(如果存在),这似乎在调试器中终止,但我不明白为什么:
Data Table( "Fun pull" ) << Summary(
Group( :Name( "90440011_119325" ) ),
N,
Subgroup( :Sort_Lot ),
Freq( "None" ),
Weight( "None" );
newcol1 = Expr(
Current Data Table() << New Column( "GD1",
Numeric,
"Continuous",
Formula( Sum( :Name( "N(1)" ), :Name( "N(2)" ), :Name( "N(3)" ) ) )
)
);
Eval( Eval Expr( newcol1 ) );
newcol2 = Expr(
Current Data Table() << New Column( "Test",
formula(
If( Contains( Current Data Table() << get column names( string ), "N(4)" ),
Sum( :GD1, Name( "N(4)" ) ),
If( Contains( Current Data Table() << get column names( string ), "N(5)" ),
Sum( :GD1, Name( "N(5)" ) ),
Sum( :GD1 )
)
)
)
);
Eval( Eval Expr( newcol2 ) );
);
)
任何有关如何正确实现这一点的解释将不胜感激。
质量和工艺工程回复:将计算添加到 JSL 中的汇总表JSL 的主要问题是摘要平台的右括号包括用于创建新列的所有 JSL。摘要平台需要完成,然后添加新列。
其次,由于在摘要平台中创建的数据表中列的实际名称的细节,因此不需要使用您尝试的复杂代码。在下面的示例中,我简化了您的代码。
第三,我更改了您的代码,使数据表引用更加具体,从而使代码更具可读性,并确保 JMP 确切知道要处理的数据表。此外,我更改了对结构中具有复杂名称的列的引用
:Name( "name" )
到
:"name"n
这是将在未来使用的已宣布结构。
Data Table( "semiconductor capability" ) << Summary(
Group( :"90440011_119325"n ),
N,
Subgroup( :Sort_Lot ),
Freq( "None" ),
Weight( "None" ),
Output Table( "New Table" )
);
Data Table( "New Table" ) << New Column( "GD1",
Numeric,
"Continuous",
Formula( Sum( :"N(1)"n, :"N(2)"n, :"N(3)"n ) )
);
Current Data Table() << New Column( "Test",
formula(
If( Contains( Data Table( "New Table" ) << get column names( string ), "N(4)" ),
Sum( :GD1, :"N(4)"n ),
If( Contains( Data Table( "New Table" ) << get column names( string ), "N(5)" ),
Sum( :GD1, :"N(5)"n ),
Sum( :GD1 )
)
)
)
);
回复:将计算添加到 JSL 中的汇总表非常清晰的解释,非常感谢!