进一步,我们可以再动态计算均值与最大值的比
例7-14
WITH
MEMBER [Measures].[Percent of Max] AS
([Measures].[Reseller Sales Amount]) /
([Measures].[Max Sales By Subcategory]) ,FORMAT_STRING="Percent"
MEMBER [Measures].[Max Sales By Subcategory] AS
Max(
{[Product].[Subcategory].[Subcategory].Members},
([Measures].[Reseller Sales Amount])
)
SELECT
{
([Measures].[Reseller Sales Amount]),
([Measures].[Percent of Max])
} ON COLUMNS,
{[Product].[Subcategory].[Subcategory].Members} ON ROWS
FROM [Step-by-Step]
;
注意结果中有很多null,使用Count加Exists
例7-5
WITH
MEMBER [Measures].[Products By Category] AS Count(
EXISTING {[Product].[Product].[Product].Members}
) SELECT
{([Measures].[Products By Category])} ON COLUMNS,
{[Product].[Category].Members} ON ROWS
FROM [Step-by-Step]
;
结果:
4、使用Generate浏览集合
Generate(http://msdn.microsoft.com/zh-cn/library/ms145526.aspx),其实是计算并集。
例7-19
WITH
MEMBER [Measures].[Products] AS
Count(
EXISTING {[Product].[Product].[Product].Members}
)
MEMBER [Measures].[Products List] AS Generate(
EXISTING {[Product].[Product].[Product].Members},
[Product].[Product].CurrentMember.Name,
" | "
) SELECT
{
([Measures].[Products]),
([Measures].[Products List])
} ON COLUMNS,
{[Product].[Subcategory].Members} ON ROWS
FROM [Step-by-Step]
;
执行结果: