次の方法で共有


Parent-Child 次元の単項演算子

Microsoft SQL Server Analysis Services の親子関係を含むディメンションでは、親属性のすべての計算されていないメンバーのカスタム ロールアップを決定する単項 (またはカスタム ロールアップ) 演算子列を指定します。 単項演算子は、親メンバーの値が評価されるたびにメンバーに適用されます。 親属性の UnaryOperatorColumn (Usage=Parent) は、単項演算子を含むデータ ソース ビューのテーブルの列を指定します。 この列に格納されているカスタム ロールアップ演算子の値は、属性の各メンバーに適用されます。

データ ソース ビューのディメンション テーブルに対して名前付き計算を作成し、単項演算子列として指定できます。 '+' などの最も単純な式は、すべてのメンバーに対して同じ演算子を返します。 ただし、すべてのメンバーの演算子を返す限り、任意の式を使用できます。

親属性の UnaryOperatorColumn プロパティ設定を手動で変更するか、ビジネス インテリジェンス ウィザードのカスタム集計の定義拡張機能を使用して、ディメンションのメンバーに関連付けられている既定の集計を置き換えることができます。 ビジネス インテリジェンス ウィザードを使用してこの構成を実行する方法の詳細については、「 ディメンションにカスタム集計を追加する」を参照してください。

親属性の UnaryOperatorColumn プロパティの既定の設定は (なし) であり、カスタム ロールアップ演算子を無効にします。 次の表に、単項演算子の一覧を示し、レベルに適用したときの動作を示します。

単項演算子 説明
+ (プラス記号) メンバーの値は、メンバーの前に発生する兄弟メンバーの集計値に追加されます。 属性に単項演算子列が定義されていない場合、この演算子は既定の演算子です。
- (負符号) メンバーの値は、メンバーの前に発生する兄弟メンバーの集計値から減算されます。
* (アスタリスク) メンバーの値に、メンバーの前に発生する兄弟メンバーの集計値が乗算されます。
/ (スラッシュ) メンバーの値は、メンバーの前に発生する兄弟メンバーの集計値で除算されます。
~ (チルダ) メンバーの値は無視されます。

空白の値と、テーブルに見つからないその他の値は、プラス記号 (+) 単項演算子と同じように扱われます。 演算子の優先順位がないため、単項演算子列に格納されるメンバーの順序によって評価の順序が決まります。 評価の順序を変更するには、新しい属性を作成し、その Type プロパティを Sequence に設定し、 ソース列 プロパティの評価順序に対応するシーケンス番号を割り当てます。 属性のメンバーをその属性で並べ替える必要もあります。 ビジネス インテリジェンス ウィザードを使用して属性のメンバーを並べ替える方法については、「 ディメンションの順序を定義する」を参照してください。

UnaryOperatorColumn プロパティを使用すると、単項演算子を属性のすべてのメンバーのリテラル文字として返す名前付き計算を指定できます。 これは、名前付き計算で '*' などのリテラル文字を入力するのと同じくらい簡単です。 これにより、属性のすべてのメンバーの既定の演算子である正符号 (+) が乗算演算子アスタリスク (*) に置き換えられます。 詳細については、「 データ ソース ビューでの名前付き計算の定義 (Analysis Services)」を参照してください。

ディメンション デザイナーの [ ブラウザー ] タブでは、階層内の各メンバーの横にある単項演算子を表示できます。 書き込みが有効なディメンションを使用するときに、単項演算子を変更することもできます。 ディメンションが書き込み可能でない場合は、ツールを使用してデータ ソースを直接変更する必要があります。

こちらもご覧ください

ディメンション属性プロパティリファレンス
Parent-Child ディメンションのカスタム ロールアップ演算子
ディメンション デザイナーでビジネス インテリジェンス ウィザードを開始する