您正在將摘要消息發送到表。 括號中的所有內容都是摘要消息的參數,例如組,範圍。
您不能只添加新列-這不是摘要消息的有效參數。但是,它是一條消息,您可以將其發送到表。 因此,首先創建摘要表,然後向其發送新的列消息:
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,並且還可以在圖表上放置標題。我只是不確定如何執行此操作,但感覺它應該只需要一行或兩行,或者在某些內容前添加* 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 )}
)
)
);