Los miembros Calculados son cálculos hechos con expresiones MDX. Un ejemplo típico de miembro calculado es el calculo Year-To-Date (YTD) de las ventas de los productos. Esto puede ser especificado por una expresión MDX usando la cláusula WITH. Por tanto, se podrán devolver las ventas no sólo de cada mes sino también las ventas de los meses desde inicio de año hasta el mes corriente.
La fórmula de la clausula WITH para crear un miembro calculado es:
Formula_expression := MEMBER <MemberName> AS [‘]<MDX_Expression>[‘],
[ , SOLVE_ORDER = <integer>]
[ , <CellProperty> = <PropertyExpression>]
El Solve_Order es un parámetro opcional el valor del cual debe ser un entero positivo. Este parámetro determina el orden en que deben ser evaluados los miembros siempre y cuando se hayan definido más de un miembro dentro de la clausula WITH.
El CellProperty es también un parámetro opcional que se usa para especificar las propiedades de la celda para el miembro calculado, como por ejemplo el formato del texto de la celda, incluído el color de fondo.
Los miembros calculados pueden ser utilizados como medidas o como miembros. Por tanto, si creamos un miembro tenemos que especificar dónde se quiere guardar su definición, si en la dimensión Measures y por tanto será una medida, o por el contrario en cualquier otra dimensión, que entonces será un miembro.
Es importante saber que de un miembro calculado sólo se guarda su definición, y es en el momento de su utilización cuando se calcula. Por tanto, esto hace que no se incremente la dimensión del cubo. También se debe saber que los miembros calculados se deben basar en datos existentes en el cubo.
Para crear estos miembros MDX dispone de una gama de funciones que ofrecen una extrema flexibilidad a la hora de manipular los datos multidimensionales.
Ejemplo de Miembros calculados con el cubo AnalysisDW
With Member [Measures].[PorcentajePedidos] as
'([Measures].[ImportePedido]/[Measures].[Cantidad Pedida])'
Select [Measures].[PorcentajePedidos] on columns,
[Dim Cliente].[Zonas Clientes].members on rows
from [Analysis DW]
Resultado:
Combinación de Miembros calculados y conjuntos con nombres dentro de una misma clausula WITH
with set [Provincia Barcelona] as
'{[Dim Cliente].[Zonas Clientes].[Zona].&[1],
[Dim Cliente].[Zonas Clientes].[Zona].&[2]}'
Member [Measures].[PorcentajePedidos] as
'([Measures].[Importe Pedido]/[Measures].[Cantidad Pedida])'
Select [Measures].[PorcentajePedidos] on columns,
[Provincia Barcelona] on rows
from [Analysis DW]
Resultado:
Ejemplo de creación de miembros calculados MDX con SSAS
Vamos a añadir un miembro dentro de una dimensión y no como una medida. El miembro lo añadiremos en el año de la dimensión dim_periodo y calculará el sumatorio de los años 2005 y 2006.
La configuracion para crear un miembro calculado con una expresión SSAS es:
Resultado: