none
Consolidar Informacion. RRS feed

  • Pregunta

  • Hola, soy un joven analista de base de datos con poca experiencia y me han solicitado una solucion provicional que pueda consolidar aproximadamente 200 archivos diarios de poco peso (la relacion entre las tablas ya la identifique), pero mi duda es como cargar esto en sql y como habria que depurar esta data, tengo entendido que esto se hace con integration services, lo que me solicitan es que esto sea equivalente a que todas las madrugadas la solucion entre a las carpetas, capture el archivo y luego procese, depure algunas cosas, cree unas llaves primarias y esto se levante a la base de datos para luego ser consultado.

    En principio me gustaria que me ayuden con los temas relacionados o asociados a esta solucion para capacitarme de manera online o presencial si es necesario, la solucion tiene un plazo de 3 meses y hay que desplegar todo eso y mostrarlo en una interfaz, lo mas simple posible, podria colgarse en un repositorio en excel sin problema.

    1. De que forma es mas recomendable consolidar la informacion todos los dias y luego depurarla.

    2. De que forma se puede cargar a la base de datos.

    3. De que forma poder exportar a un .xls con dinamicas para que visualicen los usuarios.

    Tener en cuenta que he sido analista de BD, enfocado a optimizacion de querys, stores, cursores, pero no el desarrollo de una solucion de este tipo.

    Herramientas Disponibles (SQL EXPRESS, un equipo que servirira como motor, si es necesario un espacio en azure algo modesto, excel)

    Quedo antento a sus recomendaciones y las valorare muchisimo. Muchas Gracias!

    jueves, 11 de abril de 2019 17:25

Respuestas

  • Lo ideal sería usar SQL Server Integration Services (SSIS), que se ha diseñado específicamente para hacer este tipo de trabajo. Pero no basta con un SQL Server Express, la edición Express no incluye SSIS. Se necesita un SQL Server "grande". Para hacer el desarrollo y las pruebas se puede usar la edición Developer, que es gratuita, pero a la hora de ponerlo en producción se necesita una edición de pago.

    Con SSIS se realizaría un .dtsx que acceda a las carpetas donde estén los ficheros y los lea como tablas (puede leer desde Excel si es necesario -- también csv, ficheros planos, etc.) Después el .dtsx haría las transformaciones que sean necesarias (validaciones, conversiones, cálculos, etc) y finalmente los datos los inyectaría en la tabla o tablas donde deban consolidarse. Finalmente, se usa el Agente de SQL para crear un Job que ejecute el .dtsx y asignarle un Schedule de manera que se ejecute automáticamente con la periodicidad deseada.

    Eso resuelve los puntos 1 y 2. En cuanto al 3 hay un par de opciones. La primera sería usar de nuevo SSIS para exportar periódicamente desde las tablas que tienen los datos hacia un archivo Excel. Esto lo que ocurre es que dejaría una "foto fija" en el Excel, no sería una tabla dinámica. La segunda opción es construir a mano una hoja de cálculo que tenga embebida una consulta hacia la tabla de SQL Server, de forma que pueda refrescar la información automáticamente. En este caso no habría que "exportar" nada; simplemente se seguiría usando todo el tiempo la misma hoja.

    jueves, 11 de abril de 2019 18:29

Todas las respuestas

  • Ayuda :D
    jueves, 11 de abril de 2019 18:14
  • Lo ideal sería usar SQL Server Integration Services (SSIS), que se ha diseñado específicamente para hacer este tipo de trabajo. Pero no basta con un SQL Server Express, la edición Express no incluye SSIS. Se necesita un SQL Server "grande". Para hacer el desarrollo y las pruebas se puede usar la edición Developer, que es gratuita, pero a la hora de ponerlo en producción se necesita una edición de pago.

    Con SSIS se realizaría un .dtsx que acceda a las carpetas donde estén los ficheros y los lea como tablas (puede leer desde Excel si es necesario -- también csv, ficheros planos, etc.) Después el .dtsx haría las transformaciones que sean necesarias (validaciones, conversiones, cálculos, etc) y finalmente los datos los inyectaría en la tabla o tablas donde deban consolidarse. Finalmente, se usa el Agente de SQL para crear un Job que ejecute el .dtsx y asignarle un Schedule de manera que se ejecute automáticamente con la periodicidad deseada.

    Eso resuelve los puntos 1 y 2. En cuanto al 3 hay un par de opciones. La primera sería usar de nuevo SSIS para exportar periódicamente desde las tablas que tienen los datos hacia un archivo Excel. Esto lo que ocurre es que dejaría una "foto fija" en el Excel, no sería una tabla dinámica. La segunda opción es construir a mano una hoja de cálculo que tenga embebida una consulta hacia la tabla de SQL Server, de forma que pueda refrescar la información automáticamente. En este caso no habría que "exportar" nada; simplemente se seguiría usando todo el tiempo la misma hoja.

    jueves, 11 de abril de 2019 18:29