可變性圖表錯誤<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我有兩個完全相同的JSL腳本版本來生成可變性圖表,但是沒有正確顯示圖表。格式化都搞砸了。兩個版本之間的唯一區別是一個在for循環內執行,另一個不執行。我看到當我查看輸出腳本時,它們會生成不同的內部腳本,以便for循環內的腳本忽略了很多命令。
我附上了我編寫的腳本的兩個版本,一個顯示for循環(從數據庫中獲取幾個參數並為每個生成可變性圖表),另一個是硬編碼的。還附加了JMP為這兩個不同腳本生成的腳本。正如你在WhatJMPdoesInstead.txt中看到的,它忽略了一堆命令。
有沒有人有這個問題?有任何解決這個問題的方法嗎?
回复:可變性圖表錯誤你是對的,我只是意味著代碼的流程是一樣的。顯然for循環是為了處理多個唯一列,所以我不得不替換名稱。它似乎正在處理所有其他參數,所以我不認為我必須對字符串做任何特殊的事情。
無論如何,我最終在變異圖表之外創建了我需要的字符串,然後在循環中使用expr(String1),並將Eval(Exal Expr())放在整個變異圖表周圍,並且它做了我想要的。問題解決了。
回复:可變性圖表錯誤所以兩個版本的完全相同的腳本除了一個工作,一個不... 因為,嗯...... 他們不一樣。 所以問題不是JMP而是你的代碼。 如果你簡化問題就會有所幫助,這樣就沒有大量的代碼供我們查看並嘗試發現差異...... 如果您可以使用內置的JMP示例數據集生成插圖,那麼人們可以更輕鬆地幫助您而無需訪問您的數據。 根本問題在於您嘗試將列名替換為腳本的方式。 在循環中,您使用的是變量,而在另一個循環中,您使用的是實際的列引用。 JMP評估來自外部工作的表達式(與大多數其他語言相反) - 因此在執行Variability命令時,您的變量沒有值。 解決方案是通過使用EXPR函數並使用字符串操作或諸如SUBSTITUTE之類的函數構造命令的表示來推遲表達式的求值。 這是最近的一篇文章,說明了這一點......