Plantilla de script para crear archivos jrp desde csv<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Hola chicos
Soy nuevo en JMP Pro y en su lenguaje de secuencias de comandos, así como en esos foros de SAS.
Si cree que publiqué mi pregunta en el lugar equivocado, hágamelo saber y discúlpeme.
Mi meta es crear un script que:
abrir archivo CSV
crear un gráfico de variabilidad basado en la tabla de este archivo
guardar el resultado como archivo JRP
Ahora Algunos detalles .
El archivo CSV puede ser enorme en número de fila. Este archivo comienza con una línea de nombres de columnas. Supongamos que la ruta completa a este archivo es " Ruta a CSV ".
Tengo un script que crea un gráfico de variabilidad que necesito. Supongamos que el texto de este script es " Guión gráfico ".
Como resultado, quiero obtener un archivo .JRP que contenga datos del archivo CSV y del gráfico, supongamos que la ruta al archivo JRP deseado es " DesiredReportPath ".
Sé que los nombres de las columnas en mi secuencia de comandos que crea el gráfico son correctos y esas columnas están presentes en el archivo CSV.
Más detalles:
En realidad, estoy escribiendo una aplicación C# que automatiza el proceso de análisis del registro de prueba. Hace muchas cosas (irrelevantes para JMP).
Tenemos un entorno que crea muchos archivos csv con esquemas conocidos.
Tenemos algunos especialistas que saben abrir esos archivos en JMP Pro y crear los gráficos que necesitan.
Entonces esas personas pueden darme guiones precisos para esos gráficos. Tienen diferentes gráficos para diferentes esquemas de CSV.
Estoy fusionando esos csv con los mismos esquemas en mi aplicación, y luego quiero usar la interoperabilidad JMP para ejecutar el script que quiero construir.
Ejecutaré el script diferente para cada archivo CSV fusionado. Así que necesito crear una plantilla para el script.
Pregunta : ¿Cuál sería el guión para hacer lo que quiero?
Supongo que tiene la siguiente construcción:
X1 Ruta a CSV X2 ChartScript X3 DesiredReportPath
Donde X1 abre el archivo CSV y crea una tabla de datos,
X2 abre una nueva pestaña (?) para el gráfico y lo crea
X3 guarda todo el trabajo en la ruta deseada
Saludos,
Artem;
Re: Plantilla de script para crear archivos jrp desde csvEn este caso, vc es el gráfico de variabilidad, es la variable (mango) para direccionar la ventana del informe.
vc<
En el ejemplo, guardé el diario "jvs" como varios tipos de archivos. Podríamos haber guardado "vc" como uno de esos tipos de archivos.
Enviar varios informes a un diario y luego guardar el diario es conveniente cuando no quiero perder tiempo creando una ventana de informe más bonita, por ejemplo, un generador de aplicaciones.
Hay tanta flexibilidad con JSL que realmente puedes construir casi cualquier cosa que puedas imaginar.
Re: Plantilla de script para crear archivos jrp desde csv¡Gracias por la respuesta, Byron!
El guión que diste es casi lo que necesito.
Sin embargo, hay algunas cosas que extraño/no entiendo.
Creo que tengo un problema con las siguientes dos líneas:
jvs=vc<
jvs << guardar diario( "C:/testJRN.jrn" );
En primer lugar, ¿están conectados? Es decir, si quiero guardar solo una imagen del gráfico de variabilidad, ¿debería tener todavía la
" jvs=vc< "línea en mi plantilla?
Y estoy seguro de que solo necesitaré dos opciones (por lo que necesito dos plantillas o una plantilla con un parámetro adicional):
1 - Guardar imagen del gráfico creado
2 - Guardar algo que
- contiene todos los datos de CSV
- contiene el gráfico creado
- permite seguir trabajando con dos anteriores
Entonces, ¿el diario es la opción correcta para el segundo? ¿O "informe"?
Puede ser que la última cadena sea algo como:
jsv<< guardar informe("C:/testReport.jrp");
Saludos,
Artem
Re: Plantilla de script para crear archivos jrp desde csvSospecho que esta respuesta es una gran simplificación, pero solo abrir un CSV (suponiendo que los datos estén bien estructurados) generar un informe (JMP llama a informes de salida), registrar el resultado y guardar el diario no es terriblemente complejo.
JMP escribe la mayor parte de esto para usted. Simplemente capture las secuencias de comandos de la secuencia de comandos de origen en el archivo abierto y la secuencia de comandos del informe del informe de variabilidad. Formatear el CSV antes de abrirlo en JMP es la parte difícil.
Espero que esto ayude,
Byron
ejemplo: (más allá de esto en una ventana de secuencia de comandos JMP
ruta = obtener el directorio predeterminado (); // obtiene el directorio donde se guarda este script
//JMP escribe esta declaración cuando abre el archivo. Compruebe el script de origen en una tabla JMP desde un CSV
dt=Abrir(
"C:\Archivos de programa\SAS\JMPPRO\11\Samples\Import Data\Book1.csv",
// este archivo puede estar en una ubicación diferente en su instalación.
columnas (
Columna( "1", Numérico, nominal, Formato( "Mejor", 10 ) ),//Hice esta columna nominal para el ejemplo
Columna( "2", Numérico, nominal, Formato( "Mejor", 10 ) ),//Hice esta columna nominal para el ejemplo
Columna( "3", Numérico, Continuo, Formato( "Mejor", 10 ) )
),
Importar ajustes(
Fin de línea (CRLF, CR, LF),
Fin de campo (coma, CSV (1)),
Cotizaciones de tiras( 0 ),
Usar apóstrofe como comillas ( 0 ),
Escanear todo el archivo( 1 ),
Tratar las columnas vacías como numéricas (0),
ComprimirColumnasNuméricas( 0 ),
Comprimir columnas de caracteres (0),
CompressAllowListCheck( 0 ),
Etiquetas( 1 ),
Nombres de columna Inicio ( 1 ),
Inicios de datos ( 2 ),
Líneas para leer ("Todas"),
Regla del año ("20xx")
)
);
//jmp escribió el script para este gráfico de variabilidad. Simplemente copie el script del informe.
vc=dt<
Y( :Nombre( "3") ),
X( :Nombre( "1") :Nombre( "2") ),
Iteración máxima (100),
Límite de conversión ( 0.00000001 ),
Abcisas de integración de números ( 128 ),
Evaluaciones de funciones numéricas (65536),
Tipo de análisis( Nombre( "Elija el mejor análisis (EMS REML Bayesian)" ) ),
Gráfico de desarrollo estándar( 0 )
);
jvs=vc<
//guardar el diario "jvs" en la ruta, concatenado con el nombre del archivo
jvs << guardar diario (ruta || "testJRN.jrn");
//u otros tipos de archivos convenientes
jvs << guardar pdf( ruta || "testPDF.pdf" );
jvs << guardar imagen (ruta || "testPNG.png", png);
jvs << Guardar HTML interactivo (ruta || "testHTML.htm");
jvs << Guardar MSWord( ruta || "testDOC.doc" );