Upload
honorato-webster
View
30
Download
0
Embed Size (px)
DESCRIPTION
Especialista en Business Intelligence Integration Services SSIS Transformaciones (Parte 2) Microsoft SQL Server 2008 R2. Suscribase a http://addkw.com/ o escríbanos a [email protected]. Especialista en BI (SSIS). Agenda - PowerPoint PPT Presentation
Citation preview
Especialista en Business IntelligenceIntegration Services SSIS
Transformaciones (Parte 2)
Microsoft SQL Server 2008 R2
Suscribase a http://addkw.com/ o escríbanos a [email protected]
Especialista en BI (SSIS)Agenda
Transformaciones conjunto de filas:- Transformación Dinámica- Transformación Anulación de Dinamización
Transformaciones de filas:- Transformación Mapa de Caracteres- Transformación Copiar Columna- Transformación Conversión de Datos- Transformación Columna Derivada
Source: SAP AG
La tarea de flujo de datos permite la extracción, transformación y carga de los datos diseminados en las distintas fuentes de información de la empresa hacia las distintas fuentes de destino que son determinadas por el usuario.
Tarea flujo de datos
El conjunto de filas puede incluir valores agregados y ordenados, conjuntos de filas de ejemplo y conjuntos de filas dinamizados y de anulación de dinamización.
Transformaciones de conjunto de filas
Transforma un conjunto de datos normalizado en una versión menos normalizada pero más compacta dinamizando los datos de entrada en un valor de columna. Cuando se dinamiza un conjunto de datos, las columnas de entrada ejecutan diferentes roles en el proceso de dinamización. Una columna puede participar de las siguientes maneras:• La columna se pasa sin cambios a la salida. Dado que varias filas de entrada pueden
obtener una sola fila de salida, la transformación copia solamente el primer valor de entrada para la columna.
• La columna funciona como la clave o parte de la clave que identifica un conjunto de registros.
• La columna define la dinamización. Los valores de esta columna se asocian con columnas en el conjunto de datos dinamizado.
• La columna contiene valores que se colocan en las columnas creadas por la dinamización.
Transformación Dinamica
Valores del campo PivotUsage property:
Transformación Dinamica
Ejemplo:1. Cree un paquete y seleccione la tarea de flujo de datos y luego edítela.2. Como origen de datos use la DB AdventureWorks2008 e utilize las tablas:
«SalesOrderHeader», «SalesOrderDetail» y «Product» y realice la siguiente query:SELECT Production.Product.ProductID, Production.Product.Name, YEAR(Sales.SalesOrderHeader.OrderDate) AS YY, SUM(Sales.SalesOrderDetail.OrderQty) AS QuantityFROM Production.Product INNER JOIN Sales.SalesOrderDetail ON Production.Product.ProductID = Sales.SalesOrderDetail.ProductID INNER JOIN Sales.SalesOrderHeader ON Sales.SalesOrderDetail.SalesOrderID = Sales.SalesOrderHeader.SalesOrderIDGROUP BY Production.Product.ProductID, Production.Product.Name, YEAR(Sales.SalesOrderHeader.OrderDate)ORDER BY Production.Product.Name, YY
3. Use la transformacion Pivot y editela. En la seccion «Input Columns» seleccione todos los campos.
4. En la sección «input and ouput properties», en la carpeta «Input columns» asigne a cada campo el valor de «PivotUsage» correspondiente (según tabla de valores de la propiedad «PivotUsage») .
5. En la seccion «Pivot Default Output» agregue las columnas: ID, Name , 2001 ,2002 , 2003 , 2004.
6. Las columnas ID y Name deben tener la misma propiedad «SourceColumn» que las la propiedad «LineageID» de las columnas «ProductID» y «Name» de la carpeta «input Columns».
Transformación Dinamica
Ejemplo:7. Las columnas del 2001 al 2004 del directorio «OutputColumns» deben tener la
propiedad «PivotKeyValue» con el valor de la columna y la propiedad «SourceColumn» con el valor de la propiedad «LineageID» del campo «OrderQuantity» del directorio «Input Columns».
8. Descargar la transformacion en un documento de Excel.
Transformación Dinamica
La transformación Anulación de dinamización transforma un conjunto de datos sin normalizar en una versión más normalizada ampliando los valores de varias columnas de un solo registro en varios registros con los mismos valores en una sola columna. Por ejemplo, un conjunto de datos que enumera nombres de clientes tiene una fila para cada cliente, con los productos y la cantidad comprada en columnas dentro de la fila. Después de que la transformación Anulación de dinamización normaliza el conjunto de datos, el conjunto de datos contiene una fila diferente para cada producto que compró el cliente.
Transformación Anulacion de Dinamizacion
Las siguientes transformaciones actualizan los valores de columna y crean columnas nuevas. La transformación se aplica a cada fila en la entrada de transformación.
Transformaciones de fila
La transformación Mapa de caracteres se aplica a funciones de cadena que operan sobre datos de caracteres, como la conversión de minúsculas a mayúsculas. Esta transformación solo opera en datos de columnas con un tipo de datos de cadena.
Transformación Mapa de caracteres
En una transformación pueden realizarse varias operaciones. Sin embargo, algunas operaciones son mutuamente exclusivas.
Transformación Mapa de caracteres
Crea columnas nuevas copiando columnas de entrada y agregando las columnas nuevas a la salida de la transformación. En una fase posterior del flujo de datos se pueden aplicar distintas transformaciones a las copias de columnas.
Transformación Copiar columna
Convierte los datos de una columna de entrada a otro tipo de datos diferente y después los copia a una nueva columna de salida. Por ejemplo, un paquete puede extraer los datos de diferentes orígenes y después usar esta transformación para convertir las columnas al tipo de datos necesario para el almacén de datos de destino. Puede aplicar múltiples conversiones a una sola columna de entrada. Los siguientes son los Tipos de datos que se pueden usar en SSIS:
Transformación Conversión de datos
Transformación Conversión de datos
Crea nuevos valores de columna aplicando expresiones a las columnas de entrada de la transformación. Una expresión puede contener cualquier combinación variables, funciones, operadores y columnas de la entrada de transformación. El resultado puede agregarse como una nueva columna o insertarse en una columna existente como un valor de reemplazo. La transformación Columna derivada puede definir varias columnas derivadas, y cualquier variable o columna de entrada puede aparecer en varias expresiones.
Transformación Columna derivada
Transformación Columna derivada
Puede utilizar esta transformación para realizar las siguientes tareas:• Concatenar datos de distintas columnas en una columna derivada. Ej.
FirstName + " " + LastName.• Extraer caracteres de datos de cadena mediante funciones como SUBSTRING. Ej.
SUBSTRING(FirstName,1,1).• Aplicar funciones matemáticas a datos numéricos. Ej. ROUND(SalesTax, 2). • Crear expresiones que comparen columnas de entrada y variables. Ej.
ProductVersion == @Version? ProductVersion : @Version.• Extraer partes de un valor datetime. Ej. DATEPART("year",GETDATE())