こんにちは、
現在、Join、Transpose、Update関数を使用して3つの「参照」テーブルを基本的に結合するスクリプトを書いています。私のスクリプトでは、最初の「参照」テーブルに行を追加するたびに、最終出力テーブルを更新できます。
最初の「参照」テーブルの列の値に基づいて、最終出力テーブルの列(つまり、「グループ列」関数)を自動的にグループ化するようにスクリプトを編集できるかどうか疑問に思っていましたか?この列は、転置の問題を引き起こすため、どのテーブル関数にも含まれていません。ファイナルテーブルを更新するたびに、これらのグループを残すことが重要です。
皆様からのフィードバックをお待ちしています。
-ブライアンD.
これはあなたが探しているものですか?
Names Default To Here( 1 );
dt1 = New Table( "table1", add rows(1), New Column( "test", set values( [1] ) ) );
dt2 = New Table( "table2", add rows(2),
new column( "x1", character, set values( {"a", "b"} ) ),
New Column( "x2", character, set values( {"c", "d"} ) )
);
If( dt1:test[1] == 1,
dt2 << combine columns( delimiter( "," ),
columns( dt2:x1, dt2:x2 ), Column Name( "Combined" ) )
);グループ列の使用については、スクリプトインデックスをご覧ください。
ここにあなたが言ったことをする一つの方法があります
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt2 = New Table( "groupings",
New Column( "ID", character, set values( {"name", "age", "sex", "height", "weight"} ) ),
New Column( "Type", character, set values( {"A", "B", "C", "B", "A"} ) )
);
// Split data into columns based on Type
dtSplit = dt2 << Split( Split By( :Type ), Split( :ID ), Sort by Column Property );
// Process through the Split data table, creating the groups in the first data table
For( Group = 1, Group <= N Cols( dtSplit ), Group++,
theGroup = Column( dtSplit, Group ) << get values;
For(i=nitems(theGroup), i>=1,i--,if(theGroup[i] == "",
remove from(thegroup,i,1)));
grouping = dt << group columns( theGroup ); <BR /><BR /><FONT face="Consolas,Monaco,"Andale Mono","Ubuntu Mono",monospace" size="2" style="background-color: #f5f5f5;" color="#b00000">dt << Rename Column Group( grouping, (column(dtSplit, group)<<GET name="">
);</GET></FONT>