Perché la tabella dati corrente non funziona per me?Sto leggendo un file csv, quindi chiamo la tabella dati corrente su di essa e mi dà errore: l'argomento deve contenere un riferimento alla tabella dati nell'accesso o nella valutazione di 'Current Data Table', Current Data Table/*###*/(dtIVInitial)
Even though the type of dtIVInitial is Table ? What am I doin wrong. Also this doesnt even open a datatable.
// Construct the full paths
initialCSVPath = dataFolderInitial || "/" || initialCSVFile;
finalCSVPath = dataFolderFinal || "/" || finalCSVFile;
// Debugging Output
Show("Matching Initial CSV:", initialCSVPath);
Show("Matching Final CSV:", finalCSVPath);
// Open Files
If( File Exists(initialCSVPath),
Show("Initial file exists");
dtIVInitial = Open(initialCSVPath,
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" )
));
Wait(1.0);
dtIVInitial << Set Name("IV Curves Initial Data");
,
Throw("Initial IV Curve CSV file not found! Check folder structure.");
);
If( File Exists(finalCSVPath),
Show("Final file exists");
dtIVFinal = Open(finalCSVPath,
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Tab, Comma, CSV( 1 ) ),
Strip Quotes( 1 ),
Use Apostrophe as Quotation Mark( 0 ),
Use Regional Settings( 0 ),
Scan Whole File( 1 ),
Treat empty columns as numeric( 0 ),
CompressNumericColumns( 0 ),
CompressCharacterColumns( 0 ),
CompressAllowListCheck( 0 ),
Labels( 1 ),
Column Names Start( 1 ),
Data Starts( 2 ),
Lines To Read( "All" )
));
Wait(1.0);
dtIVFinal << Set Name("IV Curves Final Data");
,
Throw("Final IV Curve CSV file not found! Check folder structure.");
);
Show(Type(dtIVInitial)); // "Table"
Show(Type(dtIVFinal)); // "Table"
Show(IsEmpty(dtIVInitial));
Show(IsEmpty(dtIVFinal)); <BR />Current Data Table(dtIVInitial);
Automazione e scriptingAnalisi e modellazione dei dati di baseAccesso ai datiEsplorazione e visualizzazione dei datiR: Perché la tabella dati corrente non funziona per me?A cosa ti serve Current Data Table()? Hai già il riferimento alla tabella e puoi usare quello al suo posto.
A parte il suggerimento che non dovresti usare Current data table() in casi come questo, quella sintassi dovrebbe essere corretta se dtIVInitial è una tabella. Puoi semplicemente usare Show con dtIVInitial per mostrare cosa ha
Names Default To Here(1);
dt = Open("$SAMPLE_DATA/Big Class.jmp");
dt1 = Open("$SAMPLE_DATA/Big Class Families.jmp");
show(Current Data Table());
Current Data Table(dt);
show(Current Data Table());
R: Perché la tabella dati corrente non funziona per me?Ho più tabelle nel mio script. Nelle fasi successive devo creare determinati grafici da ogni tabella. Quindi di solito imposto la tabella corrente su un modulo da cui devo creare il grafico in quel momento e poi creo il grafico. Non sono sicuro che sia l'approccio giusto.
R: Perché la tabella dati corrente non funziona per me?Ciao
@jthi Grazie mille per la tua risposta immediata. Si scopre che più avanti nello script stavo chiudendo la tabella, da qui il problema.
R: Perché la tabella dati corrente non funziona per me?Questo può essere un approccio molto molto rischioso. È meglio inviare il messaggio della piattaforma direttamente al riferimento della tabella dati se è possibile ottenerlo facilmente senza la tabella dati corrente (questo è il caso abbastanza comune). Ecco un esempio con il generatore di grafici e la distribuzione con alcune stampe extra da registrare solo per mostrare come può essere utilizzato il riferimento della tabella
Names Default To Here(1);
dt = open("$SAMPLE_DATA/Big Class.jmp");
gb = dt << Graph Builder(
Variables(X(:weight), Y(:height), Overlay(:sex)),
Elements(Points(X, Y, Legend(9)), Line Of Fit(X, Y, Legend(11)))
);
dist = dt << Distribution(Column(:Age, :Weight));
nw = New Window("",
H List Box(
gb2 = dt << Graph Builder(
Variables(X(:weight), Y(:height)),
Elements(Points(X, Y, Legend(9)))
),
dist2 = dist = dt << Distribution(Column(:Age));
)
);
Show(dt, gb, dist, gb << Get Data Table, gb2, dist2);R: Perché la tabella dati corrente non funziona per me?Questo è bello, applicherò questa modifica al mio codice attuale