跟踪時間趨勢初始值的最佳方法所有,
需要有關如何最好地組織這個的建議。
所以,我有一個表,可以跟踪一段時間內幾個類別的參數。我需要一個列,顯示一些初始值的百分比變化。
讓我們說它是一個重量競賽追踪器。我們得到初始重量,我們跟踪百分比變化。在30天內獲得超過15%的人 - 獲勝。
為了跟踪我創建了一個這樣的表:
在此表中,我將初始權重作為表變量,並創建一個隱藏列,只顯示基於名稱的初始權重:

之後,我需要做的就是單擊Dashboard腳本並顯示所有圖形。

我的目標是盡可能使用戶友好,這樣幾乎任何人都可以在沒有太多思考的情況下輸入數據。所以我對社區提出的問題很少:
現在,假設我們有一個新人加入遊戲,我們需要輸入一個新名稱。
- 為此,您需要使用正確的名稱創建一個新的表變量。
- 然後在隱藏列“InitialWeight”中編輯公式,或者添加該名稱
- 然後將此名稱添加為“名稱”列的允許選項。
所有這些都不是非常用戶友好。我們輸入三次基本相同的數據。有沒有辦法只做一次?假設我們輸入了一個新變量。
- 有沒有辦法在公式中說 - “返回變量的值與”名稱“列的值相同”?
- 有沒有辦法說 - “我允許的值是我的表變量的名稱”?
或者也許還有另一種設置新名稱和初始方式的方法,並將這些信息有機地拉入公式?我能想到的只是編寫一個完整的應用程序來管理它,但也許有一種方便的方法來開箱即用?
謝謝,
M.
Re:跟踪時間趨勢初始值的最佳方法我同意,完整的劇本將是最好的。然而,這種特殊目標是針對您可以在10-15分鐘內設置的功能最少的東西。或者,使用已存在的功能。
謝謝你的建議!我認為這是一種更優雅的方式。但是,並非代碼中的所有內容都立即清晰,因此必須暫時擱置一段時間。
再次感謝!
Re:跟踪時間趨勢初始值的最佳方法Miguello,
我對您描述的內容的解釋是您擁有一個用戶社區可以訪問的表。我可能會做一些不同的加載項。 但是使用你的表格界面,我會:
- 刪除名稱變量並刪除隱藏的列
- 添加一個名為New Member Registry的腳本,提示用戶輸入名稱和權重。該信息用於更新名為registy = Associative Array({“Marvin”,280},{“Smith”,205},{“Jones”,201}等)的關聯數組;一旦定義,註冊[“Marvin”]返回值250。
- 添加一個名為Initialize或Update的腳本,這是運行註冊表定義的腳本,因此值在內存中。
- 將公式更改為t0 = registry << get value(:Name); (:重量 - t0)/ t0)* 100
附件是一個模型。您沒有提到您使用的是什麼版本的JMP?這適用於JMP14。如果您有早期版本的JMP註冊表,則需要使用函數而不是關聯數組。
我認為使用加載項腳本比嵌入用戶可以更改的表中的腳本和常量更強大。
Re:跟踪時間趨勢初始值的最佳方法
唯一的問題是,為了讓它去讀取更新的變量,你需要進入公式編輯屏幕,至少點擊“應用”按鈕。有什麼方法嗎?
我接受了它,它確實更新了公式。不是立即,但只要你點擊進入並添加另一行。
Re:跟踪時間趨勢初始值的最佳方法好的,第一步是使用以下代碼替換“InitialWeight”列的Formula中的Match()表達式:
Names = Current Data Table() << Get Table Variable Names();
formula_pre = "Match( :Name";
formula = formula_pre;
formula_post = ")";
For( i = 1, i <= N Items( Names ), i++,
formula = formula || ", \!"" || Names[i] || "\!", :" || Names[i]
);
formula = formula || formula_post;
Eval( Parse( formula ) );
這將獲取表變量的列表,並將根據列表構造和評估Matach()公式。
唯一的問題是,為了讓它去讀取更新的變量,你需要進入公式編輯屏幕,至少點擊“應用”按鈕。有什麼方法嗎?
謝謝,
M.