排名唯一我想計算一個新列以唯一地對列進行排名。 下面是我想要實現的示例輸出。 但是通過使用 JSL 排名公式並不能幫助我實現我想要的。 誰能給我建議?
我使用的公式是 Col Rank(:Label)
| 標籤 | 秩 | 我想要的是 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,最大值 | 1 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,最大值 | 2 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],80376,最大值 | 3 | 1 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,最大值 | 4 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,最大值 | 5 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],81999,最大值 | 6 | 2 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,最大值 | 7 | 3 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,最大值 | 8 | 3 |
| NVM_VMAX_PRG_EVENR2_DCMP[1],86491,最大值 | 9 | 3 |
腳本回复:排名唯一謝謝吉姆和女士。 它工作得很好!
回复:排名唯一如果你想要一個列公式,這應該可以。 獨立於排序。
Local( {L = Associative Array( :Label ) << get keys}, Loc( L, :Label ) )
同樣的方法可以在沒有列公式的 JSL 中使用。
dt = Current Data Table();
dt << New Column( "Rank Unique", continuous );
L = Associative Array( :Label ) << get keys;
For Each Row( :Rank Unique = Loc( L, :Label ) );
回复:排名唯一dt = current data table();
dt:Rank << delete formula;
回复:排名唯一嗨,吉姆,
謝謝你的建議。 對於#2 解決方案。 如何通過使用 JSL 而不是手動刪除公式?回复:排名唯一有幾種方法可以做到這一點....(我能想到的,這是一大早)
- 使用匯總表創建排名
- 運行表==>總結
- 按標籤列分組
- 假設輸出數據表從低到高排序,創建一個名為“Rank”的新列,並給它公式........Row()
- 運行 Tables==>Update 將匯總表連接回原始表,在標籤列上匹配
- 創建一個新的排名公式列
- 按標籤對數據進行排序
- 使用公式創建一個名為 Rank 的新列
If( Row() == 1,
count = 1,
If( :Label != Lag( :Label ),
count
++)
);
count;
- 確保在創建列後轉到列信息並刪除。這樣做的原因是,由於公式是基於數據的順序和數據的完整性,數據的任何變化(排序等)都會重新運行公式並可能改變排名。