Navegación

Navegación Meritxell 29 Septiembre, 2014 - 15:53

CurrentMember

CurrentMember Meritxell 2 Octubre, 2014 - 12:18

La función MDX currentmember devuelve el miembro corriente. Esto significa que devolverá el miembro que en ese momento esta seleccionado. Si no existe ningún miembro seleccionado se cogerá el miembro de default, que normalente es ALL. Por tanto, si queremos sacar una medida y no especificamos ninguna dimension siempre nos sacará el miembro de default.

Esta función incluye otra llamada name que nos informa del nombre del miembro corriente.

Un ejemplo de esta funcion usando una Query seria:

select [Dim Cliente].[Zonas Clientes].currentmember on columns
from [Analysis DW]

 

Resultado:

Llamada name

Como podemos ver, el miembro corriente de la dimension cliente es el miembro ALL llamado en este caso Todos los Clientes., que es el miembro por defecto.
 

DefaultMember

DefaultMember Meritxell 2 Octubre, 2014 - 12:18

La función DefaultMember devuelve el miembro por defecto.

Para seguir con el ejemplo anterior, si queremos saber el miembro por defecto de la dimension Cliente haremos lo siguiente:

select [Dim Cliente].[Zonas Clientes].DEFAULTMEMBER on columns
from [Analysis DW]

 

Resultado:

Llamada name

Como podemos ver, es el mismo resultado ya que en este caso el miembro corriente y el miembro de default es el mismo. 

Children

Children Meritxell 2 Octubre, 2014 - 12:19

La función Children de MDX saca a partir de un miembro de una jerarquía todos sus hijos.

Ejemplo:

Se quiere sacar el importe de los pedidos de los hijos de la zona de Barcelona.

select [Dim Cliente].[Zonas Clientes].[Zona].&[1].CHILDREN on rows,
       [Measures].[Importe Pedido] on columns
from [Analysis DW]

 

Resultado:

 

PrevMember

PrevMember Meritxell 2 Octubre, 2014 - 12:21

La función PrevMember de MDX nos devuelve el miembro anterior al seleccionado o CurrentMember.

Ejemplo:

Queremos saber el importe de los pedidos del año 2006 y de su miembro anterior, es decir, del 2005.

Select {([Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].[Año].&[2006],
         [Measures].[Importe Pedido] ),
        ([Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].[Año].&[2006].prevmember,          [Measures].[Importe Pedido])} on columns
from [Analysis DW]

 

Resultado:

 

 

Ascendants

Ascendants Meritxell 2 Octubre, 2014 - 12:23

La función Ascendants de MDX devuelve el conjunto de antecesores de un miembro.

Ejemplo:

Query que devuelve el importe de pedidos por cada uno de los antecesores del mes de marzo del 2006

select ASCENDANTS([Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].
                                [Año].&[2006].&[1.].&[3.]) on columns,
       [Measures].[Importe Pedido] on rows
from [Analysis DW]

 

Resultado:

Función Ascendans

 

Descendants

Descendants Meritxell 2 Octubre, 2014 - 12:24

La función Descendants de MDX devuelve el conjunto de descendientes de un miembro.

Sintaxis:

DESCENDANTS (Miembro, nivel)

Ejemplo:

Importe de los descendientes del año 2006 a nivel de mes, sabiendo que la jeraquia es año-trimestre-mes-fecha

select descendants ([Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].
                                  [Año].&[2006],2) on columns,
       [Measures].[Importe Pedido] on rows
from [Analysis DW]

 

Resultado:

Función descendants

 

Si lo hacemos a nivel de trimestre será:

select descendants ([Dim Periodo].[Año - Trimestre - Mes - Fecha Iso].
                    [Año].&[2006],1) on columns,
       [Measures].[Importe Pedido] on rows
from [Analysis DW]

 

Resultado:

Función Decendants