Ich habe eine Datentabelle mit einigen Daten, die ich aus einer Textdatei importiert habe, die Spalten enthält, die standardmäßig Datentyp == Zeichen und Modellierungstyp == Nominal haben. Diese Spalten enthalten Zahlen, von denen einige einen Dezimalpunkt und einige Ziffern hinter dem Dezimalpunkt haben. Ich möchte diese Spalten in Numeric, Continuous, Engineering SI umwandeln, bin aber auf ein seltsames Verhalten gestoßen. In einigen Fällen werden nämlich die Werte in der Spalte, die einen Dezimalpunkt enthalten, gelöscht (ihr Wert wird auf „.“ gesetzt).
Ich habe zwei Ansätze ausprobiert:
Manuelles Ändern der Spalten mit Column Info:
- Wenn ich alle drei Felder gleichzeitig in „Numerisch“, „Kontinuierlich“ und „Technische SI“ ändere und dann auf „Übernehmen“ klicke, werden die Werte, die einen Dezimalpunkt enthalten, auf „.“ zurückgesetzt.
- Wenn ich nach dem Ändern jedes Felds (also insgesamt dreimal) auf „Übernehmen“ drücke, sind die Werte korrekt formatiert und alles funktioniert.
Ändern der Spalten mit JSL: (Das möchte ich eigentlich tun)
Mein Code zum gleichzeitigen Festlegen aller drei Felder:
dt = Current Data Table();
dt:ColumnName << Set Data type( "Numeric" ) << Set Modeling Type( "Continuous" ) << Set Format( "Engineering SI", 12, 5);
Dadurch werden alle Werte in der Spalte ColumnName auf „.“ zurückgesetzt. Ich habe auch versucht, „column(dt, „ColumnName“)“ anstelle von „dt:ColumnName“ zu verwenden und jeweils nur ein Feld festzulegen, aber das Ergebnis ist das gleiche. Der Code scheint gut zu laufen. Es schreibt zwar „Scriptable[]“ in das Terminal, aber ich konnte nicht herausfinden, was das bedeutet.
Sie befinden sich wahrscheinlich in Europa und Ihre Region ist so eingestellt, dass sie , als Dezimaltrennzeichen verwendet. Führen Sie eine Suche und Ersetzung in der Spalte durch, in der Sie zuerst ersetzen. by , dann sollte Ihr Code funktionieren.