Sie senden die Zusammenfassungsnachricht an eine Tabelle. Alles in Klammern ist ein Argument für die Zusammenfassungsnachricht, z. B. Gruppe, Bereich.
Sie können nicht einfach eine neue Spalte hinzufügen - dies ist kein gültiger Parameter für die Zusammenfassungsnachricht. Es ist jedoch eine Nachricht, die Sie an eine Tabelle senden können. Erstellen Sie also zuerst die Übersichtstabelle und senden Sie dann die neue Spaltennachricht an folgende Adresse:
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" )
);
Ich versuche, eine neue Spalte wie oben gezeigt zu erstellen, wobei ich die Spalte in der Zeile darüber mit 1E15 multipliziere. Die Tabelle wird erstellt, aber die neue Spalte "ABC" wird nicht angezeigt. Vielleicht stimmt etwas mit meiner Syntax nicht. Irgendwelche Ideen sind herzlich willkommen. Danke, Mark
Hallo David, Danke für deine Antwort. Als Anfänger bin ich mit der Syntax einfach nicht so vertraut. Ich habe das gesamte Skript unten kopiert. Sie können eine Reihe von Dateien auswählen, für jede eine Tabelle erstellen und dann die Daten zu einer einzigen Tabelle verketten, dann eine Übersichtstabelle und daraus ein Heatmap-Diagramm erstellen. In der Übersichtstabelle ist "Bereich" die Farbe nach Variable in der Heatmap. Ich möchte jedoch die Werte mit 1E15 multiplizieren und auch einen Titel in die Grafik einfügen können. Ich bin mir nur nicht sicher, wie ich das machen soll, aber es fühlt sich so an, als ob es nur ein oder zwei Zeilen dauern oder * 1E15 vor etwas hinzufügen sollte. Es ist frustrierend, weil das, was ich tun möchte, so einfach ist, aber kein Programmierer zu sein, scheint sehr schwierig zu sein (ich glaube, ich habe nur Probleme mit der Sprache / Syntax).
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 )}
)
)
);