Wie summiere 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 Reihe summiert, egal wie viele/wenige erscheinen.
Ich habe das versucht:
TotRow = Trans << Spaltennamen erhalten ( 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 ist von Woche zu Woche immer variabel.
Betreff: Wie kann man Zeilen mit variablen Spaltennamen summieren?Jeff,
Danke für die Antwort und vor allem für den Link.Jeder Tag, an dem ich etwas Neues lerne, ist ein guter Tag.
Betreff: Wie kann man Zeilen mit variablen Spaltennamen summieren?Das ist die Matrix-Transponierungsoperator . Es ist ein Postfix-Operator, also arbeitet er mit dem Argument links davon.
Wie Ian@JMP Da JMP kein HSum() hat, müssen Sie VSum() auf die transponierte Matrix anwenden und sie dann zurück transponieren.
-Jeff
Betreff: Wie kann man Zeilen mit variablen Spaltennamen summieren?Jan,
Es ist großartig, die Antwort zu haben, es ist besser, die Antwort zu verstehen.
In dieser Aussage:
sumVec = ( VSumme ( Matte ` )) `;
Wofür sind die `?Ich verstehe die VSum-Anweisung, nur nicht, warum ` auf beiden Seiten davon benötigt wird.
Betreff: Wie kann man Zeilen mit variablen Spaltennamen summieren?Jan,
Danke das hat perfekt funktioniert!
Betreff: Wie kann man Zeilen mit variablen Spaltennamen summieren?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 kontinuierliche Daten" ) ;
Zum ( c = 1 , c <= nc , c ++,
dt << NeueSpalte ( "Kol" || Verkohlen ( c ) , Numerisch , Kontinuierlich , Formel ( Zufällige Ganzzahl ( 1 , 10 ))) ;
) ;
dt << Zeilen hinzufügen ( Nr ) ;
// Hole die Daten in eine Matrix
Matte = dt << HoleAlsMatrix ;
// Holen Sie sich die Summe jeder Zeile
sumVec = ( VSumme ( Matte ` )) `;
// Summenspalte hinzufügen
dt << NeueSpalte ( "Summe" , Numerisch , Kontinuierlich , Werte ( sumVec )) ;
Beachten Sie, dass JSL kein 'HSum()' hat, also müssen Sie transponieren und dann zurücktransponieren.