Come posso modificare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectSto lavorando per unire (2) tabelle in uno script JSL.Il problema che sto riscontrando riguarda il salvataggio delle tabelle appena unite.Ci sono (2) problemi.
Il primo problema è che le colonne Dati di (Test2) arrivano a JMP come Carattere/Nominale e devono essere Numerico/Continuo.Quando cambio o creo il formato della colonna del foglio di calcolo Excel in numerico, ottengo il seguente errore in dt3 <
Send Expects Scriptable Object in accesso o valutazione di 'Send' , dt3 << /*####*/save as("B:\JoinTest1_2.jmp") /*####*/
Quando provo a formattare il formato della colonna della tabella dati JMP in JSL, ottengo lo stesso errore durante il salvataggio come istruzione.
L'ho cercato per ore e non riesco proprio a capirlo.
Ecco il mio codice.Qualsiasi aiuto sarebbe molto apprezzato.
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp",
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>Re: Come posso cambiare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectTi suggerisco caldamente di prendere l'abitudine di andare allo Scripting Index per ottenere la descrizione e gli esempi delle diverse funzioni che stai utilizzando.
Aiuto==>Indice degli script
O per ottenere solo una descrizione, una volta digitato il nome di una funzione, con il "(" iniziale puoi passare il mouse sopra il nome della funzione e verrà visualizzata una descrizione della funzione
Re: Come posso cambiare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectHa funzionato come un campione, quindi il numero di colonna è la sintassi corretta e non il nome della colonna. Bah, avrei dovuto essere in grado di capirlo.
Grazie!Re: Come posso cambiare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectOk, mi sono imbattuto in una soluzione parziale, il foglio di calcolo sia per dt1 che per dt2 ha sia dati di carattere che dati numerici, sebbene entrambi i file excel siano formattati come "Generale" in excel, per qualsiasi motivo alla tabella dt2 non piaccia e mi ha costretto a formattare le colonne numeriche come dati "numero".
Quindi c'è un modo per aggirare il problema, tuttavia vorrei sapere perché lo script non sembra funzionare quando si modificano i parametri in modo programmatico.Re: Come posso cambiare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectPenso di vedere il problema.Quando specifichi
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>
JMP sta cercando una colonna denominata "Column1".....Sì....Excel imposterà i nomi delle colonne dalla tabella Excel, perché è specificato nella definizione di come leggere il file Excel
Has Column Headers( 1 )
Quindi, se si desidera modificare il tipo di dati, ecc. utilizzando la posizione della colonna, è necessario specificare
column(dt2,1) << data type(Numeric)<<MODELING type=""></MODELING>
Re: Come posso cambiare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectSì, hai ragione dt2 è un file excel, scusa questo codice è generico per quello che sto facendo con i file reali.
ho due colonne che hanno lo stesso titolo (ID campione).
Il codice funziona allo stesso modo, quando si apre dt2 le colonne di dati non sono numeriche/continue e se provo a modificare i parametri della colonna nello script ottengo l'errore sopra. In che modo JMP interpreta i dati Excel con un'intestazione di colonna, potrebbe utilizzare il testo nell'intestazione di colonna per impostare i parametri?Re: Come posso cambiare il formato della colonna in JSL o gestire l'errore Send Expects Scriptable ObjectCi sono un paio di problemi che vedo.Non sono sicuro che dt2 stia aprendo una tabella dati .jmp o un file Excel.Hai specificato che dt2 è un file .jmp, ma hai incluso le specifiche di Excel.
Successivamente, la forma corretta del codice "Per colonne corrispondenti" dovrebbe essere :Column1 = :Column1........ma così com'è, se entrambe le colonne esistono nelle tabelle di dati, non dovrebbero esserci problemi
Ho aggiunto un paio di istruzioni per garantire che la tabella dati dt3 esista sia prima che dopo la chiusura delle tabelle dati dt1 e dt2.
Eseguire il codice e vedere cosa ha stampato il registro JMP
Names Default To Here( 1 );
dt1 = open("B:\Test1.jmp");
dt2 = Open("B:\Test2.jmp", // Is this a JMP table or an Excel..... the .jmp extension seems strange here
Worksheets( "WorkSheet1" ),
Use for all sheets( 1 ),
Concatenate Worksheets( 0 ),
Create Concatenation Column( 0 ),
Worksheet Settings(
1,
Has Column Headers( 1 ),
Number of Rows in Headers( 1 ),
Headers Start on Row( 1 ),
Data Starts on Row( 2 ),
Data Starts on Column( 1 ),
Data Ends on Row( 0 ),
Data Ends on Column( 0 ),
Replicated Spanned Rows( 1 ),
Replicated Spanned Headers( 0 ),
Suppress Hidden Rows( 1 ),
Suppress Hidden Columns( 1 ),
Suppress Empty Columns( 1 ),
Treat as Hierarchy( 0 ),
Multiple Series Stack( 0 ),
Import Cell Colors( 0 ),
Limit Column Detect( 0 ),
Column Separator String( "-" )
)
);
column(dt2,"Column1") << data type(Numeric)<<MODELING type=""></MODELING>