De nuevo retomamos las entregas del curso de BI que venimos impartiendo, esta será la entrega número 41, cómo pasa el tiempo, ya estamos en la recta final 🙂 En esta ocasión nos centraremos en las Medidas y Grupos de Medidas del cubo.

Vamos a comenzar a estudiar más a fondo las medidas y grupos de medidas. Una medida es un hecho cuantificable que queremos analizar. Generalmente representa una columna de la tabla de hechos, habitualmente con datos numéricos, y por tanto cuantificables y agregables. También puede definirse una medida calculada utilizando una expresión MDX basada en otras medidas del cubo.

Un grupo de medidas es un conjunto de medidas, que procede generalmente de una misma tabla de hechos. Se utilizan para asociar dimensiones a medidas, como veremos más adelante.

Figura 0‑18 Medidas y Grupos de Medidas

Figura 0‑18 Medidas y Grupos de Medidas

Propiedades de los Grupos de Medidas

A continuación vamos a enumerar y definir algunas de las propiedades más significativas de los grupos de medidas:

  • ErrorConfiguration. Permite configurar el comportamiento de los errores. Puede tener dos valores: Predeterminada, Personalizada. El valor por defecto es Predeterminada. Si lo cambiamos a Personalizada, aparecerán otra serie de propiedades para configurar qué acción realizar ante diferentes casos, como aparición de duplicados, de miembros desconocidos, aparición de errores, etc. Para ello tenemos disponibles las propiedades KeyDuplicate, KeyErrorAction, KeyErrorLimit, KeyErrorLogFile, KeyErrorLimitAction, KeyNotFound, NullKeyConvertedToUnknown y NullKeyNotAllowed.
  • StorageLocation. Especifica la ubicación de almacenamiento para el grupo de medidas. Si no se especifica ninguna ubicación, se almacena en la misma que la base de datos en la que está este cubo.
  • ProactiveCaching. Configuración de almacenamiento en caché automático para el grupo de medidas.
  • StorageMode. Modo de almacenamiento predeterminado para el grupo de medidas. Por defecto tendrá el mismo modo de almacenamiento que el cubo.

 

Propiedades de las Medidas

Haremos lo mismo para las medidas, citando las propiedades más significativas y poniendo ejemplos de uso:

  • Name. Especifica el nombre del objeto, en este caso de la medida.
  • Source. Especifica los detalles del enlace (binding) de la medida a la columna del Data Source View que contiene dicha medida.
  • FormatString. Permite elegir el formato en el que se presentará la información en el cliente. Puede utilizar algunos formatos predeterminados, como Currency, C2, Standard, … y otros personalizados como #.#, #,##0.00 … Permite todas las expresiones de formato disponibles en MS Visual Basic.
  • MeasureExpression. Define la fórmula utilizada para calcular el valor de la medida, basándose en otras medidas, que pueden ser del mismo o de otro grupo de medidas. Tiene las siguientes restricciones: sólo pueden intervenir dos medidas, y sólo pueden intervenir los operadores de multiplicación “*” y división “/”.
  • DisplayFolder. Permite especificar la carpeta en la que aparecerá la medida en las herramientas cliente, facilitando así la clasificación y presentación al usuario.
  • Visible. Determina si esta medida estará visible o no para el usuario. A veces nos encontramos con medidas que no queremos mostrar, pero sí utilizarlas, por ejemplo, en otros cálculos.
  • AggregateFunction. Determina cómo se agregan las medidas. Dado que es un punto más amplio que los anteriores pasaremos a describirlo a continuación.

 

Analysis Services proporciona diversas funciones de agregación, que nos permiten agregar la información en las dimensiones. De manera predeterminada, la función de agregación es la suma, pero este comportamiento se puede modificar a través de la propiedad AggregateFunction vista anteriormente.

Según el grado de agregación, podemos clasificar estas funciones en:

  • Aditivas: se pueden agregar, sin restricciones, en todas las dimensiones que están incluidas en el grupo de medidas. Funciones aditivas:
  • Sum
  • Semi-aditivas: se pueden agregar sólo en algunas de las dimensiones que están incluidas en el grupo de medidas, pero no en todas. Veamos un ejemplo de lo que significa semi-aditividad: el stock disponible puede agregarse para la dimensión Geografía, ya que tiene sentido que sumemos el stock de todos nuestros almacenes a una fecha dada; pero no para la dimensión Tiempo, no tiene sentido que sumemos el stock de varios días. Funciones semi-aditivas:
  • Count
  • Min / Max
  • ByAccount
  • AverageOfChildren
  • FirstChild / LastChild / FirstNonEmpty / LastNonEmpty
  • No aditivas: no se pueden agregar para ninguna dimensión incluida en el grupo de medidas. Funciones no aditivas:
  • DistinctCount
  • None

 

Salvador Ramos

Consultor, Formador y Mentor en Business Intelligence. SQL Server MVP.
Director de Formación en SolidQ.
Microsoft MCSE 2012: Business Intelligence.

Latest posts by Salvador Ramos (see all)