En un blog especializado de SQL Server 2005 publican una serie de tips y trucos para MDX
Dentro de las principales tips y trucos estan los siguientes:
- Para filtrar un SET, usar el filtro dentro del crossjoin.
- Incorrecto:
- Filter(NonEmptyCrossJoin({set1},{set2}),..)li>
- Correcto:
- NonEmptyCrossJoin(filter({set1},…),{set2})
- Incorrecto:
- Para checar si un MEMBER existe en un SET, usar el RANK en lugar de usar INTERSECT
- Incorrecto:
- iif(Intersect({Set_Prueba},{[Dimension].[Jerarquia].currentmember}).count)>0
- Correcto:
- iif(rank([Dimension].[Jerarquia].currentmember, {Set_Prueba})>0
- Incorrecto:
- Usar el simbolo “-” para filtrar un solo MEMBER de un SET
- {Set_Prueba} – [Dimension].[Jerarquia].&[id_miembro]
Esto es la primera parte de estos tips y trucos, el artículo completo está en http://blogs.msdn.com/sqlcat/archive/2006/10/12/best-sql-server-2005-mdx-tips-and-tricks-part-1.aspx