problema divertente con i nomi delle colonneMi chiedevo cosa ci fosse una sceneggiatura che non faceva ciò che doveva fare: per niente!!
Basta aprire la tabella dati allegata ed eseguire lo script: THE_BUG
Caption(
"column \!"File Name\!"
values: " || Char((current data table():file Name << Get values));
)
Il risultato è sorprendente:

Perché non "A" e "B"?

Si può facilmente correggere lo script...
Ma scavando più a fondo, si scopre una causa profonda piuttosto sorprendente...
buon divertimento : )
Automazione e scriptingRe: Problema fastidioso con i nomi delle tabelleSono confuso. Ecco cosa ottengo usando JMP 18.1.0:

Mi sfugge qualcosa?
Re: Problema fastidioso con i nomi delle tabelleMi dispiace, ma durante l'aggiornamento del post ho rimosso accidentalmente la causa principale.
Ora il miracolo avviene di nuovo...
Re: Problema fastidioso con i nomi delle tabelleNella tabella dati originale potresti aver ottenuto

Vedi altro...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: Problema fastidioso con i nomi delle tabellePiù di una supposizione : )
È interessante...
- che JMP mantenga il nome della colonna "Nome file" internamente per la seconda colonna, nonostante il conflitto con l'altra colonna
basta salvare lo script della tabella e vedrai qualcosa di simile al post di @jthi - che JMP utilizza questo nome interno per trovare la colonna, sebbene il "Nome file 2" nella vista tabella
oltre a "Nome file", puoi accedere alla colonna anche tramite "Nome file 2" - che JMP analizza prima i nomi delle colonne localizzate e POI i nomi delle colonne originali (altrimenti troverebbe la prima colonna).
La sequenza sembra essere:
1) nome colonna a: solo corrispondenze esatte
2) nomi di colonne localizzati - anche corrispondenze approssimative
3) nome colonna b: corrispondenze approssimative - da dove proviene la colonna aggiuntiva.
Ho provato Concatenate e Update con impostazioni in inglese e tedesco... con JMP 18.1 e JMP19EA4.
Re: Problema fastidioso con i nomi delle tabelleDi conseguenza, un codice JSL è molto "fragile" se il nome di una colonna è scritto in modo leggermente diverso dal nome effettivo della colonna:
Qualcuno può aggiungere una nuova colonna con valori alternativi. Se uno dei nomi localizzati è simile al nome della colonna originale/al riferimento nello script, JMP darà priorità alla nuova colonna. Questo può portare a grafici sorprendenti, forse meno ovvi di questo:
<- Graph Builder utilizzerà questo
nome colonna: peso
Script JSL: Peso
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: Problema fastidioso con i nomi delle tabelleUtilizzando la tabella dati fornita da @hogi , ottiene i valori vuoti che erano stati mostrati in origine. Ho quindi notato che c'è una colonna chiamata File Name 2 che ha valori vuoti per le 2 righe. Ho quindi eliminato la colonna File Name 2 e ho rieseguito lo script, e lo script è stato visualizzato

Se si modifica il nome della colonna Nome file 2 lo script verrà eseguito correttamente