連結セル値に値を配布する方式

Splasher コマンド (つまり、連結セルに書き戻す場合) には、プレフィックスとしてハッシュ (#) 記号が付いています。使用中、Splasher コマンド名は、C (コピー) または L (ライク) などの 1 文字に省略されます。

セルに書き込まれたテキスト値がそれらの文字のいずれかで開始する、または # 記号で開始する、または Splasher コマンドの名前全部を含む場合、値が Splasher コマンドと誤って解析される場合があります。これが発生すると、セルには #REF! が表示されます。

セルに書き込む値が常にテキストの場合、また日付または数字ではない場合、値の前にプレフィックスとして 2 つのアポストロフィを付けることで、この問題を回避できます。1 つ目のアポストロフィによって、文字列が数字または日付や時刻として解釈されないようになります。2 つ目のアポストロフィによって、文字列が Splasher コマンドとして解釈されないようになります。

問題は、セル注釈または属性などではなく、セル値のみで発生します。案分が有効になっている場合にのみ、発生します。

この部分的な CELLWRITE 式は、値 C2019-20 をセルに書き込むことを意図しています。
=CELLWRITE("C2019-20","DEPM","BPCCONFIG_CYCLE","...

ただし、C は COPY コマンドと #REF! コマンドとして解釈されます。エラーが返されました。

開始引用符の後に 2 つのアポストロフィを追加すると、値が Splasher コマンドではなく、数字または日付ではないことをパーサーに指示します。

=CELLWRITE("''C2019-20","DEPM","BPCCONFIG_CYCLE","...

Allocate および Alter

それぞれの書き戻し方式に対して、値の割当または変更を指定できます。

Allocate により既存の値が置き換えられます。たとえば、セルに 1 が含まれ、そこに Allocate を使用して 2 を書き込むと、セルの値は 2 になります。

Alter により既存の値に入力する値が追加されます。たとえば、セルに 1 が含まれ、そこに Alter を使用して 2 を入力すると、セルの値は 3 になります。

Alter コマンドは先頭にアンパサンド (&) が付きます。

書き戻し方式およびコマンド

デフォルトでは、書き戻し方式は追加的な操作で、さまざまな方法で既存の値を増やします。各書き戻し方式の構文を変更して、値を減らしたり、値をパーセント値で指定することができます。

このセクションでは、「加重」、「均等」、「基本」、および「類似」割当の構文例で、[value] の前にマイナス記号 (-) を付けて負の値を書き込むことができます。また、パーセント記号 (%) を後ろに付けてパーセンテージによって値を修正することができます。

例を以下に示します。
構文 説明
&W20 セルの値に 20 を加算する
&W-20 セルの値から 20 を減算する
&W5% セルの値を 5% 増加する

プラス記号 (+) は暗黙ですが、それを明示的 (&W+20 など) にできます。各書き戻し方式は 2 つまたは 3 つの構文に対応しています。たとえば、#W[value]#@[value] は等価です。具体的な次元とエレメント名を含む例は、Samples アプリケーションに基づいています。

加重

親の値が増えたり、減ったりすると、子の値の比率が相互に維持されます。

加重割当: #W[value]

加重割当を使用して、たとえば、既存の値を 2 倍にする値を親のセルに書き込むと、それぞれの子の値も 2 倍になります。

加重変更: &W[value]

加重変更を使用して、たとえば、既存の値の 2 倍の値を親のセルに書き込むと、それぞれの子の値は 2 倍になって、既存の値に追加されます。

親のセルの値が 9 で、3 つの子の値がそれぞれ 3 であるとします。加重変更で親のセルに 18 を書き込みます。それぞれの子のセルの値が 2 倍になって既存の値に追加されます。したがって、それぞれの子のセルの値は 9 になり、親のセルの値は 27 になります。

等しい

親のセルに入力する値は、その子に均等に配分されます。

均等割当: #E[value]

親のセルに入力する値によって既存の値が置き換えられ、子のセルに均等に配分されます。

親のセルには 3 つの子があります。親のセルに均等割当で 12 を書き込みます。それぞれの子のセルの値が 4 になります。

均等変更: &E[value]

親のセルに入力する値が子のセルに均等に配分され、既存の値に追加されます。

親のセルの値は 12 です。3 つの子のセルがあり、値がそれぞれ 4 であるとします。均等変更で親のセルに 12 を書き込みます。12 がそれぞれの子に均等に配分され、既存の値に追加されます。それぞれの子のセルの値は 8 になり、親のセルの値は 24 になります。

基本

親のセルに書き込む値がそれぞれの子のセルに書き込まれます。親のセルの値が更新されます。

基本割当: #B[value]

親のセルに書き込む値がそれぞれの子のセルに書き込まれ、既存の値が置き換えられます。

親のセルには 3 つの子があります。親のセルに基本割当で 2 を書き込みます。それぞれの子のセルの値は 2 になり、親のセルの値は 6 になります。

基本変更: &B[value]

親セルに書き込む値がそれぞれの子に書き込まれ、既存の値に加算されます。

親のセルには 3 つの子があります。各子セルの値は 2 です。そのため、親セルの値は 6 です。基本変更で親セルに 2 を書き込みます。2 がそれぞれの子セルに書き込まれ、既存の値に加算されます。各子の値は 4 になります。親セルの値は 12 になります。

COPY

キューブの特定の範囲にある値は、別の範囲にコピーできます。たとえば、ある年の実際の数字を別の年にコピーします。この例では、実際の数値がソースで予算がターゲットです。

ターゲットのセルに Copy コマンドを書き込みます。コマンドでは、キューブのソース範囲をターゲット範囲から区別する次元とエレメントだけを指定します。エレメントが明確に特定の次元にのみ属している場合は、エレメントを指定するだけでかまいません。

Copy - 割当: #C[Tuple]

Copy - 変更: &C[Tuple]

タプルとは、データベースの特定範囲のアドレスです。この場合、タプルはコピーするデータのアドレスです。一意のエレメント名を使用してタプルを指定することをお勧めします。

キューブの 1 つの範囲から別の範囲にコピーする値が既存の値を置き換えます。
注: 

COPY (割当あり) は、ソースとターゲットの両方のエレメントが連結 (C) エレメントまたはベース (N) エレメントの場合、External Weighted Basic を OLAP 固有の書き戻し方法として使用します。C エレメントの場合、その下のエレメントの構造は似ている必要があります。つまり、ソースエレメントとターゲットエレメントには、同じ数の子、孫などが必要です。他の場合、External Weighted 方法が使用されます。

コピー (変更あり) では、External Weighted Delta を書き戻し方式として使用します。

2006 年度の第 4 四半期の実績を同じ四半期の予算にコピーするとします。第 4 四半期の予算の数値を含むセルを選択して次のように指定します。

[#COPY [VALTYPE].[Variance].[Actual];[PERIOD].[All Years].[2006].[2006_Q4]]

2006 年度のドイツの第 3 四半期の実績を、2006 年度のフランスの第 4 四半期の予算にコピーするとします。

フランスの第 4 四半期の予算を含むセルを選択して、次のように指定します。

[#COPY [REGION].[All Regions].[Europe].[Germany];[VALTYPE].[Variance].[Actual];[PERIOD].[All Years].[2006].[2006_Q3]]

COPYFULL

COPYFULL コマンドは COPY コマンドと同じように動作しますが、ルールによって計算される値もコピーします。
注: 

COPYFULL (割当あり) は、External Weighted を OLAP 固有の書き戻し方法として使用します。

COPYFULL (変更あり) は Weighted Delta を使用します。

データエレメント

Microsoft Analysis Services はデータエレメントをサポートしています。データエレメントは親エレメントのコピーですが、親のステータスはありません。子エレメントに影響を与えずにデータメンバーに書き戻すことができます。

マネージャーが親エレメントとなっているスタッフの階層があるとします。マネージャーの給与を計画している場合、マネージャーエレメントの代わりに、マネージャーデータエレメントへ値を書き戻すことができます。そうすることで、他のスタッフの給与はマネージャーの給与に影響を与えず、また、影響を受けることもありません。

LIKE

別の連結セルの子供の値と同一の比率で、連結セルの子供に値を案分できます。

ターゲットのセルに Like コマンドを書き込みます。このコマンドでは、データベースのソース範囲をターゲット範囲から区別する次元とエレメントだけを指定します。エレメントが明確に特定の次元にのみ属している場合は、エレメントを指定するだけでかまいません。

書き戻しコマンドにおいて、L は Like を示します。

LIKE - 割当: #L[value][Tuple]

LIKE - 変更: &L[value][Tuple]

タプルとは、データベースの特定範囲のアドレスです。この場合、タプルとはデータベースのソース範囲のアドレスのことです。

2005 年度第 4 四半期のスペイン向けの販売数値は 60 です。各月の数値は、10 月が 10、11 月が 20、12 月が 30 です。

600 の販売が 2006 年度第 1 四半期のイタリア向けでどのような効果が出るのかを確認するために (スペイン向けの 2005 年度第 4 四半期と同じ比率で配分される場合)、イタリア向けの第 1 四半期の販売を含むセルを選択し、次のように入力します。

#L 600 [REGION].[All Regions].[Europe].[Spain];[PERIOD].[All Years].[2005].[2005_Q4]

イタリアの第 1 四半期の売上は 600 になります。個々の月の数字は 1 月が 100、2 月が 200、3 月が 300 です。

#delete

データベースのスライスからすべての値を削除するには、書き戻し式 (WBC など) を含むセルに #delete を指定します。

LIKEFULL

LIKEFULL は LIKE と COPYFULL を組み合わせたものです。つまり、指定した値を書き戻すことができますが、書き戻しモードとして External Weighted を使用します。割当の構文は次のとおりです。

#LIKEFULL [value] [tuple]

変更の場合、構文は次のとおりです。

&LIKEFULL [value] [tuple]External Weighted Delta が書き戻しメソッドとして使用されます。