Brian Corcoran - Director de Desarrollo de Software, SAS
JMP ofrece diversas maneras de importar una amplia gama de formatos de datos. Además, proporciona numerosas opciones para exportar los resultados. La razón de la primera opción es evidente: existen muchas herramientas desarrolladas a lo largo de los años para recopilar y formatear datos. Sin embargo, en la mayoría de los casos, estas herramientas no permiten convertir los datos a tablas de datos de JMP. La exportación surge de la necesidad de compartir los resultados con un público amplio, muchos de los cuales no disponen de JMP.
Este documento ofrece una breve muestra del uso de algunas de las funciones de importación, consulta y exportación de JMP 13. Si bien las capturas de pantalla del escritorio corresponden a la versión de Windows, todas las funciones descritas en este documento también están disponibles en la versión para Mac de JMP. Utilizaré un formato narrativo para facilitar la comprensión del flujo de trabajo completo. He optado por un ejemplo real ocurrido recientemente.
Tengo dos hijos, uno a punto de graduarse de la universidad y otro en su primer año. El mayor cambió de carrera durante su segundo año. En esa época, hablamos mucho sobre posibles trayectorias profesionales. ¿Qué te interesa? ¿Dónde crees que podrías contribuir a la sociedad? ¿Prefieres un trabajo de oficina o uno más activo? ¿Te gustaría viajar? Y así sucesivamente.
Mi hijo menor tiene un plan de estudios, pero no está del todo seguro de que sea la elección correcta. Esta vez, creo que me gustaría tener más información para ayudarle en el proceso de decisión. ¿Cuáles son las perspectivas laborales de los distintos puestos? Esto podría ayudarle a confirmar su elección actual o a considerar otras opciones. Hablando con él, me dijo que no le importaría hacer una maestría, pero probablemente no quiera un doctorado. Seguramente prefiere un campo técnico, pero está abierto a otras posibilidades. Le gusta la idea de mejorar procesos y quizás de tener la posibilidad de supervisar las actividades durante su jornada laboral. Por último, quiere un trabajo bien remunerado. De acuerdo.
Resulta que la Oficina de Estadísticas Laborales de EE. UU. cuenta con herramientas útiles para esto. El sitio web bls.gov contiene gran cantidad de datos sobre crecimiento del empleo y salarios, educación requerida e incluso descripciones de puestos para que los visitantes se hagan una idea de lo que implica el sector. Los datos están disponibles para su descarga pública y me parecieron un excelente punto de partida para mi investigación.
Al buscar en el sitio web de la BLS, la sección de Proyecciones de Empleo y Bases de Datos de Empleo Ocupacional parecía la más relevante. [1] El sitio web tiene un visor para los datos, pero quiero importarlos a JMP. Afortunadamente, hay un botón para descargar los datos sin procesar en formato Excel XLSX. Perfecto. Descargué el archivo, que pesa unos manejables 500 KB. El libro de trabajo contiene doce tablas, pero la tabla 1.7, con las ofertas de empleo para 2014 y las proyecciones hasta 2024, parece la más adecuada. Uso la opción Archivo > Abrir de JMP para abrir el libro de trabajo y el Asistente de Excel muestra la configuración predeterminada. Selecciono la Tabla 1.7 en Hojas de cálculo para modificar la configuración de importación:
Vista previa de la hoja de cálculo con la configuración predeterminada
Esto contiene mucha información de encabezado. Tras experimentar con los botones de ajuste de JMP para los encabezados de columna y el inicio de los datos, he conseguido una configuración más adecuada: dos filas de encabezados, con los encabezados comenzando en la fila 2 y los datos en la fila 5.
Vista previa de la hoja de cálculo con la configuración ajustada
Presiono el botón Importar y se importan mis más de 1000 filas de datos. La Oficina de Estadísticas Laborales (BLS) proporciona conjuntos de datos mucho más detallados, pero este resumen parece suficiente para mis necesidades. El único inconveniente es que mi tabla JMP parece tener problemas con la conversión de las columnas a formato de caracteres. ¿Qué pudo haber fallado?

El texto justificado a la izquierda indica el formato de caracteres
Si examino los datos de arriba abajo, puedo ver que hay cuatro líneas de notas al pie al final de la tabla.

Por defecto, JMP analiza las primeras 100 filas de datos para determinar el tipo. Esto permite una vista previa eficiente y rápida. Sin embargo, al realizar la importación, se analizan TODAS las filas y la columna se convierte a tipo carácter para evitar la pérdida de datos. Si bien puedo cambiar el tipo de columna directamente, también puedo volver atrás y realizar la importación de otra manera. En el panel «Actualizar panel de vista previa», hay una casilla de verificación para «Mostrar todas las filas». Al seleccionarla, no solo se muestran todas las filas de la tabla en el panel de vista previa, sino que también se utilizan todas para la tipificación de las columnas.

Mostrar todas las filas
Ahora puedo ir al final de la tabla y especificar que los datos terminen antes de las notas al pie. Debo pulsar el botón «Siguiente» en el asistente para acceder a la segunda página de opciones. Hago clic en la última fila de la vista previa de datos que quiero incluir y, a continuación, pulso el botón verde con el signo más junto a «Los datos terminan en la fila» en el segundo panel del asistente. El asistente completará el número de fila correcto y puedo pulsar «Importar» de nuevo para que los datos se formateen correctamente.
Ya tengo mis datos en JMP, con más de mil ocupaciones para buscar. Las dos primeras columnas tienen nombres largos y confusos, así que los acorté a "Título de la Matriz" y "Código de la Matriz", siguiendo los nombres más largos de la BLS. Ahora, sería bueno acotar la búsqueda. La tabla contiene una columna llamada "Tipo de Ocupación" que no parece ser eso en absoluto. En esta columna, cada fila simplemente dice "Resumen" y "Detalle". Resulta que "Resumen" significa que la fila corresponde a todos los trabajos de un tipo determinado, como todos los ingenieros. Un "Detalle" podría ser un ingeniero mecánico. Así que, lo primero que quiero hacer es eliminar todas las filas de resumen. Podría usar una cláusula "SELECT WHERE" y luego filtrar la tabla para eliminar las filas de resumen. Sin embargo, hay filtros adicionales que quiero aplicar. El Generador de Consultas sería ideal para esto.
Si no conoce JMP Query Builder, se trata de una potente herramienta de consultas que proporciona una interfaz gráfica de usuario (GUI) para crear consultas SQL en tablas de datos de JMP. Existen herramientas similares con la misma interfaz para consultar bases de datos mediante ODBC y tablas SAS mediante el conector JMP a SAS. Sin embargo, no es necesario tener conocimientos de SQL para usar Query Builder. Puede crear consultas a través de la interfaz de usuario y guardarlas para su posterior uso, sin necesidad de consultar el código SQL subyacente.
El Generador de Consultas para tablas JMP se abre desde el menú Tablas. El cuadro de diálogo de selección de tabla que aparece primero permite especificar las tablas que se combinarán en la consulta. En este caso, solo me interesa filtrar los datos, así que usaré la tabla que ya importamos como tabla principal y continuaré.

Selección de tabla del generador de consultas
Al seleccionar «Generar consulta», se abrirá el cuadro de diálogo principal para la creación de consultas. Las dos primeras columnas contienen el nombre y el código de la ocupación según la BLS, denominados aún de forma algo confusa «Título de la matriz» y «Código de la matriz» . No me interesa el código, así que lo ignoraré. Sigo sin estar conforme con el nombre de la columna de ocupación, por lo que, tras añadirla a la consulta, haré clic en «Nombre JMP» para abrir un cuadro de edición y cambiar el título del resultado de la consulta a «Puesto de trabajo» .

Cambiar el nombre de la columna posterior a la consulta
También añadiré la columna «Tipo de ocupación» porque quiero excluir los elementos del resumen. Añadiré «Cambio de empleo, 2014-2024 – Número» porque me interesa el número real de empleos creados. La columna de crecimiento porcentual parece interesante, pero puede resultar engañosa. Una de las ocupaciones de mayor crecimiento es la de personal de mantenimiento de turbinas eólicas. Sin embargo, este sector está creciendo de cinco mil a diez mil, por lo que sigue siendo pequeño en comparación con muchos otros. Por lo tanto, me decantaré por el número de empleos creados en lugar del crecimiento porcentual.
También añadiré el salario anual medio , ya que fue uno de los criterios de mi hijo, así como la formación típica necesaria para acceder al puesto . Por último, añadiré la que resulta ser quizás la columna más importante de todas: Ofertas de empleo por crecimiento y reemplazos, 2014-2024 . Resulta que muchas ocupaciones tienen un crecimiento relativamente lento, pero necesitan reemplazar a tantos trabajadores que se jubilan que existe una gran oportunidad para los trabajadores que se incorporan al mercado laboral. Un ejemplo es la ingeniería mecánica. Se observa un crecimiento moderado de 14 600 puestos de trabajo (5 %) durante el período de diez años. Sin embargo, el total de puestos de trabajo creados al tener en cuenta también los reemplazos asciende a 102 500 de los 277 500 puestos que existen en la ocupación. Esta es una proporción típica. Los estadísticos necesitan reemplazar el 50 % de sus puestos en ese período. Esta es la selección de columnas del Generador de consultas antes de aplicar cualquier filtro:

Consulta antes del filtrado
Me gustaría incluir una columna que refleje el porcentaje de reemplazo y crecimiento de empleos. Puedo seleccionar el menú del triángulo rojo junto a Columnas disponibles y elegir Agregar columna calculada. Puedo seleccionar Ofertas de empleo… como numerador y Empleo-2014 como divisor y presionar Aceptar.
Agregar columna calculada
La columna se crea con el nombre Calc1 . Puedo usar el menú contextual para cambiarle el nombre a "Trabajos por total" y luego agregarla a mis Columnas incluidas. Allí, puedo cambiar el campo Formato a Porcentaje. Es posible que necesite expandir el panel Columnas incluidas para ver todos los campos debido a la longitud de los nombres de las variables. Ahora creo que estoy listo para comenzar a refinar mi búsqueda con algunos filtros.
Primero, puedo arrastrar "Tipo de ocupación" al panel de Filtros. Allí, puedo hacer clic en "Elemento de línea" para incluir solo las filas que NO sean de tipo resumen. Ahora, voy a filtrar por "Salario anual medio" para incluir solo los trabajos con un salario superior a $75,000 al año. Al arrastrar "Salario anual" justo debajo del filtro " Tipo de ocupación ", se realizará una operación AND por defecto. Esto es lo que necesito. Si se desea una operación OR, hay que iniciarla haciendo clic en el botón OR. También introduzco " Formación académica típica requerida " y realizo una selección ampliada: "Licenciatura", "Máster" y el guion (sin codificar). Finalmente, observo que muchos de los trabajos restantes son de tipo gerencial. Es muy improbable que una persona sin experiencia consiga un puesto gerencial, por lo que me gustaría excluir estos puestos. Puedo hacerlo con un filtro "Contiene", cambiándolo a "No contiene". Para ello, arrastro la variable "Título de la matriz". Luego, con el menú desplegable del triángulo rojo, puedo seleccionar «Tipo de filtro -> Contiene». Aparecerá una lista desplegable junto a «Título» , donde puedo seleccionar «No contiene» y luego ingresar «Gerente». Ahora puedo hacer lo mismo para «Ejecutivo» para excluir a los Directores Ejecutivos (un 3 % menos en 10 años, por cierto). La lista de filtros, una vez completada, se ve así:
Filtros completados
Ahora puedo pulsar «Ejecutar consulta» y obtener la tabla con los datos que necesito. Hemos reducido más de mil filas a cincuenta y ocho. Podemos guardar la consulta para volver a abrirla más tarde y modificarla. La consulta que se usó para generar la tabla también se guarda como un script dentro de la tabla de datos. Es posible editarla para ver qué se está haciendo, ejecutarla para recrear los datos o incluso modificar la consulta (¡cuidado con esto último!).

Script de origen en la tabla de datos
Ahora que tengo mis datos, voy a seleccionar "Título profesional" como etiqueta en mis gráficos. Abriré el Creador de gráficos e ingresaré "Salario anual medio" para el valor X y "Ofertas de empleo" para el valor Y. Para incluir más información, seleccionaré "Formación académica típica requerida" para el color y ajustaré el tamaño del marcador según el porcentaje que muestra cuántos empleos se están creando en relación con el total de trabajadores, arrastrando "Empleos para el total" a la zona de selección de tamaño. Al revisar este gráfico, noté que los empleos de software ocupan una posición bastante prominente. Asigné marcadores de diamante a los empleos de software de aplicaciones y sistemas. Puedo enviarle esto a mi hijo mayor, estudiante de informática, para asegurarle que tomó una buena decisión. El gráfico, después de un último ajuste al título, queda así:

Salida del generador de gráficos en JMP
Decido enviarle a mi hijo mayor este resultado como un informe HTML interactivo. Así podrá explorar fácilmente los datos mientras trabaja o, incluso, mientras juega en su ordenador. El HTML interactivo incluye los datos del análisis en el informe HTML, así que tenlo en cuenta si utilizas información confidencial. Puedo crear el informe fácilmente con Archivo > Guardar como (Archivo > Exportar en Mac) y seleccionando «HTML interactivo con datos» en el menú desplegable «Tipo de archivo». Puedo enviarle este informe a mi hijo por correo electrónico, y él podrá abrirlo en un navegador web y explorar los datos.
Informe HTML interactivo en Chrome
Mi hijo menor, el público objetivo original, usa mucho su iPad. Me gustaría enviarle un primer vistazo a estos datos, pero también permitirle que los explore por su cuenta. Graph Builder para iPad abrirá una tabla de datos de JMP y, si encuentra un script de Graph Builder dentro de la tabla, lo abrirá automáticamente en Graph Builder. Puedo preparar mi tabla de datos con un análisis y luego dejar que mi hijo explore los datos él mismo. Quiero resaltar el número de vacantes en este gráfico. Empiezo con «Ofertas de empleo…» como Y y «Título profesional» como X, con el salario representado por un rango de color. Sin embargo, se ve demasiado recargado y un poco confuso.

Intento inicial
Puedo volver a abrir el panel de control del Generador de gráficos y, con un solo clic en el botón Mapa de árbol, obtengo un gráfico que me gusta más. Lo mejor es que es fácil pasar el cursor sobre un cuadrado para obtener más información.
Mapa de árbol del generador de gráficos
Antes de enviar mi tabla de datos, necesito insertar el script de Graph Builder. Para ello, utilizo el menú desplegable del triángulo rojo junto al nodo de esquema de Graph Builder y selecciono Guardar script -> En tabla de datos. Se me pide que asigne un nombre al script, que escribo como «Ofertas de empleo», y pulso Aceptar. Esto insertará el script del mapa de árbol en la tabla.
Ahora puedo guardar mi tabla de datos en una carpeta de almacenamiento en la nube como Dropbox, iCloud o Google Drive. JMP Graph Builder para iPad reconoce estas carpetas y puedo descargar rápidamente mi tabla a mi iPad. Inicialmente, solo aparecerá un icono grande de JMP para seleccionar la tabla.
Panel de selección de tabla
Una vez que haga clic aquí, la aplicación Graph Builder abrirá la tabla, buscará el primer script de Graph Builder incrustado en la tabla y mostrará ese análisis.
El gráfico se abre automáticamente
Ahora que mi hijo tiene los datos y mi análisis inicial, puede experimentar con ellos y con los gráficos. Por ejemplo, puede pulsar "Filtrar" y seleccionar cualquiera de las columnas para explorarlas. Un ejemplo sería filtrar por "Formación típica necesaria para acceder al puesto" para ver qué puestos requieren una licenciatura y cuáles requieren un máster.

Filtrar por grado requerido
Otra función muy útil de la aplicación Graph Builder es que permite probar la mayoría de los gráficos disponibles en la versión de escritorio. Así, si mi hijo quisiera ver diferentes representaciones visuales o incluso mover las columnas para analizar los datos de otra manera, podría hacerlo. Hay puntos de control junto a los nombres de las columnas que indican que se pueden arrastrar, y las zonas de colocación de Graph Builder se resaltarán al arrastrar las variables. También ofrece opciones de personalización para los marcadores, los colores de fondo y los ejes. Podría cambiar la salida a algo como esto:

Creación de un nuevo gráfico con la aplicación para iPad
Con esto doy por finalizado mi trabajo. He enviado a cada uno de mis hijos un informe interactivo para que lo analicen. Mi hijo que aún está explorando opciones puede crear sus propios informes y, con suerte, comprender mejor sus decisiones.
Existen muchas otras maneras de importar datos a JMP, como la conexión con SAS, la importación de datos de texto, datos de SPSS procedentes de otras fuentes, datos de encuestas Triple-S, etc. Consulte el cuadro de diálogo Abrir archivo para ver las distintas opciones disponibles y tenga en cuenta que los informes que genere se pueden compartir de forma interactiva, incluso si el destinatario no tiene JMP instalado.
[1] Estados Unidos. Oficina de Estadísticas Laborales. Proyecciones de empleo . Oficina de Estadísticas Laborales, s.f. Web. 18 de agosto de 2017. https://www.bls.gov/emp/ep_data_occupational_data.htm