Hoy es mi 30 cumpleaños, así que antes de desaparecer en el pub para comprar todos los otros una pinta (que es la extraña tradición en mi lugar de trabajo), pensé en marcar el día con una entrada rápida en el blog…
La propiedad MemberValue es algo que vi en BOL hace un tiempo, pero realmente no entendía para qué servía. No fue hasta que George, Siva y otros comenzaron a discutir esto para ‘MDX Solutions’ que realmente entendí por qué es tan útil: es para ocasiones en las que desea vincular un valor que no sea una leyenda a un miembro, y no desea meterse con usted mismo creando un atributo separado para ese valor. Entonces, por ejemplo, imagine que todos sus productos tienen un atributo de peso (por ejemplo, 10 kg, 15 kg, 80 kg) y desea ejecutar consultas como a) Muéstrame las ventas de productos que pesan 10 kg y b) Muéstrame las ventas desglosadas por peso para productos que pesen más de 30Kg. En AS2K, podría haber terminado haciendo esto al tener dos propiedades de miembro separadas para el peso: una que contenía una cadena amigable, como «10Kg», a partir de la cual podía crear una dimensión virtual o mostrar en una consulta y una segunda, que contenía solo el valor numérico como «10», para un filtrado más fácil (aunque aún tenía que convertirlo en un número entero antes de poder hacerlo). En AS2005, todo lo que tiene que hacer es vincular la descripción descriptiva a la propiedad NameColumn y el valor adecuado para el filtro a la propiedad ValueColumn (que, dicho sea de paso, se escribe). La propiedad MemberValue de un miembro le permite obtener ese valor de retorno en MDX. Aquí hay un ejemplo de AdventureWorks, que muestra cómo el miembro del año calendario tiene un nombre como «CY2001», pero aún puede obtener el año en un número entero pequeño sin el bit «CY» al frente:

CON

MIEMBRO MEDIDAS.DEMO ME GUSTA [Date].[Calendar].MIEMBRO ACTUAL.VALOR DE MIEMBRO

PARA SELECCIONAR

{[Measures].[Internet Sales Amount]MEDIDAS.DEMO} A 0,

FILTRADO

(

[Date].[Calendar].[Calendar Year].

MIEMBROS

, [Date].[Calendar].

MIEMBRO ACTUAL.VALOR DE MIEMBRO>2001.5)

A

1

A PARTIR DE

[Adventure Works]

Eche un vistazo a Period en el Editor de dimensiones de Visual Studio para ver exactamente cómo funciona todo. Si no establece nada en ValueColumn, MemberValue devuelve la clave si no hay un enlace de nombre o si la clave y el título están vinculados a la misma columna, o en su defecto, el título del miembro.