concaténer / enregistrer et évaluer des formulesLorsque vous concaténez manuellement deux tables, il existe une option pour "enregistrer et évaluer les formules" afin que les formules de la nouvelle date ou de la date ajoutée soient évaluées.
En JSL cette option n'est pas disponible uniquement "conserver la formule" qui supprime l'évaluation.
dt_1 << Concatenate(dt_2,Append to first table,save and evaluate formulas(1)); // this is not possible
Je sais que tu peux utiliser :
dt_1:mycol << Suppress Eval( 0 );
dt_1:mycol << Eval Formula(1);
Pour obtenir le même résultat qu'avec l'option manuelle, mais je dois rechercher et faire cela pour chaque colonne avec une formule.
Existe-t-il une fonction cachée ou envisage-t-elle de l'inclure dans Concatenate en option ?
Re : concaténer/enregistrer et évaluer des formulesJ'ai pu suivre la manipulation des données et trouvé le "problème"
Je crée un sous-ensemble d'une table de données existante et efface toutes les données qui verrouillent la colonne de formule et suppriment l'évaluation.
Ensuite, remplissez le tableau avec des données, mais la formule reste vide.
Je concatène plusieurs des mêmes tables (ajoutez à la première table). Si la table maître a un eval supprimé, les tables concat ne sont pas évaluées non plus.
Autoriser l'évaluation du sous-ensemble a résolu le problème.
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 a alors l'évaluation de la formule activée.
Re : concaténer/enregistrer et évaluer des formulesTHX pour votre réponse rapide, votre exemple fonctionne bien, j'ai même préréglé la colonne sur "supprimer eval" et elle l'évalue après le concat.
Donc ma table a une formule, mais elle n'est pas exécutée et est toujours supprimée après le concat. J'ai trouvé plus tôt une mention selon laquelle cela pourrait être un problème de temps que la table n'a pas le temps d'évaluer la colonne et est en quelque sorte bloquée. Je vais enquêter plus loin.
Re : concaténer/enregistrer et évaluer des formulesKeep Formulas ne supprime pas l'évaluation pour autant que je sache.
Essayez ce script et voyez que la formule dans Ligne Non est évalué dans le tableau résultant.
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
);
