La fonction JSL Open ne crée pas de sous-ensemble basé sur l'argument facultatif "Select Columns"Salut tout le monde,
Je travaille sur l'importation de divers fichiers de données structurés dans un dataframe jmp en utilisant la méthode Open. J'ai du mal à voir ce que je fais de mal pour le deuxième cas car je suis capable d'utiliser la méthode de sous-ensemble comme je le souhaite pour le premier bloc de code. Toute aide serait appréciée!
[nom de fichier] correspond au format de chaîne du nom de fichier et non à une référence de variable. J'omets le nom complet conformément à la politique de l'entreprise.
Sous-ensemble de travail à l'aide de Select Columns :
sl = Open(Pick File()/"[file name].xls",
Select Columns ("Description", "Sample Mix", "Analyte Type", :Name("Threshold (nA)"), "Expected Outcome", "Lane", "Heater")
) << Set Name ("Sample Lookup");Sous-ensemble ne fonctionnant pas (récupération de toutes les colonnes d'origine) :
sd = Open (Pick File()/"[file name].csv",
Select Columns ("Accession Number", "Pad Name", " Warnings")
) << Set Name("Signal Data");La seule chose à laquelle je peux penser pourquoi le cas inférieur ne se subdivise pas en fonction des colonnes est les différents formats de données xls vs csv. Mais si c'est le cas, comment dois-je procéder pour corriger cela ? Merci!
AnalytiqueTableau de donnéesScriptRe : La fonction JSL Open ne crée pas de sous-ensemble basé sur l'argument facultatif "Sélectionner les colonnes"Salut,
Avez-vous vérifié que les paramètres d'importation CSV incluent la bonne ligne comme en-tête de colonne ? Cela peut être aussi simple que de remplacer l'instruction Open par une instruction Import Data avec les paramètres corrects
Juste une pensée.
Meilleur
TS
Re : La fonction JSL Open ne crée pas de sous-ensemble basé sur l'argument facultatif "Sélectionner les colonnes"il existe un moyen spécifique à csv d'omettre des colonnes. select columns() a probablement besoin de documentation pour dire qu'il est spécifique aux tables de données JMP. (edit : note envoyée à l'équipe de développement)
edit : le JSL du script source après avoir utilisé l'assistant d'importation csv
Open(
"$DOWNLOADS/Big_Class.csv",
columns(
New Column( "name", Character, "Nominal" ),
Omitted Column( . ), // leave out the "age" column
New Column( "sex", Character, "Nominal" ),
Omitted Column( . ), // leave out the "height" column
New Column( "weight", Numeric, "Continuous", Format( "Best", 12 ) )
),
Import Settings(
End Of Line( CRLF, CR, LF ),
End Of Field( Comma, CSV( 0 ) ),
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 ),
First Named Column( 1 ),
Data Starts( 2 ),
Lines To Read( "All" ),
Year Rule( "20xx" )
)
)
modifier: Omis peut remplacer Nouveau comme ça
Omitted Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
pour documenter ce qui est omis. Je suis presque sûr que les valeurs sont ignorées. Facilite également la modification du JSL s'il y a beaucoup de colonnes à ignorer.
Re : La fonction JSL Open ne crée pas de sous-ensemble basé sur l'argument facultatif "Sélectionner les colonnes"Salut Thierry,
Comme je suis nouveau du côté JSL de JMP, je pensais actuellement que "Ouvrir" était la fonction principale pour tous les types, mais je vais examiner "Importer des données" pour les fichiers de type csv. J'apprécie les conseils !
Merci,
Neel Sréjan
Re : La fonction JSL Open ne crée pas de sous-ensemble basé sur l'argument facultatif "Sélectionner les colonnes"Salut Craige,
Wow, merci d'avoir pris la peine d'enregistrer l'écran et d'avoir montré comment JMP enregistre le processus d'importation et d'exclusion et d'en copier le code source. C'était très instructif et merci également d'avoir demandé plus de documentation pour "Select Columns" car ce n'était pas très intuitif pour moi lors de la lecture. J'apprécie l'aide !
Avec respect,
Neel Sréjan