viernes, febrero 12, 2010

Datos Externos en tablas dinámicas de Excel – ampliación

En la nota anterior sobre uso de archivos de texto como fuente para una tabla dinámica, vimos cómo agregar un origen de datos a la lista de las posibilidades del MS Query. Los archivos de textos usan distintos elementos para separar los campos como comas (archivos .cvs), espacios o tabs. Pero también puede darse el caso que se use un separador no convencional como el pipe (|).

En esos casos tendremos que agregar algunos pasos a nuestra solución, lo que mostraremos en esta nota.

Supongamos que queremos analizar los datos de este archivo de texto con una tabla dinámica



Como puede observarse los campos están separados por el carácter "|" (pipe).

Empezamos el proceso tal como lo mostramos en la nota anterior hasta llegar a la etapa "Crear nuevo origen de datos"





Como en el caso anterior elegimos un controlador adecuado para el tipo de datos (texto)



Apretamos el botón Conectar lo que abre el diálogo "ODBC Text Setup"



En esta etapa apretamos el botón Options lo que abre una nueva zona en el formulario



Apretamos el botón Define Format para definir las definiciones del nuevo tipo de archivo. En la parte izquierda del formulario señalamos el archivo que queremos usar (el que sirve de modelo para el nuevo origen), si tiene encabezados y los más importante, cuál es el separador (delimiter)


Luego apretamos el botón Guess lo que nos permite ver las columnas, cambiar el tipo de datos y el nombre del campo



Apretamos OK y en el formulario de Crear nuevo origen de datos apretamos Aceptar.

Esto nos lleva nuevamente al formulario Elegir origen de datos




Al aceptar el nuevo origen volvemos al diálogo del asistente para consultas. También podemos interrumpir el proceso y usar el nuevo origen más adelante.

9 comentarios:

  1. Hola,
    Un pregunta el archivo .TXT con el separador pipe lo generaste tu a mano o es sacado de alguna web u origen de datos externo; de todas formas, a ver si lo puedes poner (el .TXT) para practicar.

    Un Saludo y la verdad que cada día flipo más con tu blog, por que ver gente que controla de este tipo de cosas es casi imposible.

    ResponderBorrar
  2. El archivo del ejemplo lo generé reemplazando las comas en un archivo .csv con el pipe. El ejemplo se puede descargar aquí
    Para generar tu propio archivo podés usar buscar y reemplazar en un editor de texto (como el Notepad que viene con el Windows).

    ResponderBorrar
  3. Ok; aunque en este caso tambiñen me funciono haciendo: DATOS-OBTENER DATOS EXTERNOS-IMPORTAR DATOS y, una vez que te sale el asistente utilizas como delimitador el pipe y al final también sale la table separada con sus respectivos campos.

    Saludos

    ResponderBorrar
  4. hola
    fabulosa manera de manejar los datos, podrias poner el archivo excel para ver como queda la solucion final porque lo intente y creo que no logre el resultado esperado
    muchas gracias

    ResponderBorrar
  5. ¿En qué parte del proceso tenés problemas?

    ResponderBorrar
  6. Hola Jorge
    no pude solucionar el problema, al parecer es algo relacionado con la configuracion del Equipo, ya que la consulta no funciona ni por el Administrador de Datos de Origenes ODBC.
    Gracias de todas maneras.
    ¿Existe alguna sala de chat o sistema similar en que estes disponible en algun momento del día?
    saludos cordiales.

    ResponderBorrar
  7. Marco,
    ponete en contacto conmigo por mail.

    ResponderBorrar
  8. Jorge,
    excelente tu post, como siempre.

    Tengo problemas sin embargo al momento de finalizar el proceso: al indicarle "guess" (estimar) me devuelve correctamente las columnas que hay en el csv, pero al darle aceptar me tira un error: "no se ha podido guardar los datos de tabla (null) en (null)"

    ¿tenes idea de lo que puede significar eso?
    Desde ya gracias

    ResponderBorrar
  9. Pareciera ser que el problema está en los datos del csv. Fijate si todos los datos de una misma columna son del mismo tipo, si todas las columnas tienen encabezamiento, etc.

    ResponderBorrar

Nota: sólo los miembros de este blog pueden publicar comentarios.