Come aprire() solo colonne specifiche<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao, se ho una grande tabella di dati JMP, c'è un modo per inviare un messaggio a Open() che carica solo in colonne specifiche?Ciò ridurrebbe notevolmente il tempo di caricamento dei file per un file di grandi dimensioni.Ad esempio se ho questo file:
Open("c:\temp\fruit.jmp");
Diciamo che fruit.jmp contiene 200 colonne di diversi tipi di frutta e potrei aver bisogno di accedere a tutti questi, ma per il momento ho solo bisogno di caricare in una colonna "Apple" riducendo così il tempo di caricamento del file.L'esecuzione di un successivo Subset() vanifica lo scopo, poiché è necessario aprire prima il file di dati di grandi dimensioni e l'obiettivo qui è ridurre i tempi di caricamento del file caricando solo in quale colonna o colonne sono necessarie.Speravo che qualcosa come il seguente funzionasse, il che ovviamente non funziona:
Open("c:\temp\fruit.jmp",columns("Apple"));
suggerimenti?grazie... dj
Come aprire() solo colonne specificheOk, penso di averlo capito.Alla fine ho trovato un utile post del passato.Ho cercato tutti gli attributi Open() nella guida agli script e non c'è modo di farlo senza usare invece il comando Open Database().Fondamentalmente, devi solo convertire prima il file .jmp di origine in un file .xls.Volevo solo postare questo nel caso possa aiutare qualcun altro.dj
http://communities.sas.com/message/50379#50379
Quindi prima converto "fruit.jmp" in "fruit.xls".In questo modo posso fare in modo che JSL utilizzi la connessione DSN ODBC di Excel e un po' di codice SQL per estrarre solo le colonne di cui ho bisogno.Quindi diciamo che la mia tabella di dati di Excel ha un foglio di lavoro "Foglio1" e al suo interno una colonna chiamata "Apple" e voglio solo caricare questa colonna e nessuna delle altre in questo foglio di lavoro per risparmiare tempo.Questo codice qui sotto fa il trucco:
dt=Apri database("DSN=File Excel;DBQ=c:\temp\fruit.xls;DriverId=790;MaxBufferSize=2048;PageTimeout=5;","SELECT Apple FROM `Sheet1$`" , "Fruit Table" );