La función JSL Open no está creando un subconjunto basado en el argumento opcional "Seleccionar columnas"Hola a todos,
Estoy trabajando en la importación de varios archivos de datos estructurados en un marco de datos jmp utilizando el método Open. Tengo dificultades para ver qué estoy haciendo mal en el segundo caso, ya que puedo usar el método para crear subconjuntos como deseo para el primer bloque de código. ¡Cualquier ayuda sería apreciada!
[nombre de archivo] es para el formato de cadena del nombre de archivo, no una referencia variable. Estoy omitiendo el nombre completo según la política de la empresa.
Subconjunto de trabajo utilizando Seleccionar columnas:
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");Subconjunto que no funciona (se devuelven todas las columnas originales):
sd = Open (Pick File()/"[file name].csv",
Select Columns ("Accession Number", "Pad Name", " Warnings")
) << Set Name("Signal Data");Lo único que se me ocurre por qué el caso inferior no se subdivide en función de las columnas son los diferentes formatos de datos de xls vs csv. Pero si este es el caso, ¿cómo voy a corregir esto? ¡Gracias!
AnalíticaTabla de datossecuencias de comandosRe: La función JSL Open no está creando un subconjunto basado en el argumento opcional "Seleccionar columnas"Hola,
¿Ha comprobado que los parámetros de importación de CSV incluyen la fila correcta como encabezados de columna? Puede ser tan simple como reemplazar la instrucción Abrir con una instrucción Importar datos con los parámetros correctos.
Solo un pensamiento.
Mejor
TS
Re: La función JSL Open no está creando un subconjunto basado en el argumento opcional "Seleccionar columnas"hay una forma específica de csv para omitir columnas. seleccionar columnas () probablemente necesite alguna documentación para decir que es específico para las tablas de datos JMP. (editar: nota enviada al equipo de desarrollo)
editar: el JSL del script de origen después de usar el asistente de importación 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" )
)
)
editar: omitido puede sustituir Nuevo como esto
Omitted Column( "age", Numeric, "Continuous", Format( "Best", 12 ) ),
para documentar lo que se omite. Estoy bastante seguro de que los valores son ignorados. También facilita la edición del JSL si hay muchas columnas para ignorar.
Re: La función JSL Open no está creando un subconjunto basado en el argumento opcional "Seleccionar columnas"Hola Thierry,
Como soy nuevo en el lado JSL de JMP, actualmente pensé que "Abrir" era la función principal para todos los tipos, pero buscaré "Importar datos" para archivos de tipo csv. Agradezco la orientación!
Gracias,
neel srejan
Re: La función JSL Open no está creando un subconjunto basado en el argumento opcional "Seleccionar columnas"Hola Craige,
Wow, gracias por tomarse la molestia de grabar la pantalla y mostrar cómo JMP registra el proceso de importación y exclusión y copia el código fuente. Eso fue muy informativo y también gracias por solicitar más documentación para "Seleccionar columnas", ya que no fue muy intuitivo para mí cuando lo leí. ¡Agradezco la ayuda!
Respetuosamente,
neel srejan