ColumnRank 按組?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />你好,
有沒有一種方法可以構建等同於 «ColumnRank by ...»(組)的公式。 我通常使用分發平台(帶有“按組”選項)並為此目的將排名保存在靜態列中。 但是這一次,我需要一個動態列(計算)。
謝謝,
克勞德
回复:ColumnRank 按組?大家好,
Col Rank 函數現在確實支持最初要求的 BY 變量。 看起來 JMP 13 時間框架中添加了全面支持,所以如果您使用的是那個版本或更新的版本,您應該能夠做到這一點。
在線 JMP 幫助提供了更多詳細信息和決勝局選項:
https://www.jmp.com/support/help/en/15.1/#page/jmp/statistical-functions-2.shtml?os=win&source=application#ww2752649
我知道這是一個較舊的線程,但希望此信息可供可能正在尋找它的任何其他人使用。
乾杯!
奧黛麗
回复:ColumnRank 按組?謝謝羅恩。
最後我選擇修改原來的更新腳本。 這是一個 3 步程序:
- 第一步是原始更新(ODBC 數據源),它正在創建一個新表(因為硬編碼列);
- 然後第二個腳本步驟是用這個新表的數據更新我的主表;
- 最後一步是關閉新表。
這樣我就可以根據需要創建盡可能多的新硬代碼列(腳本不需要任何修復)。
克勞德
回复:ColumnRank 按組?你好克勞德貝拉萬斯,
如果更新有問題,您需要做的就是刪除更新前的硬編碼列,並在更新後立即重新引入它們。
如:
刪除硬編碼列;
更新;
重新計算硬編碼列;
最好,
羅恩
回复:ColumnRank 按組?非常感謝羅恩。 這是解決問題的巧妙方法。
不幸的是,我不能使用腳本,因為我必須通過一個計算列。 事實上,如果我添加帶有硬數據的列,用我的數據庫更新我的表(通過 DNS/ODBC)將創建一個新表而不是簡單地替換數據。
克勞德
回复:ColumnRank 按組?你好克勞德貝拉萬斯
我也不滿意“關係被任意打破” .至少應該有一個選項可以將其更改為領帶獲得相同的等級,就像在常規序數變量中發生的那樣。
我有另一種方法可以在不對錶格進行排序的情況下“排名依據”——在我的例子中,排序是一件令人討厭的事情。它賦予領帶相等的價值。
最好,
羅恩
名字默認到這裡( 1個) ;
// 定義數據源
dt =打開( “$SAMPLE_DATA/Big Class.jmp” ) ;
// 為排名添加一列
dt <<新建專欄( “秩” ,數字,序數) ;
//// 選項 1:按列排名
// 提取變量級別的列表
通過varlist =關聯數組( dt :年齡) <<拿到鑰匙;
// 為每個年齡組創建單獨的身高排名列表
為了(伊布= 1個,伊布<=物品(通過varlist ) ,伊布++,
評估(解析( “高度列表” ||字符(通過varlist [伊布]) || " = 關聯數組(" ||字符( dt :高度[ dt <<獲取行在哪裡( :年齡==通過varlist [伊布])]) || " ) << 獲取密鑰" )) ;
) ;
為了(我知道了= 1個,我知道了<=行( dt ) ,我知道了++,
:秩[我知道了] =評估(解析( “位置(高度列表” ||字符( dt :年齡[我知道了] ) || “ ” ||字符( dt :高度[我知道了]) || “)” )) ;
) ;
//看看它是否有效
dt <<種類(
經過( :年齡, :高度) ,
命令(上升,上升)
) ;
////
//// 選項 2:排名(無按列)
// 獲取高度的唯一值作為列表
高度表=關聯數組( dt :高度) <<拿到鑰匙;
為了(一世= 1個,一世<= N行( dt ) ,一世++,
dt :秩[一世] =位置(高度表, :高度[一世] ) ;
) ;
//看看它是否有效
dt <<種類(
經過( :高度) ,
命令(上升)
) ;
回复:ColumnRank 按組?嗨,傑里,
沒問題。 我很高興看到有一天我的願望會實現!
再次感謝。
克勞德
回复:ColumnRank 按組?很抱歉造成混淆,當我看這個的時候,我顯然沒有註意我的系統上激活了哪個版本。 因此,您得到了為“未來”JMP 版本計劃的功能的“未經授權”預覽。
回复:ColumnRank 按組?嗨女士,
嗯,這是一個非常有趣的解決方法。 它對我開放完全地新區域(Eval、Formula 等)。
我希望未來的 JMP 版本能有這個新函數“ColRank by…”。
非常感謝您花時間回答我的問題。
克勞德
回复:ColumnRank 按組?恐怕當前的 JMP 版本不支持 Col Rank() 的可選參數。
我沒有真正動態工作的好的解決方法。 下面示例中的列公式應該有效,但前提是變量在組內排序。
dt =打開( “$SAMPLE_DATA/Big Class.jmp” ) ;
dt <<種類(經過( :年齡,重量) ,替換錶( 1個)) ;
F =表達式(
評價(評估表達式(欄號( :重量,排() <=表達式(排()) ,:年齡)))
) ;
dt <<新建專欄( “按年齡劃分的體重排名” ,數字,公式(名稱表達式( F ))) ;
回复:ColumnRank 按組?嗨,傑里,
你能解釋更多嗎? 該手冊對第三個論點非常簡約。
上校排名
對每一行的值進行排序,從最低值 1 到非‐缺少最高值的列。 關係被任意打破.
我不明白它可能意味著什麼以及如何使用它。
謝謝您的幫助!
克勞德
回复:ColumnRank 按組?嗨,克勞德,
Col Rank(column, ) 函數可以滿足您的需求。 打破平局的默認順序是行順序,但有一個可選的第三個參數允許其他一些選擇。 希望這可以幫助。
-傑瑞