Formeln verketten / speichern und auswertenBeim manuellen Verketten zweier Tabellen gibt es die Option „Formeln speichern und auswerten“, sodass die Formeln im neuen oder angehängten Datum ausgewertet werden.
In JSL ist diese Option nicht verfügbar, nur „Formel beibehalten“, wodurch die Auswertung unterdrückt wird.
dt_1 << Concatenate(dt_2,Append to first table,save and evaluate formulas(1)); // this is not possible
Ich weiß, dass Sie Folgendes verwenden können:
dt_1:mycol << Suppress Eval( 0 );
dt_1:mycol << Eval Formula(1);
Um das gleiche Ergebnis wie bei der manuellen Option zu erhalten, muss ich dies jedoch für jede Spalte mit einer Formel suchen und durchführen.
Gibt es eine versteckte Funktion oder ist geplant, diese als Option in Concatenate einzubinden?
Betreff: Formeln verketten / speichern und auswertenIch konnte die Datenmanipulation verfolgen und das „Problem“ finden
Ich erstelle eine Teilmenge einer vorhandenen Datentabelle und lösche alle Daten, wodurch die Formelspalte gesperrt und die Auswertung unterdrückt wird.
Dann wird die Tabelle mit Daten gefüllt, aber die Formel bleibt leer.
Ich verkette mehrere gleiche Tabellen (an die erste Tabelle anhängen). Wenn die Master-Tabelle über eine unterdrückte Auswertung verfügt, werden auch Concat-Tabellen nicht ausgewertet.
Durch Erlauben der Auswertung der Teilmenge wurde das Problem gelöst.
dt_2 = dt << Subset(Output Table( "temp" ),Selected Rows( 0 ),Rows( [1] ),Selected columns only( 0 ),copy formula(1),link to original data table(0),Suppress formula evaluation( 0 ));
Concat dt_2 hat dann die Formelauswertung aktiviert.
Betreff: Formeln verketten / speichern und auswertenVielen Dank für Ihre schnelle Antwort. Ihr Beispiel funktioniert einwandfrei. Ich habe die Spalte sogar auf „Auswertung unterdrücken“ voreingestellt und sie wertet sie nach dem Concat aus.
Meine Tabelle hat also eine Formel, die jedoch nicht ausgeführt wird und nach dem Concat immer noch unterdrückt wird. Ich habe zuvor eine Erwähnung gefunden, dass es ein Zeitproblem sein könnte, dass die Tabelle keine Zeit hat, die Spalte auszuwerten, und irgendwie hängen bleibt. Ich werde weiter nachforschen.
Betreff: Formeln verketten / speichern und auswertenKeep Formulas unterdrückt die Auswertung meines Wissens nicht.
Probieren Sie dieses Skript aus und sehen Sie, dass die Formel darin enthalten ist Zeilennr wird in der resultierenden Tabelle ausgewertet.
dt1 = New Table( "One Table",
Add Rows( 10 ),
New Column( "Row no",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Row() )
)
);
dt2 = New Table( "Another Table",
Add Rows( 10 ),
New Column( "Row no",
Numeric,
"Continuous",
Format( "Best", 12 ),
Formula( Row() )
)
);
Data Table( "One Table" ) <<
Concatenate(
Data Table( "Another Table" ),
Keep Formulas,
Create source column
);
