J'ai une table de données avec des données que j'ai importées 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 ont un point décimal et quelques chiffres derrière le point décimal. Je souhaite transformer ces colonnes en Numeric, Continuous, Engineering SI, 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 de colonne :
- Si je change les trois champs à la fois en Numérique, Continu, Ingénierie SI, puis que je clique sur "Appliquer", les valeurs contenant un point décimal seront réinitialisées sur "."
- 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.
Modification des colonnes à l'aide de 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 sur ".". J'ai également essayé d'utiliser column(dt, "ColumnName") au lieu de dt:ColumnName, et de ne définir qu'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.