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]

Comentarios

Entradas populares de este blog

The Deep Sea: una web interactiva para explorar las profundidades el mar y descubrir las extrañas criaturas que viven en él

Detectar el usuario de Windows utilizando C#

Lo nuevo de SQL Server 2008 respecto a SQL Server 2005