要約メッセージをテーブルに送信しています。 括弧内のすべては、グループ、範囲などの要約メッセージの引数です。
新しい列を単に追加することはできません-これは要約メッセージの有効なパラメーターではありません。ただし、テーブルに送信できるのはメッセージです。 したがって、最初に要約テーブルを作成してから、新しい列メッセージをそれに送信します。
dtSumm = DataTable("data") << Summary( . . . );
dtSumm << NewColumn( . . .);Data Table( "Data" ) << Summary(
Group( :Row, :Col ),
Range( :Data Trace ),
New Column("ABC",formula(:Range(Data Trace)*1E15)),
Freq( "None" ),
Weight( "None" )
);
上記のように新しい列を作成しようとしています。これにより、その上の行の列に1E15を掛けます。テーブルは作成されますが、新しい列「ABC」は表示されません。たぶん私の構文に何か問題があります。どんなアイデアでも大歓迎です。ありがとう、マーク
こんにちはデビッド、返信ありがとうございます。完全な初心者として、私は構文にそれほど慣れていません。以下のスクリプト全体をコピーしました。複数のファイルを選択し、それぞれのテーブルを作成してから、データを単一のテーブルに連結してから、サマリーテーブルを作成し、そこからヒートマップグラフを作成できます。概要表の「範囲」は、ヒートマップの変数ごとの色です。ただし、値に1E15を掛けて、グラフにタイトルを付けることもできます。私はこれを行う方法がわからないだけですが、1行か2行か、* 1E15を何かの前に追加するだけでよいように感じます。私がしたいことはとても簡単ですが、プログラマーではないことは非常に難しいようです(私は言語/構文に苦労しているだけだと思います)。
names = Pick File(
"Select Data File",
"$DESKTOP",
{"Text Files|txt;csv", "All Files|*"},
1,
0,
"Data",
multiple
);
nitems = N Items(names);
path = substr(names[1],2,Contains(names[1],"/",-1)-1);
For(i=1, i <= nitems, i++, names[i] = substr(words(names[i],"/"),7));
names = Files In Directory(path);
Data = New Table("Data", Character, Nominal);
col = New Column( "DC Bias Volt", Numeric, "Continuous", Format( "Best", 12 ) );
col = New Column( "Data Trace", Numeric, "Continuous", Format( "Best", 12 ) );
col = New Column( "File" );
col = New Column( "Row" );
col = New Column( "Col" );
For(i=1, i <= nitems, i++,
dt = Open(Concat(path, names[i]),
columns(
New Column( "DC Bias Volt", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Data Trace", Numeric, "Continuous", Format( "Best", 12 ) ),
New Column( "Memory Trace", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, CSV( 0 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 6 ),
Data Starts( 7 ),
Lines To Read( 101 ),
Year Rule( "20xx" )
)
);
Metadata = Words(names[i], "_");
Die_Row = Substr( Metadata[6], 2, 2 );
Die_Col = Substr( Metadata[6], 5, 2 );
dt << New Column( "File", Numeric, Nominal );
dt << New Column( "Row", Character, Nominal );
dt << New Column( "Col", Character, Nominal );
:File << Set Each Value( i );
:Row << Set Each Value( Die_Row );
:Col << Set Each Value( Die_Col );
If(Metadata[1] == "CSV",
Data << Concatenate( dt, "Append to First Table" ));
Close(dt,NoSave);
);
Data Table( "Data" ) << Summary(
Group( :Row, :Col ),
Range( :Data Trace ),
Freq( "None" ),
Weight( "None" )
);
Graph Builder(
Size( 1112, 704 ),
Variables( X( :Col ), Y( :Col ), Color( :Name( "Range(Data Trace)" ) ) ),
Elements( Heatmap( X, Y, Legend( 5 ) ) ),
SendToReport(
Dispatch(
{},
"Col",
ScaleBox,
{Min( 0 ), Max( 60 ), Inc( 1 ), Minor Ticks( 0 )}
),
Dispatch(
{},
"Col",
ScaleBox( 2 ),
{Min( 0 ), Max( 60 ), Inc( 1 ), Minor Ticks( 0 )}
)
)
);