我正在关注这篇文章:
http://msdn.microsoft.com/en-us/library/aa902637%28v=sql.80%29.aspx
我对非常计数的查询如下所示:
Count(CrossJoin({[Measures].[Submission Count]}, [Submission].[PK Submission].Members), ExcludeEmpty)
它总是返回1比它应该多(例如它返回27而不是26)。
在同一篇文章中有这个查询(假设要解决这个问题):
Count(CrossJoin( {[Sales]},
Descendants([Customers].CurrentMember, [Customer Names])),
ExcludeEmpty)
但我无法让它发挥作用。我已经尝试了这两个,但第二个总是返回1或0而第一个不起作用(错误:我必须明确定义一个级别):
Count(CrossJoin( {[Measures].[Submission Count]},
Descendants([Submission].CurrentMember, [Submission].[PK Submission])),
ExcludeEmpty)
Count(CrossJoin( {[Measures].[Submission Count]},
Descendants([Submission].[PK Submission].CurrentMember, [Submission].[PK Submission])),
ExcludeEmpty)
知道我做错了什么吗?
谢谢!
答案 0 :(得分:3)
第一个查询返回“比它应该多1”的原因是因为[Submission].[PK Submission].Members
元组集还包括All成员。
如果您引用[PK Submission]
级别而不是[PK Submission]
层次结构的所有成员,则它不包括All成员。
因此,以下内容将返回您所期望的内容:
Count( CrossJoin( { [Measures].[Submission Count] }
, { [Submission].[PK Submission].[PK Submission] })
, ExcludeEmpty)