如何刪除公式中變量名稱中的引號你好,
我想選擇兩列併計算公式。 但是,公式中的變量名稱周圍有“”,因此不起作用。 有什麼建議麼?
dt = Current Data Table();
win = New Window( "Clean False Zeroes",
<<MODAL></MODAL>
回复:如何刪除公式中變量名稱中的引號嘿! 如果我使用 nameexpr 就可以了。 謝謝你們的幫助。 我很開心。回复:如何刪除公式中變量名稱中的引號謝謝你們的建議,但是,它們都不適合我。 為了澄清起見,我製作了一個測試文件,其中數據位於 A 列,狀態位於 B 列。 然後我製作了第三列,其中包含公式。 您可以確認它有效。 如果我運行腳本來執行相同的操作(我不知道要清除哪些列為零),您會在第 4 列中看到它效果不佳。 希望這一切都有道理。
dt = Current Data Table();
win = New Window( "Clean False Zeroes",
<<MODAL></MODAL>
回复:如何刪除公式中變量名稱中的引號我想你想做這樣的事情:
dt << new column("check",
formula(eval(evalexpr(If(Is Missing(expr(nameexpr(yvar))),.,expr(nameexpr(xvar))) )))
);
The selected names are in the scriptThe selected names are in the script選定的名稱位於腳本中
沒有額外的工作,你會得到這樣的東西
The variable names are in the scriptThe variable names are in the script變量名在腳本中
僅當 yvar 持有 :name 並且 xvar 持有 :height 時才有效。 如果保存表、關閉並重新啟動 JMP,然後打開表,情況就不會如此。
它有什麼作用?
評估() 是一個信號公式來評估其論點。 通常你不會想要這樣,因為通常你給出的表達式公式在列需要運行 () 之前不應對其求值。 所以運行的第一個代碼是評估表達式() 它將返回公式列的重寫表達式。 評估表達式在其論證中尋找表達式() 可以評估並用結果替換的函數;其中有兩個。 所以得到評估的是名稱表達式函數,返回其參數的名稱...xval 的參數和名稱是:height。
回复:如何刪除公式中變量名稱中的引號也基於 Craige 輸入(謝謝!)我使用列對話框編輯器安排了腳本
dt = Current Data Table();
cd=column Dialog(
Title(" Clean False Zeroes "),
xcols= ColList(" Numeric ", MinCol( 1 ), DataType("Numeric"), modeling type("Continuous") ),
ycols= ColList(" Character ", MinCol( 1 ), DataType("Character"), modeling type("Nominal") ),
);
xvar =cd["xcols"];
yvar =cd["ycols"];
xvar=xvar[1];
yvar=yvar[1];
dt << new column("check",, formula(If(Is Missing(yvar),.,xvar) ) );
回复:如何刪除公式中變量名稱中的引號我們需要更多地了解創建腳本的 JSL 才能給出更好的答案,但是
{"LOA (QC1007AI),%"}
是一個帶引號的字符串的列表。 (大括號構成一個列表。)您可以將項目從列表中取出並靠近一點
colNames = {"LOA (QC1007AI),%"};
theColumnName = colnames[1];
print(theColumnName);
對於大多數用途,您需要根據列名稱創建一列。
col = column( dt, theColumnName );
列函數將在數據表中查找名稱並返回列。
我認為您可能使用了返回列名稱的函數,而不是返回列的函數。 有一個好帖子http://www.pega-analytics.co.uk/blog/column-references/討論其中一些問題。
回复:如何刪除公式中變量名稱中的引號嗨,gianpaolo_polsi,
感謝您的腳本,我想我可以用於其他目的,但是,它不能解決我的問題:If( Is Missing( {"Status (LOA)"} ),
.,
{“LOA(QC1007AI),%”}
)
我不明白為什麼在編寫公式時會在公式中得到這些“”標記。回复:如何刪除公式中變量名稱中的引號下劃線可能是比冒號更好的選擇,因為冒號是一個運算符。
回复:如何刪除公式中變量名稱中的引號你好索普
在應用公式之前嘗試將此代碼應用於數據表
// code to replace any special JMP character with single char " : "
For(i = 1, i <= N Col(dt), i++,
Column(dt, i) << set name(Regex(Column(dt, i) << get name, "\W", ":", GLOBALREPLACE))
);