JMP 12.2
Je voudrais comprendre la signification de ce numéro et surtout comment le supprimer / le modifier. Je voudrais éviter de dupliquer les colonnes car il s'agit de très grandes tables qui doivent être manipulées rapidement.
Le nombre "19" affiché après le mot "Caractère" ci-dessous (le nombre peut être différent, j'ai juste choisi 19 comme exemple):
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
)Une fois la table générée, comment éliminer le "(19)" le plus rapidement possible?
J'ai essayé:
:Column1 << Data type( Character );
:Column1 << Data type( Character() );<BR />:Column1 << Data type( Character(0) );
Je peux le voir en utilisant GetScript (), je ne peux pas le voir en utilisant ShowProperties ();
Vous pouvez dire que c'est bénin, et généralement je ne m'inquiète pas pour ce nombre, mais j'ai trouvé un cas où une jointure devient erronée avec le nombre en place (ou peut-être que ce nombre est censé influencer les jointures).
Votre question m'a troublé. J'utilise JMP depuis les années 1990 et je ne me souviens pas avoir rencontré "Character (x)". J'ai donc fait une enquête. La majorité des références à l'utilisation de cette notation vont de la fourniture d'informations sur la largeur de colonne à la lecture de fichiers .txt ou dans les applications OLE. Il existe une référence dans le Guide de création de scripts pour "Ajouter plusieurs colonnes". Cependant, en examinant la syntaxe dans l'index de script pour "Ajouter plusieurs colonnes", il se réfère à l'utilisation d'un élément appelé "fieldwidth (nombre)", et non un (nombre) après la spécification de type de données Caractère. D'après ce que je peux dire, il définit simplement une largeur minimale de la colonne en cours de création. Étant donné que les valeurs / colonnes de caractères JMP sont dynamiques et peuvent comporter de 0 à plus d'un milliard de caractères, je suggère que dans votre codage, vous n'utilisez jamais la spécification de largeur après la définition d'une nouvelle colonne de type de données Caractère.
Maintenant, comment se débarrasser de la largeur minimale.
J'ai trouvé que si vous attribuez une valeur de caractère d'une longueur significative, sur la largeur spécifiée, JMP supprimait la spécification de largeur.
Alors donné ton exemple
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character( 19 ), "Nominal", Set Values( {"Hello World"} ) )
);
Récupération des retours de script de table de données
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1",
Character( 19 ),
"Nominal",
Set Values( {"Hello World"} )
)
)
Si vous exécutez le JSL suivant qui obtient la valeur de la première ligne de la table de données et attribue une valeur longue à la première ligne, puis finalement remplacé la valeur d'origine en utilisant ce code
holdValue = :Column1[1];
:Column1[1] = repeat("a",500);
:column1[1] = holdValue;
Le script de table récupéré est
New Table( "Untitled",
Add Rows( 1 ),
New Column( "Column1", Character, "Nominal", Set Values( {"Hello World"} ) )
)
La référence de largeur a été supprimée.
Tout cela a été testé avec JMP 12.2
C'est la méthode que j'ai proposée pour éliminer le problème de largeur des caractères. Un autre membre de la communauté peut avoir une meilleure solution. J'espère qu'ils le font!
Ouais, j'ai eu du mal à essayer de trouver de la documentation sur ce que signifie le nombre. Je ne le mets certainement pas là ... semble être généré automatiquement.
Votre méthode semble fonctionner mais je me demande s'il existe une manière plus élégante de la modifier ou de la supprimer.
Merci beaucoup pour votre aide!