L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Sto cercando di impostare un ID collegamento in JSL, ma quando lo imposto in JSL, l'ID collegamento sembra essere impostato nella tabella come dovrebbe, ma il riferimento al collegamento nell'altra tabella che dovrebbe fare riferimento ad esso non funziona.
Se rimuovo l'ID del collegamento e lo imposto facendo clic con il pulsante destro del mouse sull'ID del collegamento, tutto funziona correttamente.
Io uso questo:
dfps:name( "Country" ) << Set Property( "Link ID", 1 );
Non riesco a vedere cosa ci sia di sbagliato in questo. Mi sto perdendo qualche operazione di aggiornamento per farlo funzionare? Eventuali suggerimenti?
Personalizzazione di massaRi: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Grazie Mandy,
a volte non vuoi che le cose vengano salvate.
Ma grazie per aver sottolineato che questo problema è stato risolto in JMP 17. Sono il 16.2. Non è sempre facile eseguire l'aggiornamento a una versione software più recente in un'azienda più grande, ma ora so che ne varrebbe la pena.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Grazie per aver condiviso questi commenti e approfondimenti.È stato incoraggiato molte volte a salvare le tabelle prima di creare questi ID di collegamento e riferimenti di collegamento per le tabelle, per assicurarsi che vengano salvate correttamente. Tuttavia, è stato segnalato un difetto al riguardo ed è stato corretto durante il ciclo JMP 17.0. Quindi questo comportamento di scripting non fallisce più.
Installa il nuovo JMP 17.0 e questo comportamento dovrebbe essere ulteriormente migliorato.Grazie.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?@Robbb Ho appena inviato una nota al team di sviluppo; Non ho testato la tua teoria, ma spero che tu abbia identificato una causa dell'imprevedibilità. È credibile perché c'è qualcosa di diverso nella directory corrente quando uno script non viene salvato e forse le tabelle dipendono da qualcosa correlato a questo.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Come menziona Craige, credo che sia un problema di "salvataggio". Ho già avuto questo problema in passato e, frustrante, lo avevo solo su PC. Sul Mac non è stato necessario eseguire il salvataggio.
Assicurandomi che la mia tabella fosse salvata per prima, ho risolto il problema.
Brady
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Ho scoperto qualcosa di nuovo:
Se lo script JSL che sto eseguendo non viene salvato e non è mai stato salvato prima (quindi se il codice sorgente è stato scritto o copiato in una nuova finestra di scripting aperta), il collegamento di due tabelle di dati non salvate funziona a meraviglia.
Se viene salvato o se si tratta di uno script esistente appena modificato e non salvato, non funziona.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Ciao a tutti,
Ho lo stesso problema con il collegamento di due tabelle tramite script.
Si comporta esattamente come @ThomasZatValcon descritto.
Dopo averlo fatto manualmente facendo clic, ho quindi copiato le due righe di codice dal registro.
Poi dipende dove sono inseriti. Se li inserisco in una nuova finestra di script, lo script funziona. Se li inserisco nel mio attuale script in fase di sviluppo (da cui sono state aperte originariamente le due tabelle) non funziona.
Ci sono nuovi spunti su questo problema?
Saluti
Roberto
A proposito. Nel frattempo ho trovato un thread correlato. La soluzione alternativa è salvare prima i datatable, ma ciò non è sempre conveniente.
https://community.jmp.com/t5/Discussions/Virtual-Join-via-JSL-does-not-work/td-p/360675
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Prova a salvare le tabelle prima del collegamento e verifica se i risultati diventano coerenti. Non sono sicuro di come funzionino internamente i collegamenti, ma potrebbe dipendere dalla disponibilità di un nome file.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Sono due tavoli diversi. Quella a sinistra è la tabella con l'ID, la tabella a sinistra è la tabella con il riferimento.
Sì, ho provato a fare riferimento a column(dt...) e dt:name()....
Ho anche provato a inserire il codice che funziona (quando viene eseguito da una finestra di script separata) in un file separato e includerlo. Non ha funzionato neanche. Ho provato a inserirlo in un expr() e valutarlo. Inoltre non ha aiutato.
Ma le due righe di codice funzionano se creo una finestra di script separata e le eseguo da lì, il che è inaspettato.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Dovrebbero essere la stessa cosa? Perché le due tabelle hanno un numero diverso di colonne.
Hai controllato che `dfps` sia corretto? Oppure hai provato a utilizzare "Column(dt, "Country")`?Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Non l'ho ancora capito, ma sto riscontrando un comportamento davvero strano qui:
Avere lo stesso codice in due finestre:

Quando eseguo il codice nella finestra di sinistra, noto che l'icona con i due tasti è grigia (non funziona):

Quando eseguo le stesse due righe nella finestra di destra funziona:

Il codice nella finestra di sinistra è dove è stato creato il jsl. Tutto il codice è semplicemente in esecuzione nello spazio dei nomi globale. Ho anche provato con i nomi predefiniti qui(1) e ho ottenuto lo stesso comportamento che mi ha sorpreso, poiché mi aspettavo di non poter fare riferimento alle variabili della tabella da un'altra finestra di script.
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Grazie. Ho modificato il tuo codice per rappresentare meglio cosa sta succedendo (le tabelle sono solo in memoria) per rappresentare più da vicino cosa sta succedendo e mi aspettavo che fallisse, ma in realtà funziona. Non ho ancora capito cosa fa fallire il mio altro codice, ma aggiornerò questo thread se lo scopro.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA\Big Class.jmp" );
// creating a unique ID
dt2 = dt << subset( all rows, all columns );
dt2 << New Column( "_Row", <<SET each="" value=""></SET>
Ri: L'impostazione dell'ID collegamento in jsl sembra non funzionare: cosa c'è che non va?Stai dicendo che stai impostando il riferimento prima dell'ID?Non sono sicuro di come lo faresti, ma per me funziona bene.
Names default to here( 1 );
dt = open("$SAMPLE_DATA\Big Class.jmp");
// creating a unique ID
dt << New Column("_Row", << Set Each Value(Row()));
// subsetting just so I have something to link
dt_sub = dt << Subset(
Selected Rows( 0 ),
Rows( [1, 2, 3, 4, 5] ),
columns( :_Row )
);
Column(dt, "_Row") << Set Property( "Link ID", 1 );
Column(dt_sub, "_Row") << Set Property( "Link Reference",
Reference Table( "$SAMPLE_DATA\Big Class.jmp" )
);