Re:數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名你好可以用JMP 12做到這一點嗎?謝謝
Re:數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名你好,
Col累積和函數在JMP 13中首次亮相。沒有它,你可能會嘗試這樣的事情,雖然當具有這個公式的表不是當前的表時,當前數據表()將給出問題。請注意,如果要使用多個列進行分組,則必須連接多個列,並將該公式基於該新列。
乾杯,
布雷迪
Names Default To Here( 1 );
dt = open("$Sample_Data\Car Physical Data.jmp");
dt << New Column( "Rnk",
formula(
dtCur = Current Data Table();
ct = :country[Row()];
Contains( dtCur << get rows where( :country == ct ), Row() );
)
);
Re:數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名非常感謝你!我在SQL拉動後立即運行此腳本,因此當前數據表()工作得很好。
是的,我確實有多個列進行分組(總共4列),因此創建一個新列,其中4列已完成。 唯一的事情是我正在使用5000-6000行數據處理數據表,並且我有大約780個分組項目,因此需要JMP一分鐘左右來生成Rnk列 - 但它可以工作!
再次感謝你!
Re:數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名在JMP13之前,這篇文章涵蓋瞭如何進行滾動總和。 這篇文章並未涉及按群體進行,但將概念擴展到這一點並不困難。
https://community.jmp.com/t5/Discussions/how-to-get-cumulative-sum-data/td-p/6766
Re:數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名具體來說,jaredgj,試試公式:
k = row();
求和(i = 1,k,If(:Country [i] ==:Country [k],1,0));
我忘記了求和函數了。它將比其他函數快得多,因為獲取行,正如另一個公式所做的那樣,是非常耗時的。
乾杯,
布雷迪
Re:數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名非常感謝brady_brady,這也很有效。 它仍然需要一點時間來完成腳本,但它比你發布的原始腳本要快一點。 再次感謝你
感謝bfoulkes的額外鏈接/帖子
數據表工具,第3部分:對組內的行進行編號以獲得靈活的排名你有沒有一個數據集,你必須執行類似於以下任何一項的任務:
從一個高大的桌子,包含多個工具的多個測量 - 以不規則的間隔記錄 - 創建一個子集表,其中只有每個工具/操作員組合的第k個最新測量。對於給定的度量,找到每個組中的頂部(或底部)k個出現次數;一個例子是列出每個地區的三個產品產生最多收入或最低利潤率。如果是這樣,你並不孤單。我們會定期收到有關如何解決此類問題的建議。由於這些任務中的每一個都需要對事物進行排序,因此JMP用戶自然會在JSL中查看rank()函數,這當然是一種選擇。問題是rank()函數需要用於對錶的行進行排序以明確指定的列,當我們探索數據時,我們經常想要嘗試各種排名,而不創建多個新列或編輯列公式。
通過創造性地使用JMP 13中的Col Cumulative Sum()函數,我們可以靈活且動態地對行進行排序:產生不同的排名 - 我們只是按不同的變量排序。
為了說明,請考慮Car Physical Data.jmp,其中包含有關汽車的名義和連續數據。它安裝在JMP示例數據文件夾中,您可以通過選擇“幫助”>“示例數據庫”來訪問該文件夾。
下面,我添加了一列(突出顯示)來計算在給定行之前或之前發生的按國家/地區分組的累計汽車數量。請注意,當我們沿著表格的行前進時,具有Country = Japan的汽車按順序編號,Country = USA和Country = Other的汽車也是如此。
這種方法很有用,因為要回答“哪個是每個國家最輕的五輛車?”這個問題,我們必須做到以下幾點:
按重量對錶格進行排序,按升序保留原始表格。選擇排名列<= 5的單元格。如果需要,將這些行子集。這種方法也很靈活,因為如果我們決定現在必須從每個國家找到三個最強大的汽車,我們只需按降序排序馬力,並選擇排名小於或等於三的單元格。
排名列中的公式很簡單(如下),但您不必將其寫下來:使用數據表工具加載項,即使非腳本編寫者也可以使用任意組合輕鬆地將這樣的列添加到任何表中分組列。
運行加載項後,只需選擇所需的表和分組列,然後單擊“創建列”按鈕。而已!
該數據表工具加載項可以免費下載 JMP文件交換 - 需要免費的SAS配置文件。
注意:此博客是探索數據表工具加載項的各種功能的系列中的第三篇。
使用數據表工具加載項,您可以創建一個列來執行基於表排序順序的靈活查詢 - 無需編碼!