同じキューブ上で環境 (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]
したがって、上記のクエリと実際のクエリの間の翻訳にエラーがあると思います。あなたの元のクエリを見なければ、私はそれを見つけることができません!