嗨我正在嘗試2列之間的基本Delta,我想選擇使用對話框來選擇兩列並使用基本的delta XY公式。但是,我似乎無法找到正確的語法。 公式沒有進入正在創建的新列。當我將鼠標懸停在my_X和my_Y字段上時,它們會顯示正確的名稱。 你能建議......
dt_values = 當前數據表 () ;
cdlg = 列對話框 ( yCols = ColList ( “POR” , MinCol ( 1 ) , MAXCOL ( 1 ) ) ) ;
my_Y = cdlg [ “yCols” ] ;
cdlg = 列對話框 ( xCols = ColList ( “差別” , MinCol ( 1 ) , MAXCOL ( 1 ) ) ) ;
my_X = cdlg [ “xCols” ] ;
dt_values << 新欄目 ( “三角洲” ,數字 ,格式 ( “固定十二月” , 10 , 2 ) ,式 ( 柱 ( my_X [ 1 ]) ) - ( 柱 ( my_Y [ 1 ]))) ;
基本表
感謝兩個代碼,他們都工作。 我用了第二個:-)
我將根據您的建議檢查模態,但是對於對話框是否仍然可以在將來工作很好奇,因為許多腳本目前正在使用對話框功能。
這是您腳本的解決方案。
dt_values = Current Data Table();
cdlg = Column Dialog( yCols = ColList( "POR", MinCol( 1 ), MaxCol( 1 ) ) );
my_Y = cdlg["yCols"];
cdlg = Column Dialog( xCols = ColList( "Diff", MinCol( 1 ), MaxCol( 1 ) ) );
my_X = cdlg["xCols"];
dt_values << New Column( "Delta",
Numeric,
Format( "Fixed Dec", 10, 2 ),
formula( eval(my_X[1] ) - eval( my_Y[1] ))
);
但是,更好的代碼版本是:
dt_values = Current Data Table();
cdlg = Column Dialog( yCols = ColList( "POR", MinCol( 1 ), MaxCol( 1 ) ) ,xCols = ColList( "Diff", MinCol( 1 ), MaxCol( 1 ) ) );
my_Y = cdlg["yCols"];
my_X = cdlg["xCols"];
Eval(
Substitute(
Expr(
dt_values << New Column( "Delta", Numeric, Format( "Fixed Dec", 10, 2 ), formula( _x_ - _y_ ) )
),
Expr( _x_ ), Parse( ":" || Char( my_X[1] ) ),
Expr( _y_ ), Parse( ";" || Char( my_Y[1] ) )
));
最後評論:JMP降低了Column Dialog函數的值,並指出用戶使用“Modal”New Window()函數。 您可以在以下位置查看如何執行此操作的插圖:
幫助==>圖書==>腳本指南
比爾,
您可以通過突出顯示感興趣的兩列來生成新的差異列,然後右鍵單擊列標題。 轉到“新建公式列”選項卡,然後單擊以按照提示進行操作。 一個例子如下所示。

HTH
比爾W.