Oggetto: Memorizzazione di tabelle di dati come metadati (variabili di tabella) JSLhttps://community.jmp.com/t5/Discussions/difference-between-set-and-new-table-variable-strange-results-in/mp/429212/highlight/true#M67868 da differenza tra set e nuova variabile di tabella - risultati strani nella scrittura di stringhe?descrive quattro diverse funzioni, set/get/new table variable e dt:tablevar e consiglia di utilizzare set table variable e dt:tablevar.
Oggetto: Memorizzazione di tabelle di dati come metadati (variabili di tabella) JSLLa variabile da memorizzare è una tabella di dati. Il dt:tablevar non sembra funzionare in questo caso.
Oggetto: Memorizzazione di tabelle di dati come metadati (variabili di tabella) JSLLe variabili di tabella sono stringhe di caratteri.
Se vuoi che dt_recovered sia lo stesso dopo, dovrai convertire dt_metadata nella rappresentazione della stringa di caratteri dell'espressione quando la memorizzi nella variabile table. Dovrai quindi analizzarlo quando lo estrai dalla variabile.
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt_metadata = Open( "$SAMPLE_DATA/Solubility.jmp" );
dt << Set Table Variable( "dt_user", char(dt_metadata));
close(dt_metadata);
dt_recovered = parse(dt << Get Table Variable("dt_user"));
show(dt_recovered);
show(Is String(dt_recovered));
//dt_recovered = Data Table("Solubility.jmp");
//Is String(dt_recovered) = 0;
Oggetto: Memorizzazione di tabelle di dati come metadati (variabili di tabella) JSLEcco tre esempi che incorporano i dati per la tabella B nella tabella A . Preferisco l'esempio dtb3 per tabelle di dimensioni ragionevoli. L'esempio dtb4 è quello che penso tu abbia descritto; è forse meglio per un enorme tavolo B, ma è molto opaco per chiunque altro. dtb5 combina le due idee.
// Make sample tables. When done, aa will have two table scripts and a table variable.
// the scripts and variables show three ways to embed bb in aa.
dta = New Table( "aa", New Column( "a", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1] ) ) );
dtb = New Table( "bb", New Column( "b", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [2] ) ) );
// dtb3: I think you should do this with a table script because it can be
// opened from the GUI or from JSL. The downside is if the table is
// very large it will be slow to save and slow to open because it is
// making a script to recreate the table.
Eval( Eval Expr( dta << NewScript( "bbb", Expr( dtb << getScript ) ) ) );
// jsl to open:
dtb3 = Eval( dta << getScript( "bbb" ) );
dtb3 << SetName( "dtb3" ); // optional, was "bb 2"
// dtb4: it gets ugly with a table variable, there are several possibilities. This
// will save the table and grab the binary from the disk file and make a character
// string from that. You might choose to do this for a really large file, but I'm
// not sure what issues you'll run into.
dtb << Save( "$temp/bb.jmp" );
blob = Load Text File( "$temp/bb.jmp", blob );
blob = Gzip Compress( blob );// optional
text = Char( blob );
dta << SetTableVariable( "bbbb", text );
// reopen
text = dta:bbbb;
blob = Parse( text );
blob = Gzip Uncompress( blob );//optional
dtb4 = Open( blob, "jmp" );
dtb4 << SetName( "dtb4" ); // optional, was "untitled"
// dtb5: you could combine the two ideas, saving the binary data as a table script so
// it can be used from the GUI
dtb << Save( "$temp/bb.jmp" );
blob = Load Text File( "$temp/bb.jmp", blob );
blob = Gzip Compress( blob );// optional
text = Char( blob );
Eval(
Eval Expr(
dta << NewScript(
"bbbbb",
Local( {text, blob, dt},
text = Expr( text );
blob = Parse( text );
blob = Gzip Uncompress( blob );//optional
dt = Open( blob, "jmp" );
dt;
)
)
)
);
// reopen
dtb5 = Eval( dta << getScript( "bbbbb" ) );
dtb5 << SetName( "dtb5" ); // optional, was "untitled"
Oggetto: Memorizzazione di tabelle di dati come metadati (variabili di tabella) JSLOppure, se intendi lasciare un collegamento piuttosto che incorporare i dati, forse usa il nome del file per la tabella collegata:
dta = New Table( "aa", New Column( "a", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [1] ) ) );
dtb = New Table( "bb", New Column( "b", Numeric, "Continuous", Format( "Best", 12 ), Set Values( [2] ) ) );
dta << Save( "$temp/aa.jmp" );
dtb << Save( "$temp/bb.jmp" );
// leave table B's filepath in table A
dta << SetTableVariable("path to B", dtb<<GETPATH></GETPATH>Archiviazione di tabelle di dati come metadati (variabili di tabella) JSLLe variabili di tabella vengono utilizzate per memorizzare i metadati all'interno di una tabella di dati ( JSL doc , generale doc )
Tuttavia, sembrano essere limitati alle variabili solo come stringhe (vedi codice sotto).
Quale sarebbe l'opzione migliore per memorizzare una tabella di dati come variabile di tabella?
Names Default To Here( 1 );
dt = Open( "$SAMPLE_DATA/Big Class.jmp" );
dt_metadata = Open( "$SAMPLE_DATA/Solubility.jmp" );
dt << Set Table Variable( "dt_user", dt_metadata );
close(dt_metadata);
dt_recovered = dt << Get Table Variable("dt_user");
show(dt_recovered);
show(Is String(dt_recovered));
//dt_recovered = "Solubility";
//Is String(dt_recovered) = 1;Modellazione statistica avanzataAutomazione e scriptingMiscelazione e pulizia dei datiPersonalizzazione di massaRi: Memorizzazione di tabelle di dati come metadati (variabili di tabella) JSLPer le colonne un utente può specificare le proprietà della colonna e c'è anche la possibilità di definire proprietà definite dall'utente.
Che ne dici di un framework simile per le tabelle?
Ecco un desiderio:
Informazioni generali sulla tabella