2011-12-15 8 views
1

私はこの記事を以下ました:MDX - 明確な数

http://msdn.microsoft.com/en-us/library/aa902637%28v=sql.80%29.aspx

と明確な数のための私のクエリは次のようになります。

Count(CrossJoin({[Measures].[Submission Count]}, [Submission].[PK Submission].Members), ExcludeEmpty) 

それは例えば常に(それが必要以上1以上を返します。 26の代わりに27を返します)。同じ記事で

は(この問題を解決するために仮定される)このクエリがあります:

Count(CrossJoin({[Sales]}, 
Descendants([Customers].CurrentMember, [Customer Names])), 
ExcludeEmpty) 

しかし、私はそれを動作させることはできません。 (:私は明示的にレベルを定義する必要がエラー):

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) 

どれを私が最初のものは動作しませんしながら、これら二つが、二つ目は常に1または0を返す試してみました私は間違って何をしていますか?

ありがとうございます!

答えて

3

[Submission].[PK Submission].Membersタプルセットにはすべてのメンバーも含まれているため、最初のクエリが「1以上必要」を返す理由は、

[PK Submission]階層のすべてのメンバーではなく、[PK Submission]レベルを参照する場合は、Allメンバーは含まれません。だから、

、以下のリターンはあなたが期待しているもの:

Count(CrossJoin({ [Measures].[Submission Count] } 
       , { [Submission].[PK Submission].[PK Submission] }) 
    , ExcludeEmpty)