JSL 使用變量列的最大值創建新的匯總表你好,
一段時間以來,我一直很喜歡在這些討論頁面上閱讀和尋找解決方案,但現在一直在摸索著弄清楚這一點。
我有一個數據表,它給出了可變數量的列,由機器自動生成,其中前 14 列始終是相同的識別信息。 其他列(從 15 開始)是數值連續數據,其中列名將始終不同。
問題是我正在嘗試自動創建一個匯總表,該匯總表將通過其識別信息對數據進行分組,並且每個數據列都有一列 Max 數據。
對於不同數量的數據列和不同的列名,是否可以遍歷每一列? 比如一個for循環把所有的Max值放到匯總表中? 我無法為每次拉取的不同列名的所有列 b/c 命名,但可以肯定地說,第 14 列之後的每一列都需要找到的最大值。
這是我一直在嘗試編輯的 JSL 腳本,但在生成 Max 列時遇到了死胡同。
sumdt = table << Summary(
Group(:NAME,:ID),
(Max(Column(table, 15:154)), // having issue on this line
Output Table Name("Summary Max Values")
);
感謝您對我的問題的任何投入!
腳本編寫回复:JSL 使用變量列的最大值創建新的匯總表下面是使用 Big Class 示例數據表執行所需操作的示例。
Names default to here( 1 );
// Open Data Table: big class.jmp
// → Data Table( "big class" )
dt = Open( "$SAMPLE_DATA/big class.jmp" );
colNamesList = dt << get column names( continuous, string );
sumdt = dt << summary(
Group( :Sex, :Age ),
max( colNamesList ),
Output Table( "Summary Max Values"),
Link to Original Data Table( 0 )
);

回复:JSL 使用變量列的最大值創建新的匯總表謝謝@txnelson ,
這部分解決了我的問題。
我的原始數據表有我不希望分析最大值的日期列,基本上遇到了我不想計算前 14 列的最大值而不管它們的數據類型的問題。
有沒有辦法忽略前 14 列,或者創建一個新表會更容易,該表先刪除不需要的列,然後再將其傳遞給匯總表?
謝謝,
格洛麗亞
回复:JSL 使用變量列的最大值創建新的匯總表創建 colNamesList 後,您可以使用 Remove From() 函數刪除列表中的特定行,然後將列表縮減為您想要的列,您可以使用它來生成匯總表。
有關 Remove From() 函數的定義和示例,請參閱腳本索引條目