Modelado multidimensional

Anuncio
Elegir una experiencia de modelado
tabular o multidimensional en
SQL Server 2012 Analysis Services
Artículo técnico de Microsoft Business Intelligence
Autores
Consultoría Hitachi:
Liz Vitt: autor
Scott Cameron: autor
Hilary Feier: revisor
Microsoft:
T.K. Anand: revisor
Ashvini Sharma: revisor
Fecha de publicación: mayo de 2012
Corresponde a: SQL Server 2012 Analysis Services
Resumen: en estas notas del producto se incluye una orientación práctica para ayudar
a quienes toman decisiones y a los profesionales de BI a evaluar si lo que mejor se adecúa
como su próxima solución de BI es el modelado multidimensional o el tabular de Analysis
Services de SQL Server 2012.
Copyright
Este documento se proporciona "tal cual". La información y los puntos de vista que se
ofrecen en él, incluidas las direcciones URL y otras referencias a sitios web de Internet,
pueden sufrir modificaciones sin previo aviso. Usted acepta el riesgo de utilizarlo.
En este documento no se proporciona ningún derecho legal de ninguna propiedad
intelectual de ningún producto de Microsoft. Puede copiar y utilizar este documento
para su propia referencia.
© 2012 Microsoft Corporation. Todos los derechos reservados.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
2
Contenido
Introducción .................................................................................................................................................. 5
Elementos del modelado BISM .............................................................................................................. 5
Modelado multidimensional ............................................................................................................... 5
Modelado tabular ................................................................................................................................... 6
Herramientas de análisis de cliente BISM ........................................................................................... 7
Modelo de datos.......................................................................................................................................... 7
Relaciones de datos ............................................................................................................................... 7
Relaciones de uno a varios.............................................................................................................. 7
Relaciones de varios a varios.......................................................................................................... 8
Relaciones de referencia .................................................................................................................. 8
Jerarquías ................................................................................................................................................... 9
Jerarquías estándar ............................................................................................................................ 9
Jerarquías desiguales ........................................................................................................................ 9
Jerarquías de elementos primarios y secundarios .................................................................. 9
Características de modelado adicionales .....................................................................................10
Lógica empresarial ....................................................................................................................................12
Transformaciones de fila ....................................................................................................................12
Valores agregados ................................................................................................................................13
Cálculos .....................................................................................................................................................13
Escenarios de lógica empresarial ....................................................................................................15
Lógica de jerarquía...........................................................................................................................15
Resúmenes personalizados ...........................................................................................................15
Medidas semiaditivas ......................................................................................................................16
Inteligencia de tiempo ....................................................................................................................17
KPI ..........................................................................................................................................................17
Conversión de moneda ..................................................................................................................17
Conjuntos con nombre ...................................................................................................................17
Acceso a datos y almacenamiento ......................................................................................................19
Rendimiento y escalabilidad .............................................................................................................19
Modelos multidimensionales .......................................................................................................19
Modelos tabulares............................................................................................................................20
Programación .........................................................................................................................................22
Seguridad .....................................................................................................................................................22
Seguridad de filas y atributos ...........................................................................................................23
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
3
Seguridad dinámica..............................................................................................................................23
Seguridad de celda y avanzada .......................................................................................................23
Resumen .......................................................................................................................................................24
Para obtener más información .............................................................................................................29
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
4
Introducción
El modelado de datos es una disciplina que los profesionales de BI llevan varios años
poniendo en práctica con un objetivo común: organizar la información dispar en un
modelo analítico que satisfaga las necesidades de la empresa en cuanto a sus procesos
de informes y análisis de un modo eficaz y, al mismo tiempo, eficiente. A medida que el
modelado de datos evoluciona con el tiempo gracias a la aparición de nuevas tecnologías
y herramientas, las organizaciones se enfrentan al desafío cada vez mayor de combinar
sus paradigmas de modelado de un modo coherente y fluido que no solo satisfaga sus
diversas necesidades de análisis sino que también permita una experiencia de análisis
común dentro de la empresa.
Con la versión SQL Server 2012, Microsoft aborda este objetivo y este desafío gracias
a la incorporación del modelo semántico de BI (BISM), un modelo único que es capaz
de admitir una amplia variedad de informes y análisis al tiempo que combina de fondo
dos experiencias de modelado de Analysis Services:


El modelado multidimensional, que se incluyó por primera vez en SQL Server 7.0
OLAP Services y siguió proporcionándose en SQL Server 2012 Analysis Services,
permite a los profesionales de BI crear cubos multidimensionales sofisticados
utilizando el procesamiento analítico en línea (OLAP) tradicional.
El modelado tabular, que se proporcionó inicialmente en PowerPivot para
Microsoft Excel 2010, proporciona diversas funciones de modelado de datos de
autoservicio a los analistas de datos y de negocio. La experiencia de modelado
tabular es más accesible para estos usuarios, que, en muchos casos, llevan años
trabajando con los datos en herramientas de productividad de escritorio como
Excel y Microsoft Access. En SQL Server 2012, el modelado tabular se ha mejorado
para permitir a los profesionales de BI la creación de modelos tabulares en Analysis
Services o la importación de un modelo tabular de PowerPivot en Analysis Services.
Tenga en cuenta que un modelo de PowerPivot no se puede importar en un
modelo multidimensional de Analysis Services.
El objeto de estas notas del producto es ofrecerle una orientación práctica que pueda
servirle de ayuda para decidir qué tipo de modelado de SQL Server 2012 Analysis Services,
el tabular o el multidimensional, es el que mejor se adapta como su siguiente solución
de BI. Las descripciones y las recomendaciones de productos de este documento son
para SQL Server 2012 Analysis Services, que se lanzó en marzo de 2012. Las características
y las recomendaciones de productos pueden cambiar a medida que el modelado
multidimensional y tabular de Analysis Services evolucione en versiones futuras
de SQL Server.
Elementos del modelado BISM
Antes de profundizar en los detalles de las diferencias entre el modelado multidimensional
y el tabular, comencemos con una explicación breve de los elementos de cada una de
las experiencias de modelado BISM que SQL Server 2012 Analysis Services ofrece.
Modelado multidimensional
Como principio fundamental, el modelado multidimensional crea cubos compuestos de
medidas y dimensiones según los datos incluidos en una base de datos relacional. Para
usar este paradigma, el servidor de Analysis Services debe configurarse para operar en
modo multidimensional, su configuración predeterminada. En este modo, el motor OLAP
usa el modelo multidimensional para agregar por anticipado grandes volúmenes de datos
que agilicen las respuestas de las consultas. El motor OLAP puede almacenar estas
agregaciones en el disco con almacenamiento OLAP multidimensional (MOLAP)
o en la base de datos relacional con almacenamiento OLAP relacional (ROLAP).
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
5
Entre las características clave del modelado multidimensional se incluyen:


Modelo de datos enriquecido: el modelo multidimensional de SQL Server 2012
Analysis Services va por la sexta versión y proporciona una amplia funcionalidad
para modelar las medidas y las dimensiones a partir de los conjuntos de datos simples
o complejos que se suelen encontrar en los almacenamientos de datos. Los conjuntos
de datos más complejos suelen incluir características avanzadas como son las
relaciones de varios a varios, las jerarquías de elementos primarios y secundarios
y la localización. El modelo multidimensional proporciona esta funcionalidad
directamente.
Análisis sofisticado: el modelo multidimensional también proporciona un lenguaje
de consulta y cálculo avanzado denominado Expresiones multidimensionales (MDX).
Mediante MDX puede crear sofisticados cálculos y una lógica de negocio que
permitan operar en cualquier parte del espacio multidimensional para llevar a cabo
asignaciones financieras, cálculos de series temporales o métrica semiaditiva.
Aunque el modelado multidimensional tiene unas ventajas considerables como es un
modelado completo de los datos y un análisis sofisticado, a menudo acarrea también
desventajas, como es la posibilidad de alargar los ciclos de desarrollo y menoscabar
la capacidad de adaptarse rápidamente a las condiciones empresariales en continuo
cambio. Además, la experiencia multidimensional tiende a requerir conocimientos
avanzados de Expresiones multidimensionales y modelado.
Modelado tabular
El modelado tabular organiza los datos en tablas relacionadas. Si desea utilizar el
modelado tabular, Analysis Services debe configurarse para trabajar en modo tabular.
En este modo, puede usar el motor en memoria xVelocity (antes Vertipaq) para cargar
los datos tabulares en memoria a fin de agilizar la respuesta de las consultas o bien
puede utilizar DirectQuery para pasar las consultas a la base de datos de origen
y aprovechar así sus capacidades de procesamiento de consultas.
Entre las características clave del modelado tabular se incluyen:


La familiaridad: el trabajo con datos tabulares es una tarea conocida para muchos
usuarios que suelen trabajar con tablas almacenadas en bases de datos relacionales,
Excel o Access. Además, los cálculos se escriben con Expresiones de análisis de
datos (DAX), un lenguaje de fórmulas que se considera una extensión del de Excel.
Por tanto, los conocimientos necesarios para generar modelos tabulares son más
comunes o se aprenden con mayor facilidad en comparación con los que se requieren
para generar modelos multidimensionales.
La flexibilidad: dado que no es necesaria una organización rígida de los datos en
forma de medidas y dimensiones, el modelado tabular puede acelerar los ciclos de
desarrollo, al requerir una menor preparación previa de los datos y un diseño
menos riguroso que los modelos multidimensionales. Esta arquitectura de datos
también puede acomodarse más a los cambios del modelado de datos con el
tiempo cuando es necesario actualizar las relaciones y los cálculos según las
necesidades empresariales en continua evolución.
Aunque la familiaridad y la flexibilidad son ventajas clave del modelado tabular, también
acarrea algunas desventajas. Por ejemplo, el modelado tabular puede no ser adecuado
para aquellas soluciones que tengan conjuntos de datos muy complejos o que requieran
una lógica empresarial sofisticada. Los usuarios del lenguaje DAX a menudo pueden
crear fórmulas DAX para proporcionar funciones analíticas que no están disponibles
en el modelo tabular. Por lo tanto, en estos casos, puede ser más conveniente y eficaz
usar las funciones avanzadas que se proporcionan en el modelado multidimensional.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
6
Herramientas de análisis de cliente BISM
Tanto si elige el modelado multidimensional como si prefiere el tabular, es importante
tener en cuenta que puede utilizar las herramientas de cliente que generan MDX o DAX
para consultar el modelo. Excel y SQL Server Reporting Services son ejemplos de
herramientas de cliente que generan consultas con MDX y Power View es un ejemplo
de herramienta de cliente que genera consultas con DAX. Esta indicación tiene dos
excepciones:


Power View, una característica del complemento Microsoft SQL Server 2012
Reporting Services para Microsoft SharePoint Server 2010 Enterprise Edition,
es una herramienta interactiva de exploración y visualización de datos. Si desea
usar Power View o cualquier otro cliente de análisis que utilice DAX para
consultar un BISM, es necesario utilizar un modelo tabular. Se espera que las
versiones futuras de SQL Server permitan usar DAX para consultar los modelos
multidimensionales de modo que una herramienta de cliente como Power View
pueda acceder a ellos.
Los modelos tabulares configurados para usar DirectQuery requieren una
herramienta de cliente que genere consultas DAX como Power View. Se espera
que las versiones futuras de SQL Server permitan que los modelos tabulares
configurados para usar DirectQuery acepten consultas MDX.
Modelo de datos
Las características de un modelo de datos son una consideración esencial en la elección
de la experiencia de modelado.
Relaciones de datos
Un requisito fundamental de cualquier modelo de datos es representar correctamente
cómo se interrelacionan y se conectan los datos concretos dentro del modelo, como las
piezas de un rompecabezas. Tanto los modelos tabulares como los multidimensionales
requieren la definición de relaciones entre las tablas de datos de origen. Las relaciones
comunes que se observan en el modelado de datos son relaciones de uno a varios,
de varios a varios y de referencia.
Relaciones de uno a varios
En una relación de uno a varios, un solo registro de una tabla se relaciona con varios
registros de otra tabla. Un ejemplo de relación de uno a varios es un cliente que tiene
varios pedidos. Tanto los modelos de datos tabulares como los multidimensionales
tratan las relaciones de uno a varios.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
7
Relaciones de varios a varios
En una relación de varios a varios, muchos registros de una tabla se relacionan con
muchos registros de una segunda tabla. Por ejemplo, un solo cliente tiene una relación
de uno a varios con pedidos; sin embargo, cada cliente puede clasificarse en uno
o varios perfiles de cliente (como deportista, jugador ocasional y experto en fitness).
Al analizar los pedidos por perfil de cliente puede producirse una doble contabilidad
al tener que contar los elementos de varios a varios: el pedido de una bicicleta por parte
de un cliente que sea un deportista y también un experto en fitness podría fácilmente
contabilizarse dos veces cuando los pedidos del perfil de cliente se sumen para obtener
los pedidos totales. Generalmente, las relaciones de varios a varios se administran
dividiéndolas en dos relaciones de uno a varios con una tabla puente o intermedia
según se muestra en la ilustración 1.
Id. de cliente
1
…
Nombre de cliente
Elizabeth Johnson
…
Id. de cliente Pedido de ven... Importe de ...
1
1
1
…
Tabla de clientes
Id. de cliente
1
1
1
…
S9100
S9101
S9102
…
$
$
$
4.000
2.500
7.000
…
Tabla de pedidos de venta
Perfil de cliente
Deportista
Jugador ocasional
Experto en fitness
…
Tabla intermedia o puente
para asignar el perfil de cliente
Ilustración 1. Ejemplo de varios a varios
En los modelos multidimensionales, puede definir y generar relaciones de varios
a varios directamente en el modelo de datos identificando la tabla puente y después
relacionando dicha tabla con otras del modelo. Al agregar, Analysis Services aplica
una operación sum distinct para asegurarse de que los totales de los datos se suman
correctamente y no se agregan valores por error.
Los modelos tabulares de SQL Server 2012 Analysis Services no admiten la definición
de relaciones de varios a varios. Sin embargo, puede utilizar el lenguaje DAX para crear
fórmulas con las que se soluciona el problema de las relaciones varios a varios.
Relaciones de referencia
Un modelo de datos puede contener un conjunto de atributos comunes relacionados
con varias entidades. Por ejemplo, los atributos geográficos se relacionan con los clientes,
los proveedores y los almacenes. En el modelado multidimensional debe crear una
dimensión que contenga los atributos comunes y después crear relaciones de dimensión
de referencia a cada una de las dimensiones relacionadas. En el modelado tabular no
hay ninguna necesidad de crear relaciones de referencia. En un modelo tabular, lo único
que debe hacer es crear relaciones entre la tabla que contiene los atributos comunes
y las tablas que contienen las entidades relacionadas.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
8
Jerarquías
Las jerarquías clasifican los datos en una estructura de árbol para facilitar el análisis
minucioso.
Jerarquías estándar
Las jerarquías estándar se componen de los niveles pedidos que proceden de las columnas
de los datos de origen. Por ejemplo, una jerarquía de producto puede organizar los
productos en subcategorías, que a su vez se pueden organizar en categorías. En este caso,
tendría una jerarquía con tres niveles, en la que cada nivel procedería de una columna
independiente en los datos de origen. Las jerarquías sencillas como la de productos
descrita aquí se admiten tanto en el modelo tabular como en el dimensional.
Observe que, dentro de los modelos multidimensionales, se agrega un paso para crear
las relaciones de atributo, que es la identificación explícita de las relaciones de uno
a varios entre los atributos de cada dimensión. Es muy aconsejable definir las relaciones
de atributo porque posibilitan un diseño más eficaz de los agregados calculados
previamente y porque la semántica de MDX se basa en este tipo de relaciones. El
modelado tabular es más sencillo porque no crea relaciones de atributo. Los modelos
tabulares no calculan previamente las agregaciones y la semántica de DAX no se basa
en la identificación de las relaciones de uno a varios entre atributos, por lo que en el
modelado tabular no hay ningún equivalente a las relaciones de atributo del modelado
multidimensional.
Jerarquías desiguales
Las jerarquías desiguales se producen cuando un elemento de datos determinado falta
en el árbol de jerarquía. Por ejemplo, una jerarquía desigual de productos se produce si
hay productos que nunca se asignan a una subcategoría, aunque tengan asignaciones
de categoría de producto. En estas situaciones, en lugar de mostrar un hueco en el
árbol, puede optar por ocultar el hueco para facilitar el análisis minucioso. Los modelos
multidimensionales permiten usar directamente las jerarquías desiguales mientras que
los modelos tabulares no admiten esta capacidad.
Jerarquías de elementos primarios y secundarios
Las jerarquías de elementos primarios y secundarios proporcionan un diseño jerárquico
más complicado. No todas las bifurcaciones de una jerarquía de elementos primarios
y secundarios tienen el mismo número de niveles. Por ejemplo, una relación de elementos
primarios y secundarios entre un empleado y su jefe podría generar una jerarquía en la
que algunos jefes solo tuvieran informes directos mientras que otros tuvieran informes
directos que a su vez también tuvieran sus propios informes directos. Para modelar
este tipo de jerarquía, se crea una relación entre dos columnas en una tabla de datos
de origen, según se muestra en la ilustración 2.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
9
Manager
Director
Ken J. Sánchez
Ken J. Sánchez
Brian S. Welcker Ken J. Sánchez
Amy E. Alberts
Brian S. Welcker
Jae B. Pak
Amy E. Alberts
David M. Bradley Ken J. Sanchez
Kevin F. Brown
David M. Bradley
Employee
Empleado
Datos de origen primarios
y secundarios
Árbol de jerarquía de elementos
primarios y secundarios
Ilustración 2. Jerarquía de elementos primarios y secundarios
Los modelos multidimensionales proporcionan directamente una funcionalidad que
permite definir y generar jerarquías de elementos primarios y secundarios según las
relaciones de los datos de origen.
En los modelos tabulares, puede aprovechar las funciones DAX para crear fórmulas
que navegan por la estructura de elementos primarios y secundarios y la usan en los
cálculos. Para obtener más información sobre el uso de jerarquías de elementos
primarios y secundarios en los modelos tabulares, vea Descripción de las funciones
para jerarquías de elementos primarios y secundarios en DAX
(http://msdn.microsoft.com/es-es/library/gg492192(v=sql.110).aspx).
Características de modelado adicionales
Además de las jerarquías y las relaciones de los datos, hay características de modelado
adicionales que pueden ayudarle a elegir la mejor experiencia de modelado:



Las perspectivas permiten definir un subconjunto de un modelo de datos
para facilitar la exploración por parte de los usuarios finales. Hay perspectivas
disponibles tanto en los modelos multidimensionales como en los modelos
tabulares.
Las traducciones permiten que los modelos multidimensionales muestren la
dimensión, los atributos, las medidas, los miembros calculados y otros valores
de los miembros de dimensión y nombres de objeto en el idioma especificado
por la configuración de la localización del equipo. Para habilitar esta característica,
es necesario que el desarrollador del modelo proporcione los nombres de
objeto traducidos y haga referencia a las columnas en los datos de origen que
contienen los valores traducidos de los miembros de dimensión. Los modelos
tabulares no proporcionan esta funcionalidad.
Las acciones permiten a los usuarios finales ejecutar un informe de Reporting
Services, navegar a una dirección URL o iniciar una operación externa según el
contexto de la celda donde se produce la acción. Por ejemplo, mediante una
acción, un usuario final puede iniciar una página web que muestre el catálogo
de productos de la empresa filtrado automáticamente según el producto o los
productos que el usuario examinaba. Las acciones que admiten directamente
los modelos multidimensionales y muchas herramientas de cliente (como Excel
y Reporting Services) permiten a los usuarios la ejecución de acciones. En SQL
Server 2012 no se admite la posibilidad de crear acciones en un modelo tabular
mediante SQL Server Data Tools.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
10

La obtención de detalles le permite navegar a los datos detallados almacenados
en el modelo. La obtención de detalles está disponible tanto en el modelado
multidimensional como en el tabular. Los modelos multidimensionales también
permiten crear acciones de obtención de detalles para que pueda personalizar la
experiencia de obtención de detalles especificando las columnas que se devolverán
en la obtención de detalles y el espacio del cubo donde la acción se habilitará.

La reescritura es una característica que suele ser necesaria en las aplicaciones de
presupuesto y previsión. En estos casos, los usuarios empresariales suelen realizar
análisis del tipo "y si" donde cambian y actualizan los valores de datos del modelo
y luego los publican para que otros los vean. Los modelos multidimensionales
permiten la reescritura de datos. En SQL Server 2012, los modelos tabulares no
admiten esta funcionalidad.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
11
Lógica empresarial
La lógica empresarial puede agregar un valor tremendo a cualquier modelo de datos
mediante cálculos y reglas de negocios que mejoran los datos para el análisis del
usuario final.
Tanto el modelado tabular como el multidimensional ofrecen completos lenguajes de
fórmulas para implementar la lógica empresarial. El modelado multidimensional saca
provecho de MDX mientras que el modelado tabular usa DAX. Antes de ahondar
un poco en algunos escenarios avanzados de lógica empresarial de cada paradigma,
es importante establecer una descripción de referencia del modo en que la lógica
empresarial se puede aplicar mediante transformaciones de nivel de fila, valores
agregados y cálculos en el modelado multidimensional y tabular.
Transformaciones de fila
Puede que tenga que realizar cálculos y transformaciones de datos que no estén
siempre disponibles en los datos de origen. Por ejemplo, los datos de origen pueden
tener una columna Cantidad de ventas y una columna Tasa de intercambio diario pero
faltar las ventas convertidas a la divisa extranjera, o los datos de origen pueden tener
el nombre y el apellido del empleado pero faltar su nombre completo concatenado.
Observe que, en estos ejemplos, el cálculo o manipulación de datos debe producirse
en los datos sin agregar de las filas.
En el modelado multidimensional, las transformaciones de fila en los datos sin agregar
deben realizarse antes de que se carguen los datos en el modelo o cuando este se
consulta. Puede transformar los atributos de dimensión, como los nombres de empleados,
ya sea aplicando la transformación en el sistema de origen de datos o escribiendo una
expresión SQL que se aplique cuando Analysis Services consulte la base de datos de
origen. Las transformaciones de fila de los datos numéricos pueden realizarse con una
expresión SQL antes de que los datos se carguen en Analysis Services o la transformación
puede aplicarse con una expresión MDX dentro de una instrucción Scope de modo que
el cálculo se aplique en las filas. Si la transformación se aplica antes de que se carguen
los datos, Analysis Services puede agregar los valores numéricos. Si la transformación
se aplica mediante una instrucción scope, la agregación se produce en el momento
de la consulta.
En el modelado tabular, las transformaciones de fila se crean con columnas calculadas.
Al crear una columna calculada, se agrega la columna a una tabla específica en el modelo
y para definir la columna se usan fórmulas DAX. La fórmula se evalúa entonces para
cada registro de dicha tabla y se carga en memoria como cualquier otra columna del
modelo. Esta flexibilidad permite mejorar los datos directamente en el modelo tabular
en función de sus requisitos específicos de análisis y reduce la necesidad de realizar
modificaciones en los orígenes de datos de nivel superior que pueden o no acomodarse
a sus cambios de forma oportuna. Las columnas calculadas proporcionan una forma
muy cómoda de crear y de conservar los cálculos que se deben realizar en un nivel
detallado en los datos antes de agregarse. Aunque esta flexibilidad es eficaz, observe
que las columnas calculadas no están pensadas para realizar la limpieza de muchos
datos ni para las transformaciones de datos que encontraría en los procesos de carga,
extracción y transformación (ETL).
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
12
Valores agregados
En el modelado multidimensional, se usan medidas para crear valores agregados.
El motor OLAP de Analysis Services agrega previamente las medidas de un cubo con
funciones de agregado como SUM, COUNT, MIN, MAX y DISTINCT COUNT, entre otras.
Durante el procesamiento de los cubos, cada medida se agrega de arriba abajo a través
de todas las jerarquías. Dado que este procesamiento se produce antes del análisis del
usuario final, las medidas agregadas previamente pueden proporcionar enormes
ventajas en el rendimiento de las consultas.
Cuando crea una medida en el cubo, existe una relación de uno a uno entre una
medida de cubo y una columna numérica en los datos de origen. Por tanto, en el
modelado multidimensional, las medidas son útiles cuando es necesario realizar la
agregación ascendente de los elementos de datos numéricos que (1) existen en los
datos de origen en el nivel mínimo de detalle y (2) requieren un resumen que se
aprovecha de una de las funciones de agregado originales de los cubos.
En el modelado tabular, también se usan medidas para crear valores agregados.
Para crear una medida, seleccione una columna y después especifique la función de
agregación (SUM, COUNT, DISTINCT COUNT, MIN, MAX o AVERAGE), o bien puede
escribir una expresión DAX que especifique la función que desea utilizar para agregar
la medida. En el modelado tabular, los datos de fila se almacenan en memoria y los
agregados se calculan en el momento de la consulta. Como se explica en la sección
siguiente, en el modelado tabular, también se pueden usar medidas para aplicar
cálculos. Esto puede incluir los cálculos que se basan en varias columnas agregadas.
Cálculos
En el modelado multidimensional, se usa MDX para crear cálculos. MDX es un lenguaje
tanto de consultas como de expresiones con funciones que pueden entender directamente
el diseño de las dimensiones, las jerarquías, las relaciones de atributo y las medidas de
un cubo. Esta descripción original le permite crear expresiones concisas y eficaces que
aplican la lógica empresarial en varios contextos de datos. Los cálculos de MDX se
crean y almacenan en el script de cálculo del cubo, donde puede controlar el orden
en el que se aplica la lógica.
Los miembros calculados son los cálculos más comunes de MDX. Se evalúan en el
momento de la consulta, una vez que los datos se agregan previamente. Se pueden
crear en cualquier dimensión. Cuando se crean en la dimensión de medidas, se suele
hacer referencia a ellos como medidas calculadas. Los miembros calculados pueden
ser bastante simples, con operaciones aritméticas básicas como las ventas por unidad
(ventas / unidad) o el gasto por persona (gasto / recuento). También pueden ser más
complejos cuando es necesario aplicar reglas de negocios específicas como el resumen
del promedio del tercer período o el margen de YTD. Por ejemplo, si desea calcular las
ventas del período de tiempo actual como un porcentaje del período de tiempo
primario, puede utilizar el siguiente cálculo de MDX.
[Measures].[Sales Amount] /
([Date].[Calendar].CurrentMember.Parent,[Measures].[Sales Amount])
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
13
Al crear un miembro calculado en una dimensión que no sea la de medidas, se agrega
un valor a un atributo en la dimensión. Por ejemplo, si tuviera un atributo de dimensión
que contuviera una lista de colores, podría desear agregar los colores primarios del
miembro calculado que sumarían los valores de los colores rojo, verde y azul. En el
modelado tabular, la creación de una medida es similar a la creación de un miembro
calculado en la dimensión de medidas de un modelo multidimensional. En el modelado
tabular, no puede agregar un valor a una columna de una tabla, de modo que ese
modelado no admite el equivalente de la creación de un miembro calculado en una
dimensión que no sea la dimensión de medidas de un modelo multidimensional.
Las asignaciones de ámbito son más avanzadas que las medidas calculadas pero también
son más eficaces. Según se indica en la sección "Transformación de filas" anterior, podría
usar una instrucción Scope de forma que los cálculos se apliquen en las filas. Sin embargo,
también puede usar una instrucción Scope para especificar cualquier rango de celdas
de cubo donde desee aplicar un cálculo. Las asignaciones de ámbito se compilan
anticipadamente a las consultas y permiten que Analysis Services proporcione una
forma de ejecución optimizada cuando el cálculo se consulta. Dada su eficiencia, las
asignaciones de ámbito no solo pueden hacer el trabajo de varias medidas calculadas
sino que también pueden hacerlo más eficazmente. Por ejemplo, en una solución de
presupuestos, desea asignar el presupuesto del año próximo para que el área Este tenga
el noventa por ciento del presupuesto del año actual. Desea que el nuevo presupuesto
de la región Oeste sea del setenta y cinco por ciento del presupuesto del año actual.
Desea que el nuevo presupuesto de la región Sur sea del ciento cinco por ciento del
presupuesto del año actual y que el nuevo presupuesto de la región Norte sea el mismo
que su presupuesto del año actual. En lugar de escribir una única medida calculada
compleja con instrucciones IF anidadas o varias medidas calculadas que segreguen
cada escenario de presupuesto individualmente, puede utilizar asignaciones de ámbito
para aplicar eficazmente estas proporciones en la región y después agregar los totales
de los datos. Por ejemplo, si deseara convertir el importe de las ventas en una divisa
extranjera mediante tasas de cambio diarias, podría usar la expresión MDX siguiente:
Scope([Date].[Date]);
This = [Measures].[Sales Amount] * [Measures].[Daily FX Rate];
End Scope;
En el modelado tabular, para crear los cálculos se usa DAX. Como se mencionó
anteriormente, en el modelo tabular, los cálculos de fila se aplican creando columnas
calculadas. También puede aplicar los cálculos cuando crea una medida escribiendo
una expresión DAX. Dado que usa explícitamente una combinación de funciones de
agregación y de fila DAX, las medidas de los modelos tabulares son muy flexibles.
Puede aplicar las funciones de filas y después aplicar una función de agregación
de modo que la medida aplique los cálculos antes de la agregación o puede aplicar
primero las funciones de agregación y después aplicar las funciones de fila de modo
que la medida aplique los cálculos después de las agregaciones.
DAX puede evaluar dinámicamente una fórmula en varios contextos de datos diferentes
(no solo la vista actual de una hoja de cálculo de Excel o una tabla dinámica) mediante
un conjunto especial de funciones denominadas funciones FILTER. En el sentido más
amplio, estas funciones tienen un fin similar a las asignaciones de ámbito de Analysis
Services en que le permiten definir y realizar un cálculo sobre un conjunto específico
de filas. Por ejemplo, puede utilizar funciones FILTER para controlar el ejemplo del
presupuesto descrito anteriormente.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
14
Escenarios de lógica empresarial
Ahora que conoce bien cómo puede crear y aplicar lógica empresarial básica en MDX
y DAX, considere los siguientes escenarios de cálculo para comparar y contrastar las
experiencias de modelado tabular y de modelado multidimensional.
Lógica de jerarquía
Según se ha indicado anteriormente, las jerarquías proporcionan un modo de que los
usuarios empresariales exploren los datos en profundidad o los resuman durante el
análisis de datos. En algunas situaciones, resulta útil crear cálculos que naveguen por la
jerarquía. Por ejemplo, considere una dimensión de producto donde tiene un producto
y una categoría y una subcategoría de producto. Para cada nivel de la jerarquía, desea
agregar un cálculo que mida el modo en que los miembros de cada nivel contribuyen
al total de ventas del elemento primario. Esto se conoce como porcentaje del cálculo
primario determinado que debe navegar por la jerarquía para devolver el valor deseado.
Tanto MDX como DAX proporcionan funciones para trabajar con los datos que se
organizan en una jerarquía y crean cálculos como un porcentaje de elementos primarios;
sin embargo, las funciones MDX tienden a ser más sencillas y más fáciles de utilizar. Por
ejemplo, en MDX, esta la expresión que proporciona el porcentaje de elementos primarios
de la dimensión de productos.
[Measures].[Sales Amount] /
([Product].[Product Categories].CurrentMember.Parent, [Measures].[Sales
Amount])
Esta expresión más compleja se requiere para crear el mismo porcentaje de cálculos
primarios utilizando DAX.
IF(
ISFILTERED(Product[Product])
,[Sales]/CALCULATE([Sales],ALL(Product[Product]))
,IF(
ISFILTERED(Product[Subcategory])
,[Sales]/CALCULATE([Sales],ALL(Product[Subcategory]))
,1
)
)
Resúmenes personalizados
Aunque el resumen uniforme de los datos es aplicable en muchos escenarios, también
hay situaciones en las que se desea tener un control más exhaustivo sobre el modo en
que los datos se acumularán. Un ejemplo de esto es el caso de los modelos financieros
en los que hay un gráfico de cuentas (normalmente, en forma de elementos primarios
y secundarios) con la lógica de resumen específica necesaria para cada cuenta. Como
se muestra aquí, el cálculo del margen bruto son las ventas netas menos el costo de
ventas total, y el cálculo del beneficio operativo es el margen bruto menos los gastos
de funcionamiento.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
15
Los modelos multidimensionales no solo permiten usar directamente las jerarquías de
elementos primarios y secundarios, también ofrecen funciones integradas de inteligencia
para las cuentas, lo que posibilita aplicar fácilmente los operadores unarios y las fórmulas
MDX en las cuentas que permiten el resumen de los datos.
En los modelos tabulares, la inteligencia de cuentas o elementos primarios y secundarios
no está integrada, pero puede generar su propia solución utilizando una combinación
de columnas calculadas y de medidas para crear la jerarquía de elementos primarios
y secundarios, y aplicar el resumen personalizado.
Medidas semiaditivas
En general, las medidas semiaditivas son aquellas que se agregan uniformemente en
todas las dimensiones a excepción de la fecha. Algunos ejemplos de medidas semiaditivas
son el saldo de apertura y el de cierre. Con estas medidas, desea aplicar una lógica
especial para sumar correctamente los datos por período de tiempo. Entonces, el cierre
del inventario actual del mes de marzo no es la suma del inventario disponible de todos
los días de marzo. Además, este cierre también debe funcionar correctamente en todos
los atributos de fecha como el trimestre y el año. Por ejemplo, el cierre del inventario
disponible para el primer trimestre debe ser el mismo que el notificado el 31 de marzo
(suponiendo que el 31 de marzo sea el último día del primer trimestre).
Los modelos multidimensionales proporcionan directamente compatibilidad con las
medidas semiaditivas a través de funciones especiales de agregado como son First Child,
Last Child, FirstNonEmptyChild y LastNonEmptyChild. Si estas funciones de agregado
no satisfacen los requisitos de su lógica concreta, también puede escribir fórmulas de
MDX personalizadas.
Los modelos tabulares proporcionan funciones similares como ClosingBalanceMonth
y OpeningBalanceMonth. Hay funciones adicionales aplicables a través de otros atributos
de fecha como el trimestre y el año.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
16
Inteligencia de tiempo
Casi todas las soluciones de BI que encuentre requerirán inteligencia de tiempo.
La inteligencia de tiempo incluye la capacidad de calcular resúmenes hasta la fecha
y comparaciones con años anteriores. Tanto MDX como DAX proporcionan funciones
de series de tiempo; sin embargo, cada uno utiliza un diseño ligeramente diferente
de modelo de datos.
Los modelos multidimensionales ofrecen directamente funciones de inteligencia de
tiempo a través del Asistente de Business Intelligence de Analysis Services. Con este
asistente, los cálculos de tiempo se pueden agregar al diseño de la dimensión de tiempo
y también aplicarse a todas las medidas del modelo. Aunque a través del asistente se
pueden crear los cálculos en el momento de la compilación, también puede escribir sus
propios cálculos MDX dentro del modelo multidimensional.
En los modelos tabulares, aunque no haya ningún asistente para crear cálculos de
inteligencia de tiempo, puede crear los cálculos manualmente creando fórmulas DAX
que aprovechen funciones como TOTALMTD, TOTALYTD o SAMEPERIODSLASTYEAR.
KPI
Los indicadores clave de rendimiento (KPI) identifican las medidas especiales que se
desea supervisar con respecto a un valor de destino mediante un indicador visual como
una palabra irrelevante. Tanto los modelos multidimensionales como los tabulares
proporcionan compatibilidad con los KPI. Ambos ofrecen la posibilidad de asignar un
destino para una medida y usar la comparación de la real con la de destino para evaluar
el estado de rendimiento de la misma. Los modelos multidimensionales permiten además
evaluar la tendencia del KPI y asignar un indicador visual independiente para representar
cómo se comporta el KPI con el tiempo.
Conversión de moneda
Las conversiones de moneda requieren la conversión de los datos de una o varias
monedas de origen en una o varias monedas de un informe. Por ejemplo si una
organización procesa las transacciones de ventas en EUR, JPY y dólares
estadounidenses, para consolidar los informes de ventas en toda la organización,
debe convertir las transacciones de venta en una o varias monedas para el informe.
Para implementar conversiones de moneda en cualquiera de los tipos de modelado,
debe acceder a los datos de la tasa de cambio de moneda e incluirlos en el modelo.
En los modelos multidimensionales, puede utilizar el Asistente de Business Intelligence
de Analysis Services para crear cálculos de conversión de moneda MDX optimizados
para admitir diversas monedas de informes y de origen. En un modelo tabular, puede
generar su propia solución de conversión de moneda creando fórmulas DAX.
Conjuntos con nombre
En el modelado multidimensional, los conjuntos con nombre permiten devolver un
conjunto de miembros de dimensión que suelen usarse en las aplicaciones de informes.
Por ejemplo, puede crear un conjunto con nombre para devolver los últimos doce meses.
Crear este conjunto con nombre dentro de un cubo le permite definir de forma centralizada
la lógica de conjuntos, para acceder al conjunto desde cualquier aplicación de informes
y simplificar la lógica almacenada dentro de la aplicación de informes. Para crear el
conjunto con nombre Últimos 12 meses, podría utilizar la siguiente expresión MDX.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
17
Create Set CurrentCube.[Últimos 12 meses] As
Max([Date].[Calendar].[Month]).Lag(11):Max([Date].[Calendar].[Month])
Los conjuntos con nombre no están disponibles en el modelado tabular.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
18
Acceso a datos y almacenamiento
Rendimiento y escalabilidad
El rendimiento y la escalabilidad son los factores esenciales que deben considerarse en
una solución BI. Dado que cada uno de los tipos de modelado saca provecho de diferentes
tecnologías subyacentes, tiene distintas características de rendimiento y se comporta
de forma diferente en este sentido, para considerar convenientemente qué tipo de
modelado se adecúa mejor a sus necesidades debe conocer todas estas diferencias.
Modelos multidimensionales
Como se indicó anteriormente en las notas del producto, los modelos multidimensionales
de Analysis Services usan un motor OLAP. En el disco, los datos OLAP se pueden
almacenar en las arquitecturas de datos MOLAP y ROLAP. En MOLAP, los datos se
almacenan en el disco en formato multidimensional optimizado con la compresión
triple típica. En ROLAP, los datos se almacenan en la base de datos relacional de origen.
Al pensar en el rendimiento, normalmente será útil considerarlo en dos depósitos:
el rendimiento de las consultas y el del procesamiento.
Rendimiento de las consultas
El rendimiento de las consultas afecta directamente a la calidad de la experiencia del
usuario final. Por tanto, es la prueba comparativa principal que se usa para evaluar el
éxito de una implementación de OLAP. Analysis Services proporciona varios mecanismos
para acelerar el rendimiento de las consultas, como son las agregaciones, el almacenamiento
en caché y la recuperación de datos indizada. Además, puede mejorarlo optimizando
el diseño de los atributos de dimensiones, los cubos y las consultas MDX.
Una de las principales formas de optimizar el rendimiento de las consultas es mediante
agregaciones. Una agregación es un resumen precalculado de los datos que se usa
para mejorar el rendimiento de las consultas en los modelos multidimensionales. Al
consultar un modelo multidimensional, el procesador de consultas de Analysis Services
descompone la consulta en solicitudes para el motor de almacenamiento OLAP. Para
cada solicitud, el motor de almacenamiento primero intenta recuperar los datos de la
memoria caché del motor de almacenamiento en memoria. Si no hay datos disponibles
en la memoria caché, intenta recuperarlos de una agregación. Si no hay ninguna
agregación, los recupera de las particiones de un grupo de medida.
El diseño de agregaciones de datos implica identificar el esquema más eficaz de
agregaciones para la carga de trabajo de las consultas. Cuando diseñe las agregaciones,
debe considerar las ventajas de las consultas que estas ofrecen en comparación con el
tiempo necesario para crearlas y actualizarlas. De hecho, agregar agregaciones innecesarias
puede empeorar el rendimiento de las consultas porque, al acertarse poco, la agregación
se pasa a la memoria caché de archivos a costa de sacar alguna otra cosa.
Caching también es importante para la optimización del rendimiento de las consultas
de Analysis Services. Debe tener memoria suficiente para almacenar todos los datos
de dimensiones más el espacio para almacenar en caché los resultados de la consulta.
Durante la consulta, la memoria se utiliza principalmente para almacenar los resultados
en memoria caché de las memorias cachés del motor de almacenamiento y del procesador
de consultas. Para optimizar las ventajas del almacenamiento en caché, a menudo puede
aumentar la capacidad de respuesta de las consultas cargando previamente los datos
en una o en ambas memorias caché. Esto se puede hacer ejecutando previamente
una o varias consultas o mediante la instrucción create cache.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
19
Rendimiento del procesamiento
El procesamiento es la operación que actualiza los datos en una base de datos de
Analysis Services. Cuanto más rápido es el rendimiento del procesamiento, antes
pueden los usuarios acceder a los datos actualizados. Analysis Services proporciona
varios mecanismos para influir en el rendimiento del procesamiento, como son un
diseño eficaz de las dimensiones, las agregaciones y las particiones, y una estrategia
económica de procesamiento (por ejemplo, la incremental frente a la actualización
completa o el almacenamiento automático en caché).
Puede utilizar las particiones para separar los datos de medida (normalmente, los de la
tabla de hechos) en unidades físicas. El uso eficaz de las particiones puede mejorar el
rendimiento de las consultas y del procesamiento, así como facilitar la administración
de datos. Puede tener un diseño de agregaciones independiente y una programación
independiente de las actualizaciones para cada partición, lo que puede optimizar en
gran medida el rendimiento del procesamiento. También puede tener una combinación
de particiones MOLAP y ROLAP para cada tabla de hechos. Este tipo de estrategia
de partición se puede utilizar para permitir las consultas en tiempo real o el acceso
a conjuntos de datos demasiado grandes para procesarse en un cubo.
El uso de técnicas de optimización del procesamiento y las consultas como estas puede
ayudarle a ampliar los modelos multidimensionales para tratar terabytes de datos.
Para obtener más información sobre la optimización del rendimiento, vea la Guía de
rendimiento de Analysis Services 2008 R2
(http://sqlcat.com/sqlcat/b/whitepapers/archive/2011/10/10/analysis-services-2008-r2performance-guide.aspx).
Modelos tabulares
Los modelos tabulares usan el motor analítico xVelocity, que permite el procesamiento
de datos en memoria; o DirectQuery, que pasa consultas a la base de datos de origen
para aprovechar sus capacidades de procesamiento de consultas.
Las bases de datos de columnas y el procesamiento de datos en memoria presentan
ventajas similares. Las bases de datos de columnas permiten una mayor compresión
que el almacenamiento tradicional, que suele ser de hasta una décima parte, según
la cardinalidad de los datos. La cardinalidad de los datos se centra en caracterizar
la distribución de los datos en una única columna. Una alta cardinalidad de los datos
significa que los valores de una columna son únicos (por ejemplo, el número de
cliente). Una cardinalidad baja de los datos significa que los valores de una columna
pueden repetirse (por ejemplo, el sexo y el estado civil). Cuanto menor es la cardinalidad
de los datos, mayor es la compresión, lo que significa que caben más datos en la
memoria en un momento dado. Como modeladores de datos, es importante conocer la
cardinalidad de los datos para determinar qué conjuntos de datos son más adecuados
para el modelo tabular así como los requisitos de memoria asociados para admitirlo.
Rendimiento de las consultas
Cuando un usuario consulta un modelo tabular, el motor realiza exámenes de memoria
para recuperar los datos y calcular las agregaciones simultáneamente sin tener que
procesar la E/S de disco. Este enfoque puede proporcionar un rendimiento muy alto en
las consultas sin requerir una administración especial de la optimización y la agregación.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
20
La manera mejor y más sencilla de optimizar el rendimiento de las consultas para los
modelos tabulares es maximizar la memoria disponible. Desde la perspectiva de la
escalabilidad, el volumen de datos está limitado principalmente por la memoria física.
Se recomienda encarecidamente proporcionar suficiente memoria para contener todos
los datos del modelo tabular. En los escenarios en los que la memoria está limitada,
el motor en memoria también permite una paginación básica según la memoria física.
Además, hay opciones de configuración del servidor que permiten al departamento de
TI administrar de modo más específico la memoria disponible para los modelos tabulares.
Para obtener más información sobre la configuración de memoria del modelo tabular,
vea Propiedades de memoria (http://msdn.microsoft.com/es-es/library/ms174514.aspx).
Rendimiento del procesamiento
Los modelos tabulares presentan dos diferencias principales en el rendimiento del
procesamiento con respecto a los modelos multidimensionales:


A diferencia de los modelos multidimensionales, los modelos tabulares cargan
los datos directamente en memoria y no necesitan escribir datos en el disco
Dado que los modelos tabulares no clasifican los datos en grupos de medidas
y dimensiones, el procesamiento puede ser mucho más flexible. Ambas diferencias
implican que hay menos sobrecarga con cada actualización de datos, lo que,
a su vez, puede agilizar los tiempos de cambio y aumentar la agilidad.
Observe este ejemplo. En una organización es común que los agentes de ventas vayan
de una región a otra regularmente. Los usuarios empresariales desean ver los datos
de ventas acumuladas por las últimas asignaciones de agentes de ventas y de región.
En un modelo multidimensional, para realizar esta tarea, primero debe actualizar la
dimensión correspondiente a la organización de ventas. Una vez actualizada dicha
dimensión, debe actualizar la partición del grupo de medidas de ventas. Al actualizar la
partición de ventas, se actualizan tanto los datos detallados como las agregaciones. El
paso final de la preparación de los datos (como recomendación) es avisar a la memoria
caché de consultas de Analysis Services de que recupere los datos más útiles del disco
para la memoria.
Según el diseño del modelo de datos, el tamaño de los datos y su elección específica
de técnicas de procesamiento (incremental frente a procesamiento completo), esto
podría demorarse minutos u horas. Por suerte, hay diversas de técnicas probadas que
los profesionales de BI usan cada día para optimizar el procesamiento de los modelos
multidimensionales, ya que equilibran los requisitos de procesamiento de datos con las
exigencias de disponibilidad.
Ahora suponga el mismo escenario en un modelo tabular. En dicho modelo, no existe
el concepto de grupos de medidas y dimensiones. En su lugar, los datos se organizan
en tablas que tienen relaciones entre sí. Suponga que los datos de la organización de
ventas y los datos de ventas están cada uno en sus tablas respectivas con una relación
basada en el agente individual de ventas. Con este diseño, al actualizar la tabla de
organización de ventas, actualiza automáticamente las columnas calculadas, las relaciones
y las jerarquías de usuario afectadas. Esto significa que los datos de ventas reflejan
automáticamente los resúmenes actualizados de la región de ventas sin necesidad
de volver a procesar los datos de ventas. Esta flexibilidad puede proporcionar ventajas
significativas cuando tiene dimensiones que cambian con rapidez y necesita que los
datos reflejen las actualizaciones más recientes.
Además, observe que, con los modelos tabulares, tampoco es necesario generar
agregaciones, escribir los datos en disco, ni copiar la memoria caché de consultas para
obtener los datos en memoria. Con los modelos tabulares, los datos se pasan del disco
directamente a la memoria y están listos para moverse.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
21
Al igual que los modelos multidimensionales, los modelos tabulares permiten dividir
los datos de la tabla en particiones, eliminando la necesidad de un procesamiento
innecesario de los datos. Por ejemplo, puede dividir las tablas más grandes en varias
particiones, por ejemplo, en una partición mensual para cada mes del año actual
y luego en una partición anual para cada uno de los años anteriores. Este método le
permite aislar aquellas particiones de procesamiento que requieren una actualización.
A diferencia de lo que ocurre en los modelos multidimensionales, tenga en cuenta que,
aunque puede procesar varias tablas en paralelo, no puede procesar las particiones de
una tabla individual en paralelo.
DirectQuery
Como alternativa del modo en memoria xVelocity de los modelos tabulares, los
profesionales de BI también pueden generar modelos tabulares con el modo DirectQuery.
DirectQuery está disponible para los modelos tabulares con orígenes de datos de SQL
Server. DirectQuery permite invalidar el procesamiento de datos pasando cálculos
y consultas DAX a la base de datos de origen para aprovecharse de las capacidades
de SQL Server. Esto es especialmente útil con volúmenes grandes de datos que tienen
que actualizarse con frecuencia. Sin embargo, con DirectQuery, las columnas calculadas
y las funciones DAX no se admiten.
Programación
Los Objetos de administración de análisis (AMO) constituyen la API para desarrollar
y administrar los objetos de Analysis Services. Esta API se creó antes de que el modelado
tabular se agregara a Analysis Services y, por tanto, solo contiene las clases para los
objetos asociados tradicionalmente al modelado multidimensional: cubos, dimensiones,
grupos de medidas, scripts MDX, etcétera. Sin embargo, esta API se puede utilizar para
desarrollar y administrar modelos tabulares. Es una de las ventajas que presenta el
modelo semántico de BI al encapsular el modelado multidimensional y el tabular.
Mientras que los modelos tabulares y dimensional son distintos internamente, el BISM
muestra la misma interfaz externa. Aunque puede utilizar AMO para programar tanto
modelos tabulares como multidimensionales, es una interfaz menos intuitiva para los
modelos tabulares. Para obtener más información, incluido un ejemplo de código AMO
de modelo tabular, vea Tutoriales de Analysis Services (http://msdn.microsoft.com/eses/library/hh231701.aspx)
Seguridad
Tener una estrategia adecuada de seguridad de datos es importante para asegurarse
de que las personas adecuadas tengan acceso a los datos pertinentes. Las organizaciones
deben controlar el acceso a los datos para mantener protegidos los activos de datos
y cumplir la legislación relativa a la privacidad. Los modelos multidimensionales y los
modelos tabulares proporcionan un sólido conjunto de funciones que satisface una
amplia variedad de requisitos de seguridad. Existen pequeñas diferencias en las funciones
que es importante comprender antes de elegir la experiencia de modelado que mejor
satisfará sus necesidades de seguridad.
En Analysis Services, para administrar la seguridad de los proyectos tabulares
y multidimensionales, se crea un rol y se conceden permisos al mismo. A continuación,
se agregan los grupos y nombres de usuario de Windows al rol, con lo que se concede
el acceso a los usuarios correspondiente según los permisos del rol.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
22
Seguridad de filas y atributos
En un proyecto multidimensional, se usa el concepto de seguridad de los datos de
dimensiones para administrar el acceso de las filas. Para implementar la seguridad
de los datos de dimensiones para un rol, conceda o deniegue el acceso a los datos
de dimensión seleccionando los miembros de dimensión o anulando su selección.
También puede implementar una configuración de seguridad más compleja definiendo
un conjunto de miembros con una expresión MDX. También especifica si se debe
conceder o denegar acceso a los nuevos miembros de dimensión. El acceso que
conceda o deniegue a un miembro de dimensión afectará al acceso que un rol tiene
a los miembros de dimensión relacionados. Por ejemplo, si limita un rol de modo
que solo pueda tenerse acceso a él en la subcategoría de producto de bicicletas de
montaña, los miembros del rol solo pueden ver la categoría de producto de bicicletas
y los productos y ventas que pertenezcan a la subcategoría de bicicletas de montaña.
En un proyecto tabular, la seguridad de las filas se implementa concediendo acceso
a las filas de una tabla. En un proyecto tabular de SQL Server Data Tools, los permisos
se conceden especificando una expresión DAX que filtre las filas en una tabla. El rol
tiene acceso a las nuevas filas de la tabla si cumplen el filtro DAX. El acceso concedido
a una fila de una tabla repercute en el acceso que un rol tiene a las filas de las tablas
relacionadas. Si dos tablas tienen una relación de uno a varios, los filtros de fila de la
tabla en uno de los lados de la relación filtran las filas de la tabla del lado "varios",
pero no el otro. Por ejemplo, si limita un rol de modo que solo pueda ver la fila de
bicicletas de montaña en la tabla de subcategorías de producto, los miembros del
rol solo pueden ver las filas de las tablas de ventas y productos relacionadas con la
subcategoría de bicicletas. No obstante, los miembros del rol todavía podrán ver todas
las filas de la tabla de categorías de productos (bicicletas, ropa, etc.).
Seguridad dinámica
Es posible que una organización tenga que limitar el acceso a los datos en función del
identificador de un usuario u otros criterios dinámicos. Por ejemplo, los asociados solo
pueden ver sus propios datos de recursos humanos y rendimiento. Sin embargo, crear
un rol de seguridad para cada individuo de una organización puede resultar poco
práctico. En su lugar, puede implementar la seguridad dinámica, que permite dirigir la
lógica de seguridad según un identificador de usuario o algún otro criterio dinámico.
Tanto los proyectos tabulares como los multidimensionales admiten la seguridad
dinámica. Puede configurar la seguridad dinámica, basada en el usuario, si los datos
contienen una relación entre los identificadores de usuario y los usuarios de datos
tienen permiso de acceso, incluyendo la relación en la expresión MDX o DAX que se
use para administrar los permisos.
Seguridad de celda y avanzada
En muchas aplicaciones, es necesario restringir el acceso a los datos usando criterios
más complejos que una simple fila de una tabla. Suponga, por ejemplo, una encuesta
de satisfacción de los empleados que comparta los resultados de las agregaciones de
una encuesta de opinión. Estos modelos a menudo contienen datos confidenciales y las
respuestas individuales de la encuesta se deben proteger. Aunque el modelo no puede
contener los nombres de las personas, si el tamaño de la muestra es lo suficientemente
pequeño, puede deducirse la identidad de cada destinatario. En estos casos, puede ser
conveniente implementar una lógica más compleja que observe el tamaño de la muestra
y solo permita el acceso a la medida resultante si el número de respuestas es mayor
que cierta cantidad. Además, puede haber preguntas concretas y combinaciones
métricas que desearía restringir específicamente para que solo las vieran en el
departamento de Recursos humanos. Los proyectos multidimensionales que permiten
directamente implementar capacidades avanzadas de seguridad no están disponibles
en un proyecto tabular. En un proyecto multidimensional puede implementar la seguridad
de las celdas para restringir el acceso a una celda o grupo de celdas concretas del
modelo. La seguridad de las celdas no se proporciona en un modelo tabular.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
23
Además, los proyectos multidimensionales también le permiten controlar el uso de
totales visuales, conceder o denegar permisos para obtener datos detallados y crear
miembros predeterminados para cada rol.
En un proyecto multidimensional, los valores de resumen agregados previamente
se calculan cuando los datos se procesan en un modelo para mejorar los tiempos de
respuesta de las consultas. Por ejemplo, las ventas de todos los productos son un valor
precalculado. La seguridad de los datos de dimensiones se aplica una vez procesados
estos, de modo que, aunque solo se conceda permiso a un usuario para acceder a la
categoría de bicicletas, de forma predeterminada, el valor de las ventas de todos los
productos será la suma de las ventas de accesorios, bicicletas, ropa, etcétera. Esto
puede ser o no el valor que desea que vean los miembros del rol. En este caso, si desea
que el valor de las ventas para todos los productos se limite al valor de ventas de
bicicletas, debe habilitar los totales visuales. Al habilitar los totales visuales, se restringen
los valores de resumen de modo que deben ser iguales a la suma de los valores de detalle
a los que un rol tiene permiso de acceso. Este cambio afecta al tiempo de respuesta de
las consultas, ya que los valores de resumen deben calcularse en el momento de la
consulta. Los proyectos tabulares no precalculan los valores de resumen, de modo que
estos son siempre iguales que la suma de los valores de detalle, es decir, los totales
visuales siempre están habilitados en un modelo tabular.
En un modelo multidimensional, puede habilitar el permiso para obtener detalles de los
datos rol por rol. En un modelo tabular, los roles no se utilizan para controlar el acceso
a la función de obtención de detalles. En su lugar, todos los roles pueden obtener detalles.
En un modelo multidimensional, puede especificar un miembro predeterminado para
cada atributo de una dimensión. Un miembro predeterminado se comporta como un
filtro que se aplica de modo automático. Por ejemplo, si el miembro predeterminado
de Año es 2012, de forma predeterminada solo se muestran los datos para 2012.
Sin embargo, un usuario puede elegir ver datos de otro año o los de todos los años.
En un modelo multidimensional, puede configurar un miembro predeterminado para
cada atributo que se aplique a todos los roles o puede especificar otro miembro
predeterminado diferente rol por rol. En un modelo tabular, no puede especificar
un valor predeterminado. En cambio, si se desea un filtro predeterminado, tendrá
que configurar esa capacidad en la herramienta de análisis e informe.
Resumen
En SQL Server 2012, Microsoft incluyó por primera vez el Modelo semántico de Business
Intelligence (BISM, Business Intelligence Semantic Model) para dar cabida una amplia
variedad de necesidades de informes y análisis. Las dos experiencias de modelado
encapsuladas en el BISM, el modelado multidimensional y el modelado tabular,
le proporcionan características complementarias para aprovechar las funciones que
mejor se adaptan a sus necesidades.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
24
El modelado tabular proporciona una experiencia de modelado accesible directamente
a través de funciones que satisfarán la mayoría de las necesidades de informes y análisis.
La mayor parte de los usuarios ya saben trabajar con las tablas y las relaciones y aprenden
rápidamente a implementar la lógica empresarial con un lenguaje DAX como el de Excel.
La facilidad de uso y el modelado simplificado y flexible que proporciona la experiencia
tabular implica que las soluciones se pueden desarrollar rápidamente. El motor xVelocity
en memoria con columnas proporciona una respuesta extremadamente rápida a las
consultas en conjuntos de datos que pueden contener mil millones de registros. Los
modelos tabulares admiten todas las herramientas de análisis e informes que generan
consultas MDX, como Excel y Reporting Services, y también admiten Reporting Services
Power View, que genera consultas DAX.
El modelado multidimensional ofrece numerosas funciones para ayudar a superar los
desafíos de BI más complejos y a mayor escala. El modelo de datos multidimensional
combinado con MDX proporciona directamente la funcionalidad necesaria para crear
modelos sofisticados e implementar una lógica empresarial compleja. El almacenamiento
de datos en disco, los agregados precalculados y el almacenamiento en caché en
memoria posibilitan que los modelos multidimensionales crezcan hasta un tamaño
de varios terabytes y agilicen la respuesta de las consultas. Gracias a la seguridad
de las celdas, puede satisfacer rigurosos requisitos de seguridad.
En resumen, el modelado tabular proporciona una experiencia de modelado
simplificada a través de funciones que deberían satisfacer la mayoría de sus necesidades
de informes y análisis. Si requiere un modelado, una lógica empresarial o una seguridad
complejos, o si necesita una solución a muy gran escala, el modelado multidimensional
puede ser la mejor solución para sus necesidades.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
25
En la tabla siguiente se proporciona una comparación resumida de las características de los modelos multidimensional y tabular.
Grupo de
características
Modelo de datos
Modelo de datos
Criterios de
decisión
Tiempo de la
solución
Curva de
aprendizaje
Relaciones de
datos
Multidimensional/
Tabular
/
/
/
Jerarquías
/
Modelo de datos
Lógica empresarial
Lógica empresarial
Lógica empresarial
Características de
modelado de
datos adicionales
Idioma de cálculo
Cálculos
Funciones de
agregación
/
/
/
/
Modelado
multidimensional
Mayor tiempo de la solución.
Modelado
tabular
Menor tiempo de la solución.
El modelado dimensional y el lenguaje
MDX crean una curva de aprendizaje
más escarpada pero proporcionan
funciones más complejas.
El modelado relacional y el lenguaje
DAX al estilo de Excel crean una curva
de aprendizaje menos escarpada pero
las funciones complejas pueden requerir
expresiones DAX sofisticadas.
Uno a varios.
La relación varios a varios requiere
expresiones DAX.
El modelado de las relaciones entre
tablas crean relaciones de referencia.
Compatibilidad con las jerarquías
estándar. Las jerarquías de elementos
primarios y secundarios requieren
expresiones DAX.
Perspectivas y obtención de detalles.
Uno a varios.
Varios a varios.
Las relaciones de referencia deben
modelarse explícitamente.
Compatibilidad con las jerarquías
estándar, desiguales y de elementos
primarios y secundarios
Perspectivas, traducciones, acciones,
obtención de detalles, procedimientos
almacenados y reescritura.
MDX
Compatibilidad con cálculos comunes
y complejos.
Sum, Count, Min, Max, Distinct Count,
None, ByAccount, AverageOfChildren,
FirstChild, LastChild, FirstNonEmpty
y LastNonEmpty.
DAX
Compatibilidad con cálculos comunes
y muy complejos.
Sum, Count, Min, Max, Average,
DistinctCount y varias funciones de
inteligencia de tiempo como FirstDate,
LastDate, OpeningBalanceMonth
y ClosingBalanceMonth.
Grupo de
características
Lógica empresarial
Criterios de
decisión
Lógica de jerarquía
Multidimensional/
Tabular
/
Lógica empresarial
KPI
Lógica empresarial
Conversión de
moneda
Acceso a datos
y almacenamiento
Acceso a datos
y almacenamiento
Escala
/
/
/
Rendimiento
/
Acceso a datos
y almacenamiento
Orígenes de datos
Acceso a datos
y almacenamiento
Lenguaje de
consulta
Modelado
multidimensional
Funciones para navegar por las
jerarquías estándar y de elementos
primarios y secundarios.
Real, objetivo, estado y tendencia
con indicadores gráficos
Admite la conversión de varias
monedas con el Asistente de Business
Intelligence.
Escala extremadamente grande
(varios terabytes)
Índices y valores de medidas
preagregados almacenados en el disco.
Datos de dimensión y resultados de
consultas almacenados en la memoria
caché. Compresión de datos
aproximadamente tres veces.
Bases de datos relacionales.
/
/
MDX
Modelado
tabular
Funciones DAX para navegar por las
jerarquías de elementos primarios
y secundarios, expresiones DAX para
implementar la lógica en dimensiones
estándar. La lógica de la jerarquía
normalmente es más difícil con DAX.
Real, objetivo y con indicadores gráficos.
Implementación con expresiones DAX.
Escala grande (mil millones de registros)
Almacenamiento de datos basado en
columnas en memoria. Compresión de
datos aproximadamente diez veces.
Bases de datos relacionales, Excel, Text,
fuentes OData, Azure Data Market,
Analysis Services.
DAX
MDX (solo modo en memoria)
Grupo de
características
Acceso a datos
y almacenamiento
Criterios de
decisión
Almacenamiento
de datos
Multidimensional/
Tabular
/
Acceso a datos
y almacenamiento
Acceso a datos
y almacenamiento
Compresión de
datos
Herramientas de
cliente
/
/
Acceso a datos
y almacenamiento
Programación
Seguridad
Seguridad
/
/
: menos funciones.
: más funciones.
Modelado
multidimensional
MOLAP: datos agregados, de
dimensiones y hechos almacenados
en el disco. Datos de dimensión
y resultados de consultas almacenados
en la memoria caché.
ROLAP: datos agregados, de dimensiones
y hechos almacenados en una base de
datos relacional.
Normalmente, tres veces.
Excel, Reporting Services, Microsoft
PerformancePoint y otras herramientas
de cliente de terceros.
Reporting Services Power View se
admitirá en versiones futuras de
SQL Server.
XMLA, ASSL, ADOMD.NET, MSOLAP,
AMO, Windows PowerShell para AMO.
Se han desarrollado para usarse con
modelos multidimensionales.
Miembro de dimensión y seguridad
en las celdas.
Seguridad dinámica.
Modelado
tabular
En memoria: todos los datos
almacenados en caché en memoria
que utilizan el motor analítico xVelocity
orientado a columnas
DirectQuery: datos almacenados
en SQL Server 2012.
Normalmente, diez veces.
Reporting Services Power View, Excel,
Reporting Services, PerformancePoint
y otras herramientas de cliente de
terceros.
XMLA, ASSL, ADOMD.NET, MSOLAP,
AMO, PowerShell para AMO.
Disponibles pero menos intuitivos para
usarse con modelos tabulares.
Seguridad en las filas.
Seguridad dinámica.
Para obtener más información
Sitio web de SQL Server
http://www.microsoft.com/sqlserver/
SQL Server TechCenter
http://technet.microsoft.com/es-es/sqlserver/
SQL Server DevCenter
http://msdn.microsoft.com/es-es/sqlserver/
Blog del equipo de Analysis Services y PowerPivot
http://blogs.msdn.com/b/analysisservices/
Analysis Services
http://msdn.microsoft.com/es-es/library/bb522607.aspx
Modelado multidimensional (SSAS)
http://msdn.microsoft.com/es-es/library/hh230904.aspx
Modelado tabular (SSAS tabular)
http://msdn.microsoft.com/es-es/library/hh212945.aspx
Característica por modo de servidor o tipo de solución (SSAS)
http://msdn.microsoft.com/es-es/library/hh212940(v=sql.110).aspx
¿Le sirvió de ayuda este documento? Por favor, proporciónenos su opinión. Díganos,
en una escala de 1 (poco útil) a 5 (excelente), cómo calificaría este documento y por
qué lo valora con esta puntuación. Por ejemplo:

¿Lo valora positivamente debido a que tiene buenos ejemplos, capturas
de pantalla excelentes, una redacción comprensible u otra razón?

¿Lo valora negativamente debido a que sus ejemplos son escasos, las capturas
de pantalla son borrosas o su redacción es poco clara?
Esta información nos ayudará a mejorar la calidad de las notas del producto que
publicamos.
Enviar comentarios.
Elegir un paradigma de modelado de datos en SQL Server 2012 Analysis Services
29
Descargar