problème amusant avec les noms de colonnesJe me demandais s'il y avait un script qui ne faisait pas ce qu'il était censé faire - pas du tout !!
Ouvrez simplement la table de données ci-jointe et exécutez le script : THE_BUG
Caption(
"column \!"File Name\!"
values: " || Char((current data table():file Name << Get values));
)
Le résultat est surprenant :

Pourquoi pas « A » et « B » ?

On peut facilement corriger le script...
Mais en creusant plus profondément, on découvre une cause profonde assez surprenante...
s'il vous plaît profitez-en : )
Automatisation et scriptsRe: Problème désagréable avec les noms de tableJe suis confus. Voici ce que j'obtiens en utilisant JMP 18.1.0 :

Est-ce que j'ai raté quelque chose ?
Re: Problème désagréable avec les noms de tableDésolé, lors de la mise à jour du message, j'ai accidentellement supprimé la cause première.
Et maintenant le miracle opère à nouveau...
Re: Problème désagréable avec les noms de tableDans le tableau de données d'origine, vous auriez pu obtenir

Voir plus...My guess is that it is caused by using translated column name and same name in other column + relying on JMP's loose name rules (file Name instead of File Name for column referencing)
New Table("where_is_the_bug",
Add Rows(2),
Compress File When Saved(1),
New Script(
"THE BUG", JSL Quote(Caption(
"column \!"File Name\!"
name: "|| (current data table():file Name << Get Name)||"
values: " || Char((current data table():file Name << Get values));
)
) ,
As String(1)
),
New Column("File Name",
Character,
"Nominal",
Compact(),
Set Values({"A", "B"}),
Set Display Width(71)
),
New Column(["de" => "Dateiname", "en" => "File Name"],
Character,
"Nominal",
Compact(),
Set Selected,
Set Values({"C", "C"}),
Set Display Width(83)
)
)
Most definitely a bug considering JMP's rules for names but there are easy workarounds.
Re: Problème désagréable avec les noms de tablePlus qu'une supposition : )
C'est intéressant...
- que JMP conserve le nom de colonne « Nom de fichier » en interne pour la deuxième colonne - malgré le conflit avec l'autre colonne
enregistrez simplement le script de la table et vous verrez quelque chose comme dans le message de @jthi - que JMP utilise ce nom interne pour trouver la colonne - bien que le « Nom de fichier 2 » dans la vue de table
en plus de « Nom de fichier », vous pouvez également accéder à la colonne via « Nom de fichier 2 » - que JMP analyse d'abord les noms de colonnes localisés - puis les noms de colonnes d'origine (sinon il trouverait la première colonne).
La séquence semble être :
1) nom de la colonne a : juste des correspondances exactes
2) noms de colonnes localisés - même correspondances approximatives
3) nom de la colonne b : correspondances approximatives - d'où vient la colonne supplémentaire.
J'ai essayé Concaténer et mettre à jour - avec les paramètres anglais et allemand... avec JMP 18.1 et JMP19EA4.
Re: Problème désagréable avec les noms de tablePar conséquent, un code JSL est très « fragile » si le nom d’une colonne est écrit légèrement différemment du nom réel de la colonne :
Quelqu'un peut ajouter une nouvelle colonne avec des valeurs alternatives. Si l'un des noms localisés est similaire au nom de la colonne d'origine, la référence dans le script JMP donnera la priorité à la nouvelle colonne. Cela peut conduire à des tracés surprenants - peut-être moins évidents que celui-ci :
<- Graph Builder utilisera celui-ci
nom de la colonne : poids
Script JSL : Poids
alternative column (at the end of the table): wEiGhT <- Graph Builder will use this one

dt = Open("$SAMPLE_IMPORT_DATA/Bigclass.xlsx");
expr = Expr(dt << Graph Builder(
Size( 437, 413 ),
Graph Spacing( 4 ),
Variables( X( :height ), Y( :Weight ), Overlay( :sex ) ),
Elements( Points( X, Y, Legend( 1 ) ), Smoother( X, Y, Legend( 2 ) ) )
));
expr;
Wait(1);<BR />
caption("and with some magic ...");
New Column( ["x-id" => "wEiGhT", "en" => "innocent column"], Set Values( 100::61) );
expr;
Re: Problème désagréable avec les noms de tableEn utilisant le tableau de données fourni par @hogi , il récupère les valeurs vides qui étaient affichées à l'origine. J'ai ensuite remarqué qu'il y a une colonne appelée Nom de fichier 2 qui contient des valeurs vides pour les 2 lignes. J'ai ensuite supprimé la colonne Nom de fichier 2 et relancé le script, et le script s'est affiché

Si vous modifiez le nom de la colonne Nom de fichier 2, le script s'exécutera également correctement