J'ai une table de données avec des données que j'ai importées à partir d'un fichier texte, qui contient des colonnes qui ont par défaut Type de données == Caractère et Type de modélisation == Nominal. Ces colonnes contiennent des nombres, dont certains comportent un point décimal et d'autres chiffres derrière le point décimal. Je souhaite transformer ces colonnes en SI numérique, continu, ingénierie, mais j'ai rencontré un comportement étrange. A savoir, dans certains cas, les valeurs de la colonne qui contiennent un point décimal seront supprimées (leur valeur est définie sur ".").
J'ai essayé deux approches:
Modification manuelle des colonnes à l'aide des informations sur les colonnes :
- Si je change les trois champs à la fois en Numérique, Continu, Ingénierie SI, puis que je clique sur "Appliquer", alors les valeurs contenant un point décimal seront réinitialisées à "."
- Si j'appuie sur "Appliquer" après avoir modifié chaque champ (donc 3 fois au total), alors les valeurs sont correctement formatées et tout fonctionne.
Changer les colonnes en utilisant JSL : (c'est ce que je veux réellement faire)
Mon code pour définir les trois champs à la fois :
dt = Current Data Table();
dt:ColumnName << Set Data type( "Numeric" ) << Set Modeling Type( "Continuous" ) << Set Format( "Engineering SI", 12, 5);
Cela réinitialisera toutes les valeurs de la colonne ColumnName à ".". J'ai également essayé d'utiliser column(dt, "ColumnName") au lieu de dt:ColumnName, et de définir un seul champ à la fois, mais le résultat est le même. Le code semble fonctionner correctement. Il écrit "Scriptable[]" sur le terminal, mais je n'ai pas pu découvrir ce que cela signifie.
Vous êtes probablement en Europe et votre région locale est configurée pour utiliser , comme séparateur décimal. Effectuez une recherche et un remplacement sur la colonne en remplaçant d'abord . par , alors votre code devrait fonctionner.