Halten Sie JMP davon ab, Leerzeichen zu kürzenWenn ich eine Textzeichenfolge mit abschließendem Leerzeichen in eine Zeichenspalte einer Datentabelle einfüge, scheint es, dass JMP diese Leerzeichen automatisch wegschneidet. Gibt es eine Möglichkeit, das zu verhindern?
DatentabelleBetreff: Verhindern Sie, dass JMP Leerzeichen kürztDanke Jan,
Mir ist jetzt klar, dass etwas mehr Kontext wahrscheinlich hilfreich gewesen wäre: Die Zeichendaten, die ich in die Tabelle eintrage, sind Benutzereingaben, die ich mit einer SQL-Abfrage aus einer Datenbank abrufe. Ich verwende die abgerufenen Werte, um dynamisch eine neue Abfrage zu erstellen, aber da die Leerzeichen gekürzt werden, stimmt der Wert in meiner Tabelle nicht mehr mit den Werten in der Datenbank überein. Ich vermute, dass dieses Verhalten auch der Grund dafür ist, warum ich die Filtereingabeaufforderung in der Query Builder-Plattform nicht verwenden kann, um nach Zeilen mit abschließendem Leerzeichen zu filtern - in diesem Fall ist das Abfrageergebnis einfach leer. Beachten Sie, dass ich kein Problem damit habe, eine WHERE-Klausel fest zu codieren, die mit den betreffenden Zeilen übereinstimmt, und dass ich auch das Folgende verwenden kann, um alle Zeilen mit nachgestellten Leerzeichen abzugleichen. Sobald sich die Daten jedoch in einer JMP-Tabelle befinden, sind die Leerzeichen verschwunden.
"SELECT *
FROM schema.table
WHERE RIGHT(column, 1) = ' ';"
Betreff: Verhindern Sie, dass JMP Leerzeichen kürztEtwas, das diesem Verhalten sehr ähnlich ist, hat mich eine Weile gestört, ich habe gerade diesen Wunschlisteneintrag eingereicht, den Sie vielleicht nützlich finden:
Daten beibehalten, wenn der Datentyp der Spalte geändert wird
Betreff: Verhindern Sie, dass JMP Leerzeichen kürztIch bin mir nicht sicher, ob es eine Option gibt, dieses Verhalten zu erzwingen, aber das kann meine Schuld sein.
Wenn Sie jedoch Werte mit einer anderen JSL in Zellen "einfügen", können Sie möglicherweise eine "Ausdrucksspalte" verwenden, um Werte beizubehalten:
NamesDefaultToHere(1);
dt =
New Table( "Trailing White Space",
Add Rows( 2 ),
New Column( "String",
Character,
"Nominal",
Set Values( {"", ""} ),
Set Display Width( 96 )
),
New Column( "Expression String",
Expression,
"None",
Set Values( {Empty(), Empty()} )
)
);
Wait(3);
txt1 = "Text";
txt2 = "Text ";
Column(dt, 1)[1] = txt1;
Column(dt, 2)[1] = txt1;
Column(dt, 1)[2] = txt2;
Column(dt, 2)[2] = txt2;
for(r=1, r<=NRow(dt), r++, Print(Length(Column(dt, 1)[r]), Length(Column(dt, 2)[r])));
Nachdem Werte auf diese Weise gespeichert wurden, hängt die Nützlichkeit dieses Ansatzes auch davon ab, was als nächstes passiert.