現象
次のような状況で問題が発生します。
-
Microsoft SQL Server 2012 Analysis Services (SSAS 2012) でフィルターを使用する多次元式 (MDX) クエリを実行します。
-
フィルターで親/子ディメンションの複数のメンバーが使用されている。
-
親/子ディメンションには、単項演算子が使用されます。
このシナリオでは、返される値は、ディメンション内のすべてのメンバーのすべての子の重ね合わせ値です。 ただし、戻り値は、フィルター条件に対して選択されたメンバーの集合である必要があります。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで最初に修正されました。
SQL Server 2012 SP1 の累積更新プログラム6 /en-us/help/2874879
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
詳細情報
SSAS 2012 では、 VisualTotals 単項演算子を持つ階層の visualtotals 集計関数が完全にサポートされています。注:
-
更新プログラムを適用した後、変更を有効にするには、新しいVisualTotalsEnabledForUnaryOperatorsAndSubSelects server プロパティを 1 に設定する必要があります。 このプロパティの値を別の値に設定した場合、変更を有効にすることはできません。この動作は、選択したメンバーの集計ではなく、階層内のすべてのメンバーの総計を返す、前の動作が発生します 。
-
変更を有効にすると、 +、 -、 ~、および weight の単項演算子のみがサポートされます。 * と / の単項演算子は、 visualtotals関数ではサポートされていません。 *または/単項演算子を持つ階層でVISUALTOTALS関数を使用する MDX クエリを実行すると、検証エラーが発生します。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。