1

PPS に 2 つのリンクされたフィルターがあり、それらの間に接続式があります。

   nonemptycrossjoin
    ( 
       [SAMPLECODE].[SAMPLECODE].members,
        { <<UniqueName>> }
    )

これによりnonemptycrossjoin、メジャーを持たない (つまり、null 値) フィルタから SAMPLECODE メンバーが取り出されるはずです。And this MDX works when i try it in SSMS.

理由はありit's not working in PPSますか?

4

1 に答える 1

1

同じキューブ上で環境 (SSMS と PPS) によって異なる動作をするのがまったく同じ MDX ステートメントである場合、接続パラメーターまたは一部のセッション設定が結果に影響を与えることしか想像できませんでした。

それにもかかわらず、SQL Server 2005 以降NonEmptyCrossJoinは推奨されていません。この関数を使用する代わりに、次のように省略された軸修飾子と通常のクロス結合を使用できます。NON EMPTY*

select [Measures].[ASD] on 0,
       non empty
       [DCode].[DCode].children * [SAMPLECODE].[SAMPLECODE].members
       on 1
  from p

編集

あなたのコメントによると、空でない場合にエラーメッセージが表示されるため、AS2008R2 の Adventure Works で試してみましたが、次のクエリは正常に機能します。

select [Measures].[Internet Sales Amount] on 0,
       non empty
       [Customer].[Country].children * [Customer].[Gender].members
       on 1
  from [Adventure Works]

したがって、上記のクエリと実際のクエリの間の翻訳にエラーがあると思います。あなたの元のクエリを見なければ、私はそれを見つけることができません!

于 2013-08-20T09:37:39.917 に答える