Uso de Variables Globales (DTS SQL Server 2000)
Posted Septiembre 16, 2007 by roquesaldeCategories: Técnico
Algo muy importante y potente que tenemos dentro de los DTS de SQL 2000 es el uso de variable globales, por ejemplo podemos tener el problema de querer traer registros a una tabla a partir de una fecha en particular o un cálculo específico, si el sistema del que extraemos datos y a la BD en la que insertamos esos datos están en SQL Server, no es demasiado problema porque podemos aplicar esos filtros con subconsultas, pero qué sucede cuando el sistema origen se encuentra en Oracle o Sybase, o cualquier motor distinto de SQL Server, con una simple subconsulta no podemos lograrlo, debemos utilizar si o si variables globales. ¿Porqué son globales? Porque al contrario de las variables que definimos dentro de un store procedure con la sentencia declare nombre as tipoDeDato y les asignamos un valor con una sentencia por ejemplo así:
SELECT @variable1 = fecha FROM Tabla
Las variables globales las generamos con las “Tareas de Ejecución de SQL”
Dentro de esa tarea seleccionamos una conexión que puede ser a cualquier motor de BD (previamente creada obviamente), y escribimos nuestro SQL del dato que queremos traer.
Luego hacemos clic en el botón “Parámetros” y tenemos dos solapas, una que dice “Parámetros de Entrada” y “Parámetros de Salida”, como nosotros en este caso queremos generar un parámetro o variable de salida seleccionamos la segunda solapa.
Como el resultado que obtenemos de la consulta es un solo registro, seleccionamos “Valor de Fila”, si lo que obtenemos es un conjunto de filas (Recordset para los familiarizados con Visual Basic) seleccionamos “Conjunto de Filas”, y hacemos clic en “Crear Variables Globales”
Una vez creada la variable, asignamos al parámetro (nombre de columna resultado de query generada previamente) la variable global que hemos creado, hasta aquí está creada y cuando se ejecute el DTS se llenará con el resultado de esa query, ahora falta saber cómo usamos esa variable en otro objeto, que puede ser una “Tarea de Transformación de Datos”, una “Tarea de Secuencias ActiveX”, etc.
Nosotros en este ejemplo vamos a utilizarla en una “Tarea de Transformación de Datos”
Creamos las conexiones origen y destino pertinentes, y en la tarea de transformación de datos escribimos una query por ejemplo así:
Al escribir una condición igualando al signo “?”, SQL Server se da cuenta que estamos por asignar una variable a ese parámetro, hacemos clic en “Parámetros” y seleccionamos el parámetro creado.
Este es uno de los usos más simples que tenemos de variables globales, de aquí para adelante se pueden hacer muchas cosas más, la variable dura lo que dura la ejecución del DTS, al igual que una variable de SP dura lo que dura la ejecución del SP.
Bueno, espero le sirva a alguien esta opción de utilizar variables globales en los DTS, se aceptan críticas y/o sugerencias respecto a variables globales. Próximamente veremos cómo hacer lo mismo y más en SSIS (podríamos decir que son los DTS de SQL Server 2005)
Saludos!
¿Por qué fallan algunos proyectos de Business Intelligence?
Posted Julio 2, 2007 by leandrosrurCategories: General
A veces nos sorprende que con el desarrollo al que han llegado muchas herramientas de nicho dentro de Business Intelligence, el uso de metodologías como Corporate Performance Management, Balanced Scorecard y el mayor nivel de conocimiento de técnicos y usuarios, se produzcan tantos errores conceptuales y prácticos en las implementaciones de soluciones Business Intelligence, en términos de exceso de costos sobre lo previsto, no utilización por parte de los participantes, no cumplir con las expectativas del proyecto, información errónea, etc. En base a algunas experiencias voy a comentar cuales son algunos de los principales fallos:
- La selección del software y hardware a veces se realiza siguiendo criterios de acuerdos generales o compromisos, antes de hacer análisis exclusivamente técnico. En muchas ocasiones incluso se eligen las herramientas teniendo en cuenta únicamente el software front end desconociendo y dejando de lados componentes más relevantes como ser ETL, Base de Datos DW, OLAP, etc.
- No se reconoce el tipo de solución adecuada: Dentro del mundo BI existen muchas soluciones de negocio para cada necesidad de información como ser tableros de control, planeamiento, análisis, reportes, proyección para lo cual es muy importante entender la o las necesidades del negocio y la capacidad de la empresa de adoptarla, no todas las empresas necesitan soluciones de DW, de Tablero o de análisis por escenarios, es sumamente importante analizar variables como tipo de decisión a tomar, necesidades de información, tecnología disponible, aceptación de los usuarios, nivel cultural, etc.
- Muchos Data Warehouses crecen en tamaño de forma desproporcionada porque en el diseño y en el análisis del proyecto se armaron repositorios con excesiva información y en algunos casos tan operativa que se hace imposible la administración y actualización del mismo.
- Algunas empresas gestionan internamente sus proyectos entendiendo que el administrador de base de datos puede responder como líder de estos proyectos desentendiendo la complejidad y alto poder de necesidades y dependencias de tiempo que se generan.
- Se fijan fechas en producción de estos proyectos poco realistas sin tener en cuenta riesgos, necesidad de integración de información, gestión de fuentes OLTP y estabilidad/testing de los distintos workflows de carga y actualización.
- Antes del proyecto, no se realizan pruebas de concepto para determinar la viabilidad del proyecto haciendo análisis de estabilidad de fuente de datos, capacidad de desarrollo, presupuesto, etc.
- Los datos de origen no están limpios. Duplicidades, errores, caracteres erróneos, implican en muchos casos un proceso ETL más costoso, mayor tamaño de la Base de datos y peor rendimiento.
- No existe un sponsor ejecutivo en el proyecto: Es indispensable que en estas soluciones se defina y ejerza dicho rol una persona con cargo directivo y de decisión dentro de la empresa ya que estos proyectos implican acompañamiento en los procesos, reemplazo de trabajos manuales por herramientas automáticas y hasta en algunas ocasiones cambios culturales acerca de forma de trabajar y de desarrollarse operativamente en el día a día.
- Escaso involucramiento de los usuarios finales que les lleva a sentir cierta frustración con los resultados obtenidos. El usuario final tiene que participar desde el inicio del proyecto ya que en diferentes roles va a ser el beneficiario de la solución y conceptualmente va a tener que trabajar para acostumbrarse a las formas de estas soluciones.
- No alinear el proyecto dentro de una estrategia de negocio. El proyecto debe dar soporte a los procesos de negocios actuales y de toma de decisiones que lleva la compañía, permitiendo obtener la información correcta, oportuna y entendible a cada involucrado en tomar decisiones.
Existen más factores que consiguen que un proyecto de Business Intelligence no cumpla su objetivo. Como consecuencia se frustran los usuarios, se genera mala imagen de los productos de BI y se producen riesgos internos para el director de informática y otros sponsors participantes. Es importante tener en cuenta si bien es atractiva y necesaria esta solución, las distintas variables del proyecto como ser estabilidad, capacidad, conocimiento, detección y tiempo son pilares fundamentales para que un proyecto de BI sea exitoso.
Que es BI? ( Descubriendo el Business Intelligence )
Posted Junio 28, 2007 by facu375Categories: General
ETL, Data Warehouse, OLAP, data mining, etc….. pero….. que es Business Intelligence???
Este sencillo documento prentende explicar, o mas bien dar una introduccion, lo mas claramente posible sobre el significado Business Intelligence junto con sus principales componentes.
Descargar documento de Bussines Intelligence
Herramientas ETL (…o Mundo ETL)
Posted Junio 24, 2007 by leandrosrurCategories: Técnico
Dentro de los proyectos de Business Intelligence unos de los componentes fundamentales y quizás el más crítico es el proceso de integración de datos en un repositorio que permita almacenar la información ya consolidada para ser explotada por herramientas de análisis.El componente que soporta esta característica es el ETL (Extract, Transorm and Load) que ademán de definir un workflow de tareas a realizar posee funcionalidades de notificaciones, eventos y hasta en algunos casos procesos extras al mundo BI como ser réplica y/o uniformidad de bases de datos.Si bien es común y más práctico utilizar el componente ETL nativo de la base de datos en donde vamos a integrar nuestro proyecto (BD de un DataWarehouse, etc.), existen componentes ETL que proveen las herramientas BI – CPM y hasta empresas que se dedican exclusivamente a desarrollar este tipo de aplicaciones.En los últimos 5 años ha crecido el segmento de herramientas ETL más del 50 % en lo que se refiere venta de licencias de productos y de servicios asociados a nivel mundial marcando claramente que el mercado corporativo necesita cada vez más una herramienta capaz de consolidar en tiempo, forma y calidad los datos dispersos en N fuentes distintas y hasta en algunos casos recibir esta información “casi” en línea respecto a la transacción.Estadíticamente estos son los usos más comunes de los ETL:
- Data Warehouse: Casi el 80% del uso está relacionado con esta arquitectura. (incluyendo datamarts o bd que dan soporte a un proyecto de BI)
- Tareas de Bases de datos: También se utilizan para consolidar, migrar y sincronizar bases de datos operativas.
- CDI: El Customer Data Integration es una función que permite unificar y homogenizar la cartera de clientes de las grandes corporaciones, disueltas y repetidas en diferentes fuentes.
- Gobierno: Algunos gobiernos consolidan información transaccional de todos los procesos magnéticos, electrónicos en un ODS para controlar en línea ciertas operaciones.
Así como otras aplicaciones, en función a la ventas y a las capacidades de funcionalidades técnicas el mundo ETL hoy en el mercado se segmenta en tres niveles: Herramientas TOP: Mayores funcionalidades y costo promedio de U$S 350.000 por licencia.
- Data Stage (Ascential Software)
- Powercenter (Informatica)
- SAS ETL Enterprise (SAS)
Herramientas Nivel Medio: Específicas para proyectos BI, promedio de U$S 20.000 por licencia
- Data Integrator (Business Objects)
- Decision Stream (Cognos Inc.)
- Advantage DT (Computer Associates)
- Transformation Server (Data Mirror)
- Co OSystem(AB Initio Software)
- DB2 Warehouse Manager (IBM)
- Warehouse Builder (Oracle Corp.)
- Integration Services (Microsoft)
Herramientas Nivel Bajo: Herramientas nuevas o muy específicas, promedio de U$S 10.000 por licencia.
- Hummingbird ETL (Hummingbird)
- ETL Manager (Iway Software)
- Warehouse Builder (Teradata)
- Sunopsis ETL (Sunopsis)
El grupo Forrester (www.forrester.com) ofrece una definición sobre el mercado ETL y analiza porqué es un mercado a seguir de cerca, examina el tamaño de éste durante el periodo 2000-2007 así como su evolución futura, ofrece un ranking comparativo de los principales vendedores de ETL según su cuota de mercado, y hasta brinda una serie de recomendaciones sobre posibles oportunidades de mercado en el sector.Estando sumergidos en el mundo BI no podemos ser ajenos del auge que posee cada solución en particular y en este caso específico todo un mercado exclusivo para los desarrollos ETL…
Compartir recursos entre PCS a través de Internet
Posted Junio 24, 2007 by lucasforchinoCategories: Técnico
¿Es posible compartir recursos entre máquinas como si estuviéramos en una red local , siendo que estas se encuentran separadas y su único medio de conexión es Internet ?
La respuesta a esta pregunta son las redes VPN. Una red VPN es una red privada que se crea dentro de otra red de carácter público , de esta manera nos permitirá unir varias PCs y trabajar como si estuviéramos en nuestra propia red de área local de manera transparente. Este tipo de conexión es de muy fácil instalación y requiere de la configuración de una PC “Server” que será la que acepte las conexiones y de tantas PCs “Clientes” como se quieran, que serán las que se conecten a la PC a la servidora y/o a su red.Una vez establecida la conexión los datos solo podrán ser leídos por el emisor y el receptor de manera segura ya que los mismos son encriptados.
La idea de este tutorial es centrarse en la instalación básica tratando de abstraernos de toda complejidad. Quedara pendiente en alguno otro post la explicación más avanzada de los protocolos y aspectos de seguridad. Además hay que tener en cuenta que la instalación se realizara sobre un Windows XP por lo que pueden haber variaciones según el Windows en el que se instale.













Comentarios Recientes