2016-08-25 3 views
1
SELECT 
    [Measures].[Internet Sales Amount] ON COLUMNS 
,BottomCount 
    (
    NonEmpty([Customer].[Customer].[Customer].MEMBERS) 
    ,10 
    ,[Measures].[Internet Sales Amount] 
) ON ROWS 
FROM [Adventure Works] 
WHERE 
    [Date].[Calendar].[Calendar Year].&[2005]; 

上記のクエリは、NULL測定値を持つ最後の10の顧客名を持つ結果を示しています。私はAdventure works Cubeを使用しています。bottomcount関数のMDXクエリ

"bottomcount"は "mdx"クエリのwhere句でうまく動作しません。私は、2005年に測定値を使って最後の10の顧客名を取得したいと思います。うまくいけば、 "DESCENDANTS"というキーワードを使わずに解決策を探しています。

ご連絡ください。私は何か間違っています。 OLAPであなたは2次元(施策間の直積をやっているので、

bottomcount(
    nonempty(
     [Customer].[Customer].[Customer].Members 
     ,[Measures].[Internet Sales Amount] 
    ) 
    ,10 
    ,[Measures].[Internet Sales Amount] 
) 

あなたがNULLで顧客名を取得したが、特別な寸法であり、それはまだとして機能:

答えて

1

これを試してみてくださいディメンション)は、あなたがまだ2組のメンバーにクロスジョインする値を持たないことに関係なく、空でないものだけを要求しない限り、NULLを返します。

+0

おかげであなたの答えを@mxix。私のmdxクエリでNULL測定値を持つ顧客名を取得していた理由、またはこれに関連する記事を私に提案できる場合は、本当に非常に感謝しています。 –

1

そして、あなたは彼らの完全なインターネット販売量は、その後WITH句の中にロジックの一部を移動したい場合:

WITH 
    SET bot AS 
    NonEmpty 
    (
     [Customer].[Customer].[Customer].MEMBERS 
    ,(
     [Measures].[Internet Sales Amount] 
     ,[Date].[Calendar].[Calendar Year].&[2005] 
    ) 
    ) 
SELECT 
    [Measures].[Internet Sales Amount] ON COLUMNS 
,BottomCount 
    (
    bot 
    ,10 
    ,[Measures].[Internet Sales Amount] 
) ON ROWS 
FROM [Adventure Works]; 
+0

あなたの答えは@whytheqに感謝します。私はあなたのクエリとmxix(上記の)が提供するクエリとは異なる結果を得ています。私はちょうどあなたと同じことを確認したい。 –

+0

鉱山の返品 - 2005年にインターネット販売金額を保有していたすべての顧客>これらの10の下位10を検索して10人の顧客の合計インターネット売上金額を返します...これにより、 2005年には – whytheq

+0

よろしくお願いします。今私はポイントを得た。私は本当にあなたの答えに感謝します。 –