ピボットテーブルに集計フィールドまたは集計アイテムを追加します。
構文
式。AddCalculatedMember (Name, Formula, SolveOrder, Type, DisplayFolder, MeasureGroup, ParentHierarchy, ParentMember, NumberFormat)
式CalculatedMembers オブジェクトを表す変数。
パラメーター
| 名前 | 必須 / オプション | データ型 | 説明 |
|---|---|---|---|
| 名前 | 必須 | 文字列型 (String) | 集計メンバーの名前を指定します。 |
| Formula | 必須 | バリアント型 | 集計メンバーの数式。 |
| SolveOrder | 省略可能 | バリアント型 (Variant) | 集計メンバーの解決順序を指定します。 |
| Type | 省略可能 | バリアント型 (Variant) | 集計メンバーの型。 |
| DisplayFolder | 省略可能 | バリアント型 (Variant) | 計算メジャーを表示するための既存のフォルダー。 |
| MeasureGroup | 省略可能 | バリアント型 (Variant) | 計算されたメンバーが属するグループ。 |
| ParentHierarchy | 省略可能 | バリアント型 (Variant) | ParentMember の親パス。 |
| ParentMember | 省略可能 | バリアント型 (Variant) | 集計メンバーの親。 |
| NumberFormat | 省略可能 | バリアント型 (Variant) | 計算メンバーに使用される数値の書式。 |
戻り値
CALCULATEDMEMBER
注釈
Formula 引数は有効な MDX (多次元式) 構文ステートメントである必要があります。 Name 引数は、オンライン分析処理 (OLAP) プロバイダーが受け付け可能である必要があります。
DisplayFolder
表示フォルダーは、演算メジャーに対してのみ有効です。 計算されたメンバーに対しては無効です。
文字列には、セミコロンを含めることができます。 セミコロンは複数の表示フォルダーを指定します。 たとえば、 文字列myfolder1;myfolder2 の場合、計算されたメジャーは 2 つの表示フォルダー (1 つは myfolder1 、 もう 1 つは myfolder2) に表示されます。
文字列には \ のバックスラッシュを含めることができます。 これは、表示フォルダーの階層パスを指定します。 たとえば、 文字列welcome\to\seattle を使用する場合、 "welcome " という名前の表示フォルダーが存在し、そのフォルダー にはseattle という表示フォルダーが格納されます。 表示フォルダーは仮想フォルダーです。それらは、私たちが考えるシステム フォルダーと同じ意味で実際には存在しません。 これらは、計算されたメジャーを表示する目的でのみ存在します。
NumberFormat
数値の表示形式はマクロによってのみ設定できます。 数値の書式を設定するためのユーザー インターフェイスはありません。 これは、ユーザー インターフェイスを通して設定できない唯一のプロパティです。 計算メンバーをユーザー インターフェイスを介して作成する場合の型は、常に xlNumberFormatTypeDefault です。 数値の書式は、計算メンバーに対してのみ有効です。 計算メジャーに対しては有効ではありません。
ParentHierarchy
親階層は、任意の有効な MDX 階層にすることができます。 親階層は計算メンバーに対してのみ有効です。 計算メジャーに対しては有効ではありません。 別の親階層内にある親メンバーを選択した場合、親階層は自動的に親メンバーの親階層と一致するように変更されます。 たとえば、計算メンバーについて次のマクロと想定します。
OLEDBConnection.CalculatedMembers.AddCalculatedMember Name:="[UK+US]", _
Formula:= _
"[Customer].[Customer Geography].[Country].&[United Kingdom] + [Customer].[Customer Geography].[Country].&[United States] " _
, Type:=xlCalculatedMember, SolveOrder:=0, ParentHierarchy:= _
"[Account].[Accounts]", ParentMember:= _
"[Customer].[Customer Geography].[Australia]", NumberFormat:= _
xlNumberFormatTypePercent
この場合、親メンバーが [Customer].[Customer Geography] 階層からのものであることを指定しましたが、親階層を [Account].[Accounts]として指定しました。 メンバーが作成されると、親メンバーの親階層 ([Customer].[Customer Geography]) が使用され、UI の [計算の管理] ダイアログを見ると、マクロで指定された階層 (つまり [Account].[Accounts]) ではなく、親階層として [Customer].[Customer Geography] が表示されます。
例
次のコード サンプルでは、計算メジャーを PivotTable に追加します。
注:
どちらのサンプルでも、ピボットテーブルをユーザー インターフェイスで表示するには、計算の作成後にピボットテーブルを更新する必要があります。
Sub AddCalculatedMeasure()
Dim pvt As PivotTable
Dim strName As **String**
Dim strFormula As **String**
Dim strDisplayFolder As **String**
Dim strMeasureGroup As **String**
Set pvt = Sheet1.PivotTables("PivotTable1")
strName = "[Measures].[Internet Sales Amount 25 %]"
strFormula = "[Measures].[Internet Sales Amount]*1.25"
strDisplayFolder = "My Folder\Percent Calculations"
strMeasureGroup = "Internet Sales"
pvt.CalculatedMembers. AddCalculatedMember Name:=strName, Formula:=strFormula, Type:=xlCalculatedMeasure, DisplayFolder:=strDisplayFolder, MeasureGroup:=strMeasureGroup, NumberFormat:=xlNumberFormatTypePercent
End Sub
次のコード サンプルでは、計算メンバーを PivotTable に追加します。
Sub AddCalculatedMember()
Dim pvt As PivotTable
Dim strName As **String**
Dim strFormula As **String**
Dim strParentHierarchy As **String**
Dim strParentMember As **String**
Set pvt = Sheet1.PivotTables("PivotTable1")
strName = "[Customer].[Customer Geography].[All Customers].[North America]"
strFormula = "[Customer].[Customer Geography].[Country].&[United States] + [Customer].[Customer Geography].[Country].&[Canada]"
strParentHierarchy = "[Customer].[Customer Geography]"
strParentMember = "[Customer].[Customer Geography].[All Customers]"
pvt.CalculatedMembers. AddCalculatedMember Name:=strName, Formula:=strFormula, Type:=xlCalculatedMember, ParentHierarchy:=strParentHierarchy, ParentMember:=strParentMember, SolveOrder:=0, NumberFormat:=xlNumberFormatTypeDefault
End Sub
サポートとフィードバック
Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。