none
SSAS 2005 でのロールへのディメンジョン既定値の設定について RRS feed

  • 質問

  • ikemotyと申します。よろしくお願いします。

    SQL Server 2005のAnalysis Service でキューブを構築しています。
    ユーザごとに特定のディメンジョンに対するデフォルト値を設定するために
    ロールの「ディメンジョンデータ」タブの「既定のメンバ」に、メンバを特定するMDXを設定しました。
    ※設定したMDX [CUSTOMER].[CUSTOMER].&[CUS0001]

    ロール設定画面の「確認」ボタンを押下すると、正常に確認されたとメッセージがでますので、MDXが間違っていることはないと思います。

    ところが、このロールを使用してSSMSでキューブを参照すると、
    「キューブを参照できません。キューブが配置され、処理されたことを確認してください。」
    とメッセージが出てキューブを参照できなくなってしまいます。
    (ExcelのPivotを使用して参照しても同様。)
    ロールに既定値を割り当てていないユーザの場合は問題なくキューブを参照できます。

    ロールへの設定ではなく、Alter Cube句を使ってスクリプトでキューブのディメンジョンに対する既定値を設定した場合は、キューブも問題なく参照でき、既定値も設定されています。

    ※設定したスクリプト
      Alter Cube CurrentCube update Dimension [CUSTOMER], Default_Member = [CUSTOMER].[CUSTOMER].&[CUS0001];

    しかし、この方法ではすべてのユーザに対して既定値を設定してしまう問題があります。
    ユーザごとに、(例えば所属する部門を既定値とするように)制御したいので、ロールを使用したいのですが、そもそもロールに設定した既定値は使用できないのでしょうか?

    よろしくお願いします。

    ◆環境とバージョン
    OS : Windows XP SP2
    DB : SQL Server 2005 Developer Edittion SP1 With HotFixes After SP1

    ※Windows Server 2003 SP1上のSSASでも再現しています。

    2006年9月9日 10:36