Anuncios

martes, 14 de agosto de 2012

Ejemplos de MDX parte 2


Ya escribí en un artículo anterior sobre MDX.

En esta ocasión mostraré ejemplos de MDX. Estoy usando el ejemplo de adventureworks en SQL Server 2012. Se pueden bajar el ejemplo del siguiente link:

http://msftdbprodsamples.codeplex.com/releases/view/55330

Estos son apuntes extraídos del msdn y de http://www.mdxpert.com/Functions/FunctionList.aspx
http://msdn.microsoft.com/es-es/library/ms145970

La función parent
Retorna al padre de una dimensión, en este ejemplo el padre de New South Wales es Australia.
 SELECT [Measures].[Internet Freight Cost] on 0,
[Geography].[Geography].Australia.[New South Wales].Parent on 1

from [Adventure Works]

La función Children

Muestra los hijos de una dimensión. El siguiente ejemplo muestra a los hijos de New South Wales
 SELECT [Measures].[Internet Freight Cost] on 0,
[Geography].[Geography].Australia.[New South Wales].Children on 1

from [Adventure Works]

La función ancestor en MDX
Retorna los ancestros en diferentes niveles. En este ejemplo muestra los ancestros de Alejandría a nivel 1.

 SELECT [Measures].[Internet Freight Cost] on 0,
{Ancestor([Geography].[Geography].Australia.[New South Wales].Alexandria,1)} on 1

from [Adventure Works]


Uso de NextMember
 SELECT [Measures].[Internet Freight Cost] on 0,
{[Geography].[Geography].[Canada].NextMember}  on 1

from [Adventure Works]

Uso de Siblings, hermanos
SELECT
      {[Measures].[Internet Total Product Cost]} ON COLUMNS,
      {[Customer].[Customer Geography].[Country].Canada.Siblings} ON ROWS
 FROM
      [Adventure Works]

Count para contar miembros de una dimensión
Count cuenta los miembros de una dimensión. En el siguiente ejemplo se cuenta el numero de paises de una dimensión:
WITH
MEMBER [Measures].[numeropaises] AS
[Geography].[Geography].[Country].Members.Count
SELECT
{[Measures].[numeropaises]} ON COLUMNS
FROM
[Adventure Works]

Para contar niveles de dimensiones
WITH
      MEMBER [Measures].[NumeroNiveles] AS
    [Geography].[Geography].Levels.Count
SELECT
      [Measures].[NumeroNiveles] ON COLUMNS
     
FROM
      [Adventure Works]

Para mostrar múltiples miembros con cálculos realizados:


WITH MEMBER Measures.[ventas]
as
[Measures].[Internet Extended Amount]+45 /13

MEMBER Measures.[ventas2]
as
[Measures].[Internet Extended Amount]+45
select {Measures.[ventas],Measures.[ventas2]} on 0,

[Date].[Calendar].[Calendar Year].members ON 1

FROM [Adventure Works]

People who read this post also read :