Summiert alle Spalten, die eine Zeichenfolge im Spaltennamen enthalten<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ich versuche, eine Datentabelle zu nehmen und eine Spalte mit einer Formel hinzuzufügen, die alle Spalten summiert, die die Zeichenfolge „ToAdd“ im Spaltennamen enthalten. Ich versuche, dies per Skript zu erstellen, da sich die Spalten ändern, deren Namen irgendwo „ToAdd“ enthalten.
Bisher habe ich das Skript, das alle Spaltennamen in einer Liste sammeln kann, bin mir aber nicht sicher, wie ich diese Liste dann verwenden soll, um eine neue Spalte mit einer Formel zu generieren, die alle diese Spalten summiert. Dies schien mir der beste Anfang zu sein, aber ich bin mir nicht sicher, wohin ich von hier aus gehen soll (oder ob es wirklich ein guter Anfang ist).
dt = aktuelle Datentabelle();
N = N Col( dt );
AddColumns = {};
For( i=1, i <= N, i++,
colname = Column(i) << getname();
Wenn( Enthält( Spaltenname, „ToAdd“) > 1,
Einfügen in(AddColumns, Spaltenname)
);
)
);
Vielen Dank für jede Hilfe im Voraus!
Betreff: Summiere alle Spalten, die eine Zeichenfolge im Spaltennamen enthaltenKlappt wunderbar!
Danke,
Daniel
Betreff: Summiere alle Spalten, die eine Zeichenfolge im Spaltennamen enthaltenEs ist ein guter Anfang. Das Festlegen von Spaltenformeln per Skript ist jedoch etwas schwierig, da das Argument wörtlich interpretiert wird. Das dynamische Erstellen einer Formel umfasst normalerweise das Erstellen von Zeichenfolgen oder Ausdrücken, die schließlich analysiert/ausgewertet werden. Andernfalls landen lokale oder sitzungsspezifische Variablen in der Formel und sie funktioniert nicht wie erwartet. Zumindest ist das meine Erfahrung.
Hier ist ein Beispiel für die Verwendung des String-Ansatzes:
dt = Aktuelle Datentabelle () ;
N = N Col ( dt ) ;
S = „“ ;
Für ( ich = 1 , ich <= N , ich ++,
Spaltenname = Spalte ( ich ) << getname () ;
Wenn ( Enthält ( Spaltenname , "Hinzufügen" ) > 0 ,
S = S || Wenn ( Länge ( S ) > 0 , "," , „“ ) || Spaltenname
) ;
) ;
zeigen ( S ) ;
Kol = dt << Neue Spalte ( „Summe(AddColumns)“ , numerisch ) ;
Bewertung ( Analysieren ( Evaluierungseinlage ( „col< ) ) ) ;