Wie SUMME ich Zeilen mit variablen Spaltennamen?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich habe eine Tabelle mit einer variablen Anzahl von Spalten.Ich möchte eine Spalte hinzufügen, die alle Spalten in einer Zeile summiert, egal wie viele/wenige erscheinen.
Ich habe Folgendes versucht:
TotRow = Trans << Spaltennamen abrufen ( Numerisch ) ;
TR = N Artikel ( TotRow ) ;
Trans << Neue Spalte ( "Gesamtzeit" ,
Numerisch ) ;
Für jede Reihe ( : Gesamtzeit [] = Summe ( Spalte ( TotRow [ 1 :: TR ])[])) ;
Aber es summiert nur die erste Zeile und nicht den Rest.Die Anzahl der Spalten und Zeilen variiert immer von Woche zu Woche.
Betreff: Wie SUMME ich Zeilen mit variablen Spaltennamen?Jeff,
Vielen Dank für die Antwort und insbesondere für den Link.Jeder Tag, an dem ich etwas Neues lerne, ist ein guter Tag.
Betreff: Wie SUMME ich Zeilen mit variablen Spaltennamen?Das ist das Matrix-Transponierungsoperator . Da es sich um einen Postfix-Operator handelt, funktioniert er mit dem Argument links davon.
Als Ian@JMP Da JMP kein HSum() hat, müssen Sie VSum() für die transponierte Matrix verwenden und sie dann zurücktransponieren.
-Jeff
Betreff: Wie SUMME ich Zeilen mit variablen Spaltennamen?Ian,
Es ist großartig, die Antwort zu haben, es ist besser, die Antwort zu verstehen.
In dieser Aussage:
sumVec = ( VSum ( Matte ` )) `;
Wofür sind die `?Ich verstehe die VSum-Anweisung, nur nicht, warum auf beiden Seiten „“ benötigt wird.
Betreff: Wie SUMME ich Zeilen mit variablen Spaltennamen?Ian,
Danke, das hat perfekt funktioniert!
Betreff: Wie SUMME ich Zeilen mit variablen Spaltennamen?Wenn Sie alle numerischen Spalten summieren möchten und keine Formelspalte benötigen, können Sie Folgendes tun:
NamesDefaultToHere ( 1 ) ;
// Erstellen Sie eine Tabelle, mit der Sie arbeiten können
Nr = 10 ;
nc = 3 ;
dt = NeueTabelle ( „Einige fortlaufende Daten“ ) ;
Für ( C = 1 , C <= nc , C ++,
dt << Neue Spalte ( „Col“ || Verkohlen ( C ) , Numerisch , Kontinuierlich , Formel ( RandomInteger ( 1 , 10 ))) ;
) ;
dt << Zeilen hinzufügen ( Nr ) ;
// Die Daten in eine Matrix übertragen
Matte = dt << GetAsMatrix ;
// Ermitteln Sie die Summe jeder Zeile
sumVec = ( VSum ( Matte ` )) `;
// Summenspalte hinzufügen
dt << Neue Spalte ( "Summe" , Numerisch , Kontinuierlich , Werte ( sumVec )) ;
Beachten Sie, dass JSL kein „HSum()“ hat, daher müssen Sie transponieren und dann zurück transponieren.