Comment ouvrir () uniquement des colonnes spécifiquesBonjour, si j'ai une grande table de données JMP, existe-t-il un moyen d'envoyer un message à Open() qui ne se charge que dans des colonnes spécifiques ? Cela réduirait considérablement le temps de chargement d’un fichier volumineux. Par exemple si j'ai ce fichier :
Ouvrir("c:\temp\fruit.jmp");
Disons que fruit.jmp contient 200 colonnes de types de fruits différents et que j'aurai peut-être besoin d'accéder à tous, mais pour le moment, je n'ai besoin que d'un chargement dans une colonne "Apple", réduisant ainsi le temps de chargement des fichiers. Faire un Subset() ultérieur va à l'encontre de l'objectif, car le gros fichier de données doit être ouvert en premier et l'objectif ici est de réduire les temps de chargement des fichiers en chargeant uniquement dans les colonnes nécessaires. J'espérais que quelque chose comme ce qui suit fonctionnerait, ce qui n'est bien sûr pas le cas :
Open("c:\temp\fruit.jmp",columns("Pomme"));
suggestions? merci... dj
Comment ouvrir () uniquement des colonnes spécifiquesOk, je pense que j'ai peut-être compris cela. J'ai finalement trouvé un message utile du passé. J'ai recherché tous les attributs Open() dans le guide de script et il n'y a aucun moyen de le faire sans utiliser la commande Open Database() à la place. Fondamentalement, il suffit d’abord de convertir le fichier source .jmp en fichier .xls. Je voulais juste poster ceci au cas où cela aiderait quelqu'un d'autre. DJ
http://communities.sas.com/message/50379#50379
Alors d'abord, je convertis le "fruit.jmp" en "fruit.xls". De cette façon, je peux demander à JSL d'utiliser la connexion Excel ODBC DSN et un peu de code SQL pour extraire uniquement la ou les colonnes dont j'ai besoin. Disons donc que mon tableau de données Excel contient une feuille de calcul "Feuille1" et à l'intérieur une colonne appelée "Apple" et je souhaite uniquement charger cette colonne et aucune des autres dans cette feuille de calcul afin de gagner du temps. Ce code ci-dessous fait l'affaire :
dt=Open Database("DSN=Excel Files;DBQ=c:\temp\fruit.xls;DriverId=790;MaxBufferSize=2048;PageTimeout=5;","SELECT Apple FROM `Sheet1$`" , "Fruit Table" );