Suppression d'une variable de colonne/table référencée dans la formule à l'aide de JSLSalut,
Comme indiqué dans le sujet de cet article, j'ai observé que les commandes JSL "Supprimer la colonne" ou "Supprimer la variable de table" ne fonctionnent pas lorsque l'une des colonnes a une fonction ou que la variable de table fait partie d'une fonction.
Lors de l'exécution de cette action "à la main", il y a une fenêtre d'avertissement supplémentaire, qui informe l'utilisateur des conséquences d'une telle action et permet de choisir une action.
Je comprends que ce comportement a été introduit intentionnellement, et cela me convient parfaitement.
Je voudrais demander s'il existe une option/un argument/un indicateur/une commande pour contourner cette fenêtre lors de la suppression d'une variable de colonne/table à l'aide de JSL ?
Merci pour l'aide.
Tableau de donnéesScriptRe : Suppression d'une variable de colonne/table référencée dans la formule à l'aide de JSLJe ne suis pas en mesure de reproduire ce que je comprends comme étant le problème que vous posez. Les scripts ci-dessous suppriment une variable de table et une colonne d'une formule et une fonction dans chaque formule.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
dt << New Table Variable( "Days", 42 );
Wait( 5 );
dt << New Column( "test",
formula(
delTVar = Function( {theVar},
dt << Delete Table Variable( theVar )
);
rc = delTVar( "Days" );
:weight;
)
);
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/big class.jmp" );
Wait( 5 );
dt << New Column( "test",
formula(
delCol = Function( {theCol},
dt << delete columns( theCol )
);
rc = delCol( "height" );
:weight;
)
);Re : Suppression d'une variable de colonne/table référencée dans la formule à l'aide de JSLJe pense qu'aucun drapeau ne peut faire ça. Peut-être un endroit pour un élément de liste de souhaits, je pense que le drapeau devrait être configurable de la même manière que la version interactive qui demande de supprimer les références, la formule ou d'annuler (j'ajouterais peut-être également Throw).
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt << New Column("f", Numeric, Continuous, Formula(:height*weight));
dt << Delete Columns({"height", "weight"});
Imprimera pour enregistrer :
Impossible de supprimer les colonnes sélectionnées alors que certaines sont référencées par les formules des colonnes restantes.
La suppression d'une formule laisse les données inchangées. La suppression de références remplace chaque référence par une valeur vide. Ces effets sont permanents et ne peuvent être annulés.
Scriptable[]
Vous pouvez capturer ce message avec Log Capture() puis effectuer quelques astuces JSL pour supprimer au préalable les références/formules.