將每行中的值與第一行中的值進行比較(限制)您好,我有一行限制,我希望將其與其餘行進行比較並突出顯示超出該限制的單元格。我該怎麼做?
或者,如果有人可以告訴我如何選擇第一行,那也會有幫助。
這就是我正在嘗試的:
dt = Current Data Table();
dt << select where( :"Value_in"n[Row()] > :"Value_in"n[Row()==0]) << Color Cells("Red");提前致謝。
基礎資料分析與建模回覆:將每行中的值與第一行中的值進行比較(限制)歡迎來到社區。
這是我如何處理這個問題的一個例子

names default to here(1);
dt=New Table( "Example",
Add Rows( 100 ),
New Column( "values",
Formula( Random Integer( 50, 100 ) )
),
New Column( "limit",
Numeric,
Set Values(
[90]
)
)
);
dt:values << color cells(green,dt<<GET rows="" where=""> :limit[1]));</GET>
回覆:將每行中的值與第一行中的值進行比較(限制)您可以使用資料表下標從任何行中選取值。也沒有必要選擇行
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
over_limit = dt << Get Rows Where(:weight > :weight[1]);
:weight << Color Cells("Red", over_limit);回覆:將每行中的值與第一行中的值進行比較(限制)謝謝,我嘗試了一些稍微不同的方法(因為我需要 :values[0] 單元格來包含限制值)並且它有效。感謝您的回覆!
順便說一句,這是我的程式碼,雖然不太優雅,但對於我想要比較的每個列,我都有多個該程式碼的副本:
::dt = Current Data Table();
For( ::i = 2, ::i <= N Row( ::dt ), ::i++,
If(:"colname_(unit)"n[::i] > :"colname_(unit)"n[1],
:"colname_(unit)"n << Color Cells("Red", ::i);
);
); 回覆:將每行中的值與第一行中的值進行比較(限制)對您的答案和資料表佈局有 2 則評論。
- 與使用 Get RowsWhere() 相比,使用 For() 迴圈效率非常低
- 像使用 Excel 資料表一樣使用 JMP 資料表是有問題的。 JMP 資料表專為分析而設計。因此,它是基於列的,而不是像Excel那樣基於單元格。您在表中設定的限制迫使使用者必須圍繞唯一行進行編程。處理限制等項目的典型方法是將它們放在單獨的資料表中,或將它們保存為列屬性。 JMP 有一個規格限制列屬性,它可能正是您可以使用的,如果沒有,那麼您可以建立新的列屬性並將其放置在那裡。