0

関連するパーティションのキューブ内でスライサーを設計するという概念を適応させようとしています。これは、スライサーの作成が適切な設計ではなくオプションとして扱われる Auto-Slice の概念に精通しているため、通常は避けてきた方法です。

ただし、この 1 つのエラーは完全に煩わしいものになりつつあり、悪名高い「現在のコンテキストでは任意の形状のセットは許可されていません」というエラーに対して合理的な解決策を誰も提供できない場合は、それらの使用を避けることに戻ることを検討しています。

カレンダーの日付階層を使用するスライサーでキューブを処理しようとすると、このエラーが発生します。パーティション スライサーの 1 つの例を次に示します。

{[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-01T00:00:00]
,[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-02T00:00:00]
,[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-03T00:00:00]
,[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-04T00:00:00]
,[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-05T00:00:00]
,[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-06T00:00:00]
,[Calendar Dates].[Calendar Dates].[Calendar Year].&[2007].&[QUARTER NUMBER 2].&[APRIL].&[2007-04-07T00:00:00]}

私の最初の不満は、範囲 (:) 演算子の使用が禁止されているため、セットのすべてのメンバーを手動で指定する必要があることです。私が維持しているキューブのサイズは膨大であり、必要な数のパーティションを作成すること自体が極端な作業であるため、範囲演算子を使用しないことは、単純に制限が不十分です。この設計上の問題を修正するように MSConnect に要求があったことを確認しましたが、最後に気付いた応答は、SQL2008 R2 には遅すぎるというものでした。ただし、その後のリリースに対処する意図については言及されていません。

参照してください: https://connect.microsoft.com/SQLServer/feedback/details/339861/automatically-resolve-arbitrary-shape-sets-to-subcubes

不満のセッションを過ぎても、自分の定義したセットがどこで、またはなぜ任意の形状を作成するのかわかりません。さらに、形状の任意のセットを構成するものに関する例を見ると、私のセットがそのカテゴリに分類されることを示唆する相関関係は見られません。

問題を回避し、迷惑なエラーを回避するにはどうすればよいですか?

アドバイスや提案は大歓迎です。

4

1 に答える 1

0

これを理解しました。

このエラーの潜在的な原因について確認したすべての例で、さまざまなディメンションにまたがる crossJoin を必要とするパーティションにスライスを定義しようとしたため、「現在のコンテキストではセットの任意の形状は許可されていません」というエラーが発生しました。 "。

私の定義したセットは異なるディメンション間で明示的なクロス結合を使用していませんが、セットの要素はユーザー定義階層の製品であるため、スライスを生成するには暗黙的なクロス結合が必要です。

Implicit Cross Join を軽減するために、セットのメンバーをベース アトリビュート レベルになるように再作成しました。

したがって、改訂されたセットは次のようになります。

{[Calendar Dates].[Dates].&[2007-04-01T00:00:00]
,[Calendar Dates].[Dates].&[2007-04-02T00:00:00]
,[Calendar Dates].[Dates].&[2007-04-03T00:00:00]
,[Calendar Dates].[Dates].&[2007-04-04T00:00:00]
,[Calendar Dates].[Dates].&[2007-04-05T00:00:00]
,[Calendar Dates].[Dates].&[2007-04-06T00:00:00]
,[Calendar Dates].[Dates].&[2007-04-07T00:00:00]}

そして、エラーは解決されます。

于 2013-01-18T19:21:50.223 に答える