JMP 12.2
Ich möchte die Bedeutung dieser Nummer verstehen und vor allem, wie man sie entfernt / ändert. Ich möchte vermeiden, die Spalten zu duplizieren, da es sich um sehr große Tabellen handelt, die schnell bearbeitet werden müssen.
Die Zahl "19" wird nach dem Wort "Zeichen" unten angezeigt (die Zahl kann unterschiedlich sein, ich habe nur 19 als Beispiel gewählt):
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
)Wie würde ich nach dem Generieren der Tabelle das "(19)" so schnell wie möglich entfernen?
Ich habe es versucht:
:Column1 << Data type( Character );
:Column1 << Data type( Character() );<BR />:Column1 << Data type( Character(0) );
Ich kann es mit GetScript () sehen, ich kann es nicht mit ShowProperties () sehen;
Sie können sagen, dass es gutartig ist, und normalerweise mache ich mir keine Sorgen um diese Nummer, aber ich habe einen Fall gefunden, in dem ein Join mit der vorhandenen Nummer fehlerhaft wird (oder vielleicht soll diese Nummer Joins beeinflussen).
Ihre Frage hat mich verwirrt. Ich benutze JMP seit den 1990er Jahren und kann mich nicht erinnern, jemals auf "Character (x)" gestoßen zu sein. Also habe ich Nachforschungen angestellt. Die meisten Verweise auf die Verwendung dieser Notation beziehen sich auf die Bereitstellung von Informationen zur Spaltenbreite beim Einlesen von TXT-Dateien oder in OLE-Anwendungen. Im Skripthandbuch gibt es eine Referenz für "Mehrere Spalten hinzufügen". Bei der Betrachtung der Syntax im Skriptindex für "Mehrere Spalten hinzufügen" wird jedoch auf die Verwendung eines Elements mit dem Namen "Feldbreite (Nummer)" verwiesen, nicht auf eine (Nummer) nach der Datentypspezifikation von Character. Soweit ich das beurteilen kann, wird lediglich eine Mindestbreite der zu erstellenden Spalte festgelegt. Da JMP-Zeichenwerte / Spalten dynamisch sind und zwischen 0 und über einer Milliarde Zeichen lang sein können, würde ich vorschlagen, dass Sie in Ihrer Codierung niemals die Breitenspezifikation verwenden, nachdem eine neue Spalte vom Datentyp Zeichen definiert wurde.
Nun, wie man die minimale Breite loswird.
Ich habe festgestellt, dass JMP die Breitenspezifikation entfernt hat, wenn Sie einen Zeichenwert mit einer signifikanten Länge über die angegebene Breite zuweisen.
Also geben Sie Ihr Beispiel
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
);
Das Abrufen des Datentabellenskripts wird zurückgegeben
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1",
Character( 19 ),
"Nominal",
Set Values( {"Hello World"} )
)
)
Wenn Sie die folgende JSL ausführen, die den Wert der ersten Zeile in der Datentabelle abruft, der ersten Zeile einen langen Wert zuweist und dann den ursprünglichen Wert mithilfe dieses Codes wieder ersetzt
holdValue = :Column1[1];
:Column1[1] = repeat("a",500);
:column1[1] = holdValue;
Das abgerufene Tabellenskript lautet
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character, "Nominal", Set Values( {"Hello World"} ) )
)
Die Breitenreferenz wurde entfernt.
Dies wurde alles mit JMP 12.2 getestet
Dies ist die Methode, die ich mir ausgedacht habe, um das Problem der Zeichenbreite zu beseitigen. Einige andere Community-Mitglieder haben möglicherweise einen besseren Weg. Ich hoffe sie tun es!
Ja, es fiel mir schwer, eine Dokumentation darüber zu finden, was die Nummer bedeutet. Ich lege es sicher nicht dort hin ... scheint automatisch generiert zu werden.
Ihre Methode scheint zu funktionieren, aber ich frage mich, ob es eine elegantere Möglichkeit gibt, sie zu ändern oder zu entfernen.
Vielen Dank für die Hilfe!