1、使用Filter函数(http://msdn.microsoft.com/zh-cn/library/ms146037.aspx)
例6-14
SELECT
{
([Measures].[Reseller Sales Amount]),
([Measures].[Internet Sales Amount])
} ON COLUMNS, Filter( {[Product].[Product].[Product].Members}, ([Measures].[Internet Sales Amount]) > ([Measures].[Reseller Sales Amount]) ) ON ROWS
FROM [Step-by-Step]
;
例6-15
SELECT
{
([Measures].[Reseller Sales Amount]),
([Measures].[Internet Sales Amount])
} ON COLUMNS, Filter(
{[Product].[Product].[Product].Members},
([Measures].[Internet Sales Amount]) > ([Measures].[Reseller Sales Amount]) AND
(
[Product].[Category].CurrentMember Is [Product].[Category].[Clothing] OR
[Product].[Category].CurrentMember Is [Product].[Category].[Accessories]
) ) ON ROWS
FROM [Step-by-Step]
;
例6-16
SELECT
{
([Measures].[Reseller Sales Amount]),
([Measures].[Internet Sales Amount])
} ON COLUMNS, Filter(
{[Product].[Product].[Product].Members},
([Measures].[Internet Sales Amount]) >
([Measures].[Reseller Sales Amount]) AND NOT (
[Product].[Category].CurrentMember Is [Product].[Category].[Clothing] OR
[Product].[Category].CurrentMember Is [Product].[Category].[Accessories]
)
) ON ROWS
FROM [Step-by-Step]
;
2、使用NonEmpty函数(http://msdn.microsoft.com/en-us/library/ms145988.aspx)
例6-17
SELECT
{([Measures].[Reseller Sales Amount])} ON COLUMNS, NonEmpty(
{[Product].[Product].[Product].Members},
{([Measures].[Reseller Sales Amount])}
) ON ROWS
FROM [Step-by-Step]
;
例6-18
SELECT
{([Measures].[Reseller Sales Amount])} ON COLUMNS, NON EMPTY {[Product].[Product].[Product].Members} ON ROWS
FROM [Step-by-Step]
;
这两个例子中,使用NonEmpty函数和Non Empty关键字其实效果是一样的。 3、组合结果集
结果集的组合有三种形式:Union,intersection和Exception
如下图所示: