Beruflich Dokumente
Kultur Dokumente
Stacia Misner
Me gustara presentarles Microsoft SQL Server Analysis Services con la creacin de un cubo sencillo que contiene una muestra de sus propios datos. Aunque debo tener cuidado al hacerlo, porque me ya me han sorprendido ms de una vez los nuevos usuarios cuando se emocionaron por lo que vieron y quisieron ponerse de inmediato a explorar los datos de formas que nunca creyeron posibles. Sea que tenga datos propios que desee explorar con ms facilidad o sea una comunidad de usuarios ansiosa por encontrar datos a la que darle ayuda, SQL Server Analysis Services (SSAS) tiene las herramientas. Este artculo es la tercera entrega de una serie; los primeros do artculos aparecieron en el ejemplar de agosto de 2009 y estn disponibles en technet.microsoft.com/magazine/ee263919.aspx. Esta serie le ayudar a desarrollar una mejor comprensin de la inteligencia empresarial (BI) mediante el uso de componentes disponibles en Microsoft SQL Server 2008 cuando cree su solucin de BI. Como voy a hacer referencia a conceptos y terminologa presentados en los dos artculos anteriores, recomiendo que dedique un tiempo a revisar esos artculos primero si es que no los ha ledo todava. En "Planear su primera solucin de BI" expliqu las ventajas de compilar un data mart en comparacin con recuperar datos directamente desde una base de datos corporativa. Adems proporcion instrucciones para descargar las bases de datos de muestra que necesitar para seguir los pasos descritos en estos artculos. Despus, Derek Comingore, en "Generar cimientos de datos para una solucin de BI", explic cmo usar Integration Services para rellenar un data mart con datos desde su base de datos corporativa. En este artculo mostrar cmo crear un cubo basado en un diseo de data mart similar.
origen para las soluciones de BI es la base de datos de AdventureWorksDW2008, que aplica el modelo dimensional y los principios de ETL descritos en el artculo de Derek. Puede descargar las bases de datos de muestra usadas para crear la solucin para Adventure Works de CodePlex en msftdbprodsamples.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=18407. Con un data mart disponible como origen, est preparado para crear una base de datos de Analysis Services 2008.
Figura 1: Vista del origen de datos Adems de cambiar las propiedades de una tabla en la DSV, puede definir las claves principales lgicas o las relaciones lgicas entre las tablas si el origen fsico no las ha definido todava. SSAS no podr mostrar datos correctamente sin estas definiciones implementadas fsicamente en la capa de datos o de manera lgica en la DSV. Tambin puede agregar un clculo con nombre, que es como agregar una columna derivada a una vista o reemplazar el objeto de tabla con una consulta con nombre, lo cual es similar a crear una vista. Como preparacin para crear la dimensin de fecha en SSAS, debe agregar dos clculos con nombre a la tabla Fecha: Trimestre y Mes, para concatenar la columna ao con las columnas trimestre y mes. De lo contrario, los datos no se resumirn correctamente por mes, trimestre y ao cuando desee ver datos resumidos. Para agregar el clculo con nombre para el Trimestre, haga clic con el botn secundario en la tabla Fecha en el panel Diseador o Tablas y haga clic en Nuevo clculo con nombre. En el cuadro de texto Nombre de la columna, escriba Trimestre. En el cuadro de texto Expresin, escriba la siguiente expresin: 'Qtr ' + convert(char(1), CalendarQuarter) + ' ' + convert(char(4), CalendarYear) Haga clic en Aceptar y ahora repita estos pasos para agregar el clculo con nombre a Mes, mediante la expresin siguiente: left(EnglishMonthName, 3) + ' ' + convert(char(4), CalendarYear) Observe que la tabla Fecha en el diseador (que se muestra en la figura 2) muestra sus clculos con nombre con un icono de calculadora para diferenciarlos fsicamente de las columnas en la tabla. Puede revisar el efecto de agregar los clculos con nombre haciendo clic con el botn secundario en la tabla y en Explorar datos. Se abre una nueva ventana en BIDS para mostrar los datos de la tabla de origen. Cuando se desplaza hasta el extremo derecho, puede ver los valores de los clculos con nombre. Siempre debe usar el comando Explorar datos para confirmar que los clculos con nombre aparezcan de forma que desea antes de continuar con la creacin de las dimensiones.
Figura 2 Tabla Fecha con clculos con nombre En cualquiera de los casos, usted indica una fecha de inicio y una fecha de trmino para los datos en la tabla transaccional. SSAS puede crear y rellenar una tabla fsica en el origen de datos que usar para rellenar la dimensin que se mantiene en la base de datos SSAS o puede simplemente mantener la dimensin exclusivamente en la base de datos SSAS. Podra elegir generar la tabla fsica cuando necesite poder admitir consultas relacionales al origen de dato, Haga clic en Siguiente para continuar. En la pgina Especificar informacin de origen, seleccione Fecha en la lista desplegable Tabla principal. Observe que la columna de clave es DateKey. La columna de clave debe identificar de forma exclusiva cada registro en la tabla para que SSAS puede agregar o agrupar correctamente los datos cuando devuelva los resultados de la consulta. A continuacin, en la lista desplegable Columna de nombre, seleccione FullDateAlternateKey. SSAS usa la columna de nombre como etiqueta para mostrar al usuario en lugar de mostrar la columna de clave. Haga clic en Siguiente. En la pgina Seleccionar los atributos de la dimensin, elige los atributos que se incluirn en la dimensin, que us para definir etiquetas de jerarquas o grupos adicionales. Si incluye o no todos los atributos de una tabla de dimensiones depende de los tipos de preguntas que desee admitir en su solucin BI. Agregue solo tantas como necesite para asegurar que SSAS se desempee de forma ptima, a fin de evitar consumir espacio de almacenamiento innecesariamente y para evitar confundir a los usuarios con demasiadas opciones. Para esta dimensin, seleccione Ao calendario, Trimestre y Mes. Haga clic en Siguiente, despus haga clic en Finalizar. Para asegurarse de que cada atributo sea identificado de forma exclusiva, actualiza la propiedad KeyColumn. Al configurar esta propiedad para las columnas de clave, se asegura de que Mes se ordene correctamente en secuencia numrica antes que alfabticamente por nombre del mes, que es el criterio de ordenacin predeterminado.
Para actualizar la propiedad KeyColumn, seleccione Mes en el panel Atributos en la izquierda. En la ventana Propiedades, haga clic en la propiedad KeyColumns y despus en el botn de puntos suspensivos. En el cuadro de dilogo Key Columns, haga clic en la flecha izquierda para borrar la asignacin actual y despus haga doble clic en CalendarYear y MonthNumberOfYear. Ahora asigne una etiqueta a este atributo haciendo clic en el botn de puntos suspensivos en el cuadro de propiedades NameColumns. Seleccione EnglishMonthName y haga clic en Aceptar. Repita estos pasos para configurar la propiedad KeyColumns del atributo Trimestre en CalendarYear y en CalendarQuarter y para configurar la propiedad NameColumns en Trimestre. La dimensin ahora aparece en el Explorador de soluciones como Date.dim y el diseador de dimensiones (que se muestra en la figura 3) aparece en la misma rea de trabajo principal de BIDS.
Figura 3 Dimensin Fecha mostrada en el diseador Puede ver la dimensin con sus atributos asociados, incluido el atributo de clave, en el panel Atributos en la izquierda. Si despus decide agregar ms atributos, puede arrastrarlos uno por uno desde el panel Vista del origen de datos hasta el panel Atributos. Use el Asistente para dimensiones solo cuando comience una nueva dimensin, pero puede hacer cualquier cambio necesario en el diseador de dimensiones. Ahora use el Asistente para dimensiones para crear la dimensin Producto, mediante el uso de Producto como la tabla principal y EnglishProductName como la columna de nombre. Debido a la dimensin Producto es un esquema de copo de nieve, el asistente incluye una pgina adicional para confirmar que desea incluir las tablas relacionadas, ProductSubcategory y ProductCategory. A continuacin, agregue los atributos Color y Tamao a la dimensin. Tenga en cuenta que el asistente selecciona automticamente las columnas de clave para las tablas de copo de nieve, Clave de subcategora de producto y la Clave de categora de producto. Debe agregar las columnas de nombre correspondientes a estos atributos, pero primero debe finalizar el asistente para que pueda modificar las propiedades de atributos. Cuando aparezca el diseador de dimensiones, seleccione Clave de categora de producto en el panel Atributos. En Propiedades, busque la propiedad Nombre y cambie el nombre a Categora. Desplcese en la ventana Propiedades para buscar la propiedad NameColumn. Haga clic en el cuadro de texto propiedad para mostrar el botn de puntos suspensivos, haga clic en el botn, seleccione EnglishProductCategoryName y haga clic en Aceptar. Ahora repita estos pasos para renombrar la Clave de subcategora de producto a Subcategora y para especificar EnglishProductSubcategoryName como su nombre de columna. Por ltimo, cambie el nombre al atributo Clave del producto a Producto.
Adicin de jerarquas
Observe la lnea ondulante azul que aparece debajo del nombre de dimensin, Producto, en el panel Atributos. Cuando desplaza el cursor sobre esta lnea, aparece un mensaje de advertencia: "Cree jerarquas con dimensiones que no sean de elementos primarios y secundarios". Este mensaje es un ejemplo de las advertencias de prcticas recomendadas incorporadas a SSAS 2008 para ayudarle a crear correctamente una base de datos SSAS. Vuelva al diseador de la
dimensin Fecha, al hacer clic en la ficha correspondiente en el rea de trabajo del documento o al hacer doble clic en Date.dim en el Explorador de soluciones y all ver la misma advertencia. Agregar una jerarqua a una dimensin se considera una prctica recomendad por varios motivos, en especial para facilitar su uso al usuario y para su optimizacin. Ms especficamente, una jerarqua ofrece una ruta de navegacin que los usuarios pueden seguir desde datos resumidos hasta datos detallados. Asimismo, puede mejorar el rendimiento de las consultas al habilitar SSAS para que calcule y almacene las agregaciones antes de las consultas de los usuarios. Por ejemplo, si el usuario desea ver la Venta del distribuidor por ao y una jerarqua en la dimensin Fecha define la ruta de resumen desde el atributo clave (Date Key) al atributo Ao calendario, SSAS puede calcular los datos de ventas por ao durante el procesamiento y despus poner los resultados en almacenamiento permanente. Este almacenamiento de agregaciones evita la necesidad de calcular las ventas de cada ao en el momento de la consulta y es la diferencia clave entre recuperar datos desde un data mart relacional o desde una base de datos multidimensional como SSAS. Para agregar una jerarqua a la dimensin Fecha, arrastre el atributo Ao calendario desde el panel Atributos al panel Jerarquas en el diseador de dimensiones, Despus de agregar el primer atributo, aparece un objeto de jerarqua con un nuevo nivel vaco debajo del atributo que acaba de agregar. Agregue los atributos Trimestre y Mes a la jerarqua al arrastrar cada uno al espacio para el nivel vaco. A continuacin, cambie el nombre de la jerarqua haciendo clic con el botn secundario, despus haga clic en Cambiar nombre y escriba Ao. Aunque agreg una jerarqua, igualmente aparece una advertencia para la dimensin Fecha. Desplace el cursor sobre la lnea para ver una nueva advertencia: "Evite las jerarquas de atributo visibles para los atributos empleados como niveles en las jerarquas definidas por el usuario". Este mensaje le sugiere que evite que los usuarios vean un atributo por s mismo cuando ese atributo se ha incluido en una jerarqua. En otras palabras, un usuario solo debe poder ver el atributo cuando navega dentro de la jerarqua. En mi experiencia, esta decisin es una que en realidad debe tomar en conjunto con los usuarios. Si decide no tener en cuenta esta advertencia, seleccione Trimestre en el panel Atributos y despus, en la ventana Propiedades, cambie el valor AttributeHierarchyVisible a False (Falso).
Relaciones de atributos
Aparece otra advertencia en la jerarqua misma. En este caso, el mensaje advierte que podra surgir un problema de rendimiento debido a que faltan las relaciones de atributos entre uno o ms niveles de la jerarqua. SSAS usa las relaciones de atributos para optimizar el rendimiento de las consultas y el diseo de agregacin, para reducir la cantidad de almacenamiento necesaria para una dimensin y para acelerar el tiempo de procesamiento de la base de datos. Haga clic en la ficha Relaciones de atributos en el diseador de dimensiones (tenga en cuenta que esta ficha solo est disponible si est usando Analysis Services 2008). De forma predeterminada todos los atributos se relacionan directamente con el atributo clave, Date Key. Para optimizar el diseo al reasignar relaciones, arrastre el objeto Mes al objeto Trimestre y despus arrastre el objeto Trimestre al objeto Ao. La relacin en el diseador ahora representa correctamente la relacin de varios a uno entre cada nivel de izquierda a derecha, como se muestra en la figura 4.
Figura 4 Relaciones de atributos A continuacin, agregue una jerarqua a la dimensin Producto denominada Categoras que contiene Categora, Subcategora y Producto de arriba abajo. Despus de crear la jerarqua, descubrir que no necesita corregir las relaciones de atributos entre los niveles porque las relaciones de clave externa entre las tablas ya estn definidas en la DSV. Sin embargo, puede configurar el valor de la propiedad AttributeHierarchyVisible en False si lo desea.
Ahora su proyecto contiene dos dimensiones que tienen jerarquas y relaciones de atributos correctamente definidas. A medida que obtiene ms informacin sobre el diseo de dimensiones, descubrir que hay varias propiedades disponibles para optimizar el rendimiento y controlar el comportamiento especfico en la interfaz de usuario. Adems, es probable que tenga ms dimensiones en soluciones de BI ms complejas. Sin embargo, en este punto, ya ha aprendido los aspectos bsicos de las dimensiones y cuenta con lo necesario para seguir creando una solucin que se puede usar al crear un cubo.
Creacin de un cubo
Del mismo modo que usa el Asistente para dimensiones para iniciar el proceso de definir sus dimensiones, use el Asistente para cubos para comenzar a crear su cubo. En el Explorador de soluciones, haga clic con el botn secundario en la carpeta Cubos, haga clic en Nuevo cubo y despus en Siguiente en la pgina principal si corresponde. En la pgina Seleccionar mtodo de creacin, mantenga la opcin predeterminada (debe use las otras dos opciones cuando tenga un diseo que desee crear manualmente o con una plantilla, despus haga que SSAS genere tablas en el origen de datos basndose en ese diseo, que debera rellenar con datos mediante el uso de Integration Services antes de que pueda explorar su cubo). Haga clic en Siguiente. En la pgina Seleccionar tablas de grupo de medida, seleccione Venta por Internet y Venta del distribuidor y haga clic en Siguiente (las tablas de grupo de medida son un sinnimo de tablas de hechos). A continuacin el asistente muestra las columnas numricas descubiertas en las tablas de grupo de medidas seleccionadas. De acuerdo con el enfoque sencillo que hemos seguido hasta ahora, borre todas las medidas al desmarcar la casilla Medida en la parte superior de la pgina y despus seleccione las siguientes medidas de cada grupo Venta por Internet y Venta del distribuidor): Cantidad de pedido, Costo total del producto e Importe de venta. Tambin puede cambiar el nombre de las medidas en esta pgina. Solamente haga clic con el botn secundario y escriba el nuevo nombre, pero asegrese de que el nombre de cada medida sea nico. El nombre de la medida debe ser corto, pero no tanto como para que se pueda entender. Cambie el nombre de las medidas en el grupo Venta por Internet de la siguiente manera: Cantidad de pedido por Internet, Costo por Internet y Venta por Internet. Del mismo modo, cambie el nombre de las medidas de Venta de distribuidor como Cantidad de pedido de distribuidor, Costo de distribuidor y Venta del distribuidor. Haga clic en Siguiente. En la pgina Seleccionar dimensiones existentes, el asistente muestra las dimensiones que ya ha creado. Haga clic en Siguiente. Si hay alguna tabla en la DSV a la que no se haga referencia como una tabla de grupo de medidas o mediante una dimensin existente, la pgina Seleccionar nuevas dimensiones aparecer para permitirle agregar rpidamente cualquier otra dimensin que pudiera necesitar. En este caso, borre Venta por Internet y Venta del distribuidor porque no necesita que estas tablas se creen como dimensiones (aunque tcnicamente son tablas de grupo de medidas, la presencia de nmeros de pedido de venta en las tablas le permitira crear dimensiones para apoyar los informes o el anlisis de ventas segn nmero de pedido de venta). Haga clic en Siguiente, cambie el nombre del cubo a Ventas y haga clic en Finalizar. Felicitaciones! Cre correctamente un cubo sencillo! El diseador de cubos muestra los grupos de medidas y las dimensiones agregadas al cubo en los paneles de la izquierda y la DSV de origen en la derecha, como se muestra en la figura 5.
Figura 5 Diseador de cubos que muestra los grupos de medidas y las dimensiones El primer paso que debe tomar despus de crear un cubo es configurar la propiedad FormatString de cada medida para facilitar la vista de valores en el explorador de cubos. La forma ms rpida de hacerlo es ver las medidas en una cuadrcula. En la barra de herramientas del diseador de cubos, haga clic en el quinto botn desde la izquierda para cambiar de la Vista de rbol a la Vista de cuadrcula. En la Vista de cuadrcula, puede usar la tecla Ctrl para seleccionar varias medidas de una sola vez. En primer lugar, seleccione Cantidad de pedido por Internet y Cantidad de pedido del distribuidor. En la ventana Propiedades, en la lista desplegable FormatString, seleccione Estndar. Despus seleccione todas las medidas restantes para configurar la propiedad FormatString en Moneda.
Adicin de clculos
Una caracterstica eficaz de SSAS es la capacidad de agregar clculos mediante el uso del lenguaje de expresin multidimensional (MDX). Si puede escribir frmulas en Excel, puede crear clculos en su cubo mediante el uso de expresiones MDX. Para expresiones ms complejas, necesitar dedicar algn tiempo a obtener ms informacin sobre MDX mediante estudio y muchsima prctica. Recuerde que uno de los objetivos de diseo de esta solucin es medir la rentabilidad por canal de ventas. El cubo ahora incluye las medidas que necesita para calcular la rentabilidad. Costo por Internet, Venta por Internet, Costo del distribuidor y Venta del distribuidor. La diferencia entre venta y costos es el margen bruto, pero ese clculo ofrece dlares absolutos que no es til para la comparacin entre canales. Adems del margen bruto, debe calcular el porcentaje del margen bruto al dividir el margen bruto por el importe de venta. En el diseador de cubos, haga clic en la ficha Clculos, la tercera ficha desde la izquierda. Despus haga clic en el botn Nuevo miembro calculado en la barra de herramientas, el quinto botn desde la izquierda. En el cuadro de texto Nombre, escriba [Margen bruto por Internet].
Los corchetes son obligatorios cuando el nombre incluye espacios. En el cuadro de texto Expresin, escriba [Venta por Internet] - [Costo por Internet] y despus en la lista desplegable Cadena de formato, seleccione "Moneda". Ahora repita estos pasos para agregar los clculos que se muestran en la figura 6.
Nombre [Margen bruto del distribuidor] [Pct de margen bruto por Internet] [Pct de margen bruto del distribuidor] Expresin [Venta del distribuidor] - [Costo del distribuidor] [Margen bruto por Internet] / [Venta por Internet] [Margen bruto del distribuidor] / [Venta del distribuidor] Cadena de formato "Moneda" "Porcentaje" "Porcentaje"
Figura 7 rbol de metadatos del cubo de ventas Podra preguntarse por qu el cubo contiene Fecha de vencimiento, Fecha de pedido y Fecha de envo cuando solo cre una dimensin Fecha. Estas dimensiones del cubo se denominan dimensiones realizadoras de funciones porque representan distintas versiones lgicas de la misma dimensin. Aparecen automticamente en el cubo cuando incluye la dimensin Fecha porque la tabla de hecho contiene tres columnas distintas de clave externa que se relacionan con la tabla nica en la que se basa la dimensin Fecha para realizar un seguimiento de los eventos de pedidos, envos y vencimientos por separado (si estas fechas realizadoras de funciones no son tiles para el anlisis, puede eliminar cualquiera que no necesite en la pgina Estructura de cubo del diseador). Para ver los datos del cubo, arrastre los objetos desde el rbol de metadatos a la cuadrcula en el centro del diseador. Comience por arrastrar Ventas por Internet al rea llamada Coloque campos totales o campos detallados aqu. Despus repita este proceso para agregar Pct de margen bruto por Internet, Venta del distribuidor y Pct de margen bruto del distribuidor a la cuadrcula. Con los resultados de esta consulta sencilla ahora visibles en el explorador de cubos (como se muestra en la figura 8), puede ver que Venta por Internet es mucho ms rentable que Venta del distribuidor.
Figura 8 Resultados de la consulta en el explorador de cubos Puede continuar explorando estos resultados arrastrando los atributos a las secciones de la cuadrcula para filas, columnas o filtros, que colectivamente se denominan ejes, o arrastrando los atributos y medidas fuera de la cuadrcula. El proceso de agregar objetos a los ejes para refinar la consulta los usuarios de BI denominan segmentar y que es una forma muy rpida de consultar datos sin escribir ningn cdigo. Por ejemplo, para segmentar por ao, arrastre Order Date.Year a la seccin llamada Coloque campos de fila aqu.
Debido a que Order Date.Year es una jerarqua (como indica el icono con forma de pirmide), puede rastrear desagrupando datos para segmentar por semestre al expandir uno o ms de los aos. Del mismo modo, puede formar un subcubo por categora al arrastrar Categoras (Categories) al eje de las columnas sobre las medidas. Despus de colocar objetos en filas o columnas, puede filtrar la lista de elementos haciendo clic en la flecha en el ttulo. Para eliminar Componentes de la cuadrcula, haga clic en el ttulo Categora, desmarque la casilla Componentes y haga clic en Aceptar. A continuacin, para simplificar la vista, arrastre Venta por Internet y Venta del distribuidor fuera de la cuadrcula. Ahora puede comparar fcilmente la rentabilidad de los canales de Internet y Revendedores por ao y trimestre y por categora de producto, como se muestra en la figura 9.
Recursos adicionales
Desarrollo de Analysis msdn.microsoft.com/library/bb500183.aspx Seguridad de Analysis msdn.microsoft.com/library/ms175386.aspx Vdeos sobre Analysis msdn.microsoft.com/library/dd299422.aspx Services (Libros en lnea)
Services
(Libros
en
lnea)
Services
2008
(Libros
en
lnea)