3 ブックの作成
3.4 式の使用
Analysis, edition for Microsoft Office では、Microsoft Excel の標準関数を使用して、式を作成できます。アドインには、式 の作成に使用できる独自の関数セットも含まれています。これらの関数を使用して、使用しているデータソースのデータやメタ データを分析に含めることができます。たとえば、データソースプロパティへの情報フィールドの挿入、メジャーフィルタの表 示、およびデータソースの変数の一覧表示を行えます。SAPGetData 関数を使用して、特定のメンバー組み合わせのメジャ ー値を定義することもできます。
Analysis 対応の Microsoft Excel 式には、関数と、データソース、メジャー、ディメンションなどへの参照が含まれます。オブ ジェクトのテキストまたはキーを、参照として使用することができます。B10 などのセル値を参照として使用することもできま す。
データソースの式エイリアスが表示され、デザインパネルの [コンポーネント] タブのデータソースプロパティでそれらを変更で きます。メジャー、ディメンション、およびこれらのメンバーについては、テキスト参照のほうが読み易いですが、複数言語対応 の分析を作成したり、データソースのメタデータに重複したテキストがある場合は、それぞれのキーを使用してこれらのオブジ ェクトを参照する必要があります。
VBA マクロ内でこれらの関数を使用することもできます。
Analysis 関数
Analysis カテゴリでは、次の関数を使用できます。
● SAPGetData
● SAPGetDimensionDynamicFilter
● SAPGetDimensionEffectiveFilter
● SAPGetDimensionInfo
● SAPGetDimensionStaticFilter
● SAPGetDisplayedMeasures
● SAPGetInfoLabel
● SAPGetMeasureFilter
● SAPGetMember
● SAPGetSourceInfo
● SAPGetVariable
● SAPGetWorkbookInfo
● SAPListOf
● SAPListOfDimensions
● SAPListOfDynamicFilters
● SAPListOfEffectiveFilters
● SAPListOfMembers
● SAPListOfMessages
● SAPListOfStaticFilters
● SAPListOfVariables
● SAPSetFilterComponent
関連情報
Analysis 関数の使用 [77 ページ]
3.4.1 式を作成する
Analysis 関数で式を作成するには次の手順を実行します。
1. 式を入力するセルを選択します。
2. 関数で式を開始するには、数式バーの [関数の挿入] ボタンをクリックします。
[関数の挿入] ダイアログボックスが表示されます。
3. [カテゴリの選択] ボックスで [Analysis] を選択します。
4. 関数を選択します。
5. [OK] をクリックします。
[関数の引数] ダイアログボックスが表示されます。
6. 引数を入力します。
引数としてセル参照を入力する場合は、 (一時的にダイアログボックスを非表示にする) ダイアログを折りたたむボタンを クリックし、ワークシート上のセルを選択してから、ダイアログを展開するボタンをクリックします。
7. 式が完成したら、[OK] をクリックします。
3.4.2 SAPGetData
この関数は、ディメンションメンバーの特定の組み合わせのメジャー値を返します。
式が値を返すメンバーの組み合わせは、データソースの現在のナビゲーション状態に含まれるものだけです。ナビゲーション 状態に含めるには、メンバー組み合わせを行中または列中で使用するか、バックグラウンドフィルタとして使用する必要があり ます。ディメンションをフィルタリングする場合、フィルタに含まれるメンバー組み合わせの値だけを返すことができます。たと えば、データソースのナビゲーション状態で行に '地域' ディメンション、列に '売上高' メジャーが表示されている場合、特定の 地域の値を返す式は作成できます。しかし、このデータソースで顧客情報が利用できる場合であっても、特定の顧客の値を返 すことはできません。特定の顧客の値を返せるようにするには、たとえばバックグラウンドフィルタとして、ディメンションをナビ ゲーション状態に追加する必要があります。
この式は、少なくとも 3 つのパラメータで定義し、次の引数で構成されます。
● データソース
データソースの式エイリアスを入力します。 エイリアスを設定できるのは、デザインパネルの [コンポーネント] タブでデー タソースを設定するときです。
● メジャー
"Incoming Orders" など、メジャーの名前を入力します。
● メンバー組み合わせ
メンバー組み合わせを入力するには、次の 2 つの方法があります。
○ "Region=France;Product=Services" のように、メンバー組み合わせを 1 つのパラメータで入力します。こ の方法は、式への変換に使用されます。
○ "Region";"France";"Product";"Services" のように、メンバー組み合わせを複数のパラメータで入力し ます。 この方法の場合には、マニュアル入力のみが可能です。 メンバー組み合わせには、セル参照を使用すること が推奨されています。
例
パラメータが 3 つの式
Cell H20: =SAPGetData("DS_1";"Incoming Orders";"Region=France;Product=Services")
このセルの値のデータは、DS_1 というデータソースのものです。メジャーの名前は 'Incoming Orders' です。 メンバー組 み合わせは 'France' と 'Services' です。そのため、セル H20 の式は、DS_1 のデータを使用して、Region が 'France'、 Product が 'Services' の Incoming Orders を計算します。式中の 'France' を 'Germany' に変更すると、H20 セルに は Germany と Services の Incoming Orders が表示されます。
例
セル参照を使用した、パラメータが 3 つ以上の式
Cell H20: =SAPGetData("DS_1";"Incoming Orders";"Region";B10;"Product";"Services")
このセルの値のデータは DS_1 というデータソースのものです。メジャーの名前は 'Incoming Orders' です。メンバー組み 合わせは、B10 セルに入力された Region と、'Services' です。たとえば、B10 セルに 'Spain' を入力すると、H20 セルの 式は DS_1 のデータを使用して、Region が 'Spain'、Product が 'Services' の Incoming Orders を計算します。 B10 セ ルの 'Spain' を 'France' に変更すると、 H20 セには 'France' と 'Services' の Incoming Orders が表示されます。
3.4.3 SAPGetDimensionDynamicFilter
この関数は、ディメンションの動的フィルタを返します。 動的フィルタは、ユーザが定義します。
この式は 3 つのパラメータで定義し、次の引数で構成されます。
● データソース
データソースまたは計画機能の式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネ ント] タブでデータソースまたは計画機能を設定するときです。
● ディメンション
ディメンションの技術名称を入力します。
● メンバー表示
TEXT、KEY、INPUT_STRING のいずれかを入力して、フィルタリングされたメンバーをブックに表示する方法を定義でき
ます。
入力文字列を文字列配列として取得するために、式が VBA から呼び出される場合に、INPUT_STRING_AS_ARRAY を 使用することができます。
例
Cell F20: =SAPGetDimensionDynamicFilter("DS_1";"0DIVISION";"TEXT")
0DIVISION というディメンションにフィルタを追加して、Paints、Lighting、Foods のメンバーを分析に表示します。この式
を F20 セルに入力すると、フィルタリングされた 3 つのメンバーが F20 セルにテキストとして表示されます。
3.4.4 SAPGetDimensionEffectiveFilter
この関数は、ディメンションで有効なフィルタをすべて返します。フィルタには、ユーザが定義した動的フィルタ、基となるソース で定義された静的フィルタ、および選択されているディメンションに対して定義されたメジャーによるフィルタがあります。
この式は 3 つのパラメータで定義し、次の引数で構成されます。
● データソース
データソースまたは計画機能の式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネ ント] タブでデータソースまたは計画機能を設定するときです。
● ディメンション
ディメンションの技術名称を入力します。
● メンバー表示
TEXT、KEY、INPUT_STRING のいずれかを入力して、フィルタリングされたメンバーをブックに表示する方法を定義でき
ます。
入力文字列を文字列配列として取得するために、式が VBA から呼び出される場合に、INPUT_STRING_AS_ARRAY を 使用できます。
例
Cell F20: =SAPGetDimensionEffectiveFilter("DS_1";"0DIVISION";"TEXT")
この式を F20 セルに入力すると、現在ユーザがフィルタリングしている 0DIVISION のメンバー、データソースで定義され
た静的フィルタ、およびこのディメンションのメジャーによるフィルタが、F20 セルにテキストとして表示されます。データソー スで静的フィルタが定義されていない場合は、動的フィルタメンバーとメジャーによるフィルタだけが表示されます。
3.4.5 SAPGetDimensionInfo
この関数は、ディメンションの名前またはアクティブな階層の名前を返します。
この式は、3 つのパラメータで定義し、次の引数で構成されます。
● データソース
データソースの式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネント] タブでデー タソースを設定するときです。
● ディメンション
ディメンションの技術名称を入力します。
● プロパティ名
次のプロパティ名を入力できます。
○ NAME
○ ACTIVEHIERARCHY
例
Cell F20: =SAPGetDimensionInfo("DS_1";"0DIVISION";"NAME")
この式を F20 セルに入力すると、0DIVISION ディメンションの名前が F20 セルに表示されます。
3.4.6 SAPGetDimensionStaticFilter
この関数は、ディメンションの静的フィルタを返します。静的フィルタは、基となるソースで定義されるもので、ユーザは変更で きません。
この式は 3 つのパラメータで定義し、次の引数で構成されます。
● データソース
データソースの式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネント] タブでデー タソースを設定するときです。
● ディメンション
ディメンションの技術名称を入力します。
● メンバー表示
TEXT、KEY、INPUT_STRING のいずれかを入力して、フィルタリングされたメンバーをブックに表示する方法を定義でき
ます。
入力文字列を文字列配列として取得するために、式が VBA から呼び出される場合に、INPUT_STRING_AS_ARRAY を 使用できます。
例
Cell F20: =SAPGetDimensionStaticFilter("DS_1";"0MATERIAL";"KEY")
この式を F20 セルに入力すると、0MATERIAL ディメンションの静的フィルタが F20 セルに表示されます。
3.4.7 SAPGetDisplayedMeasures
この関数は、分析にテキストとして表示されるすべてのメジャーの一覧を返します。
この式は、データソース引数で構成されます。
データソースの式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネント] タブでデータソ ースを設定するときです。
例
Cell G10: =SAPGetDisplayedMeasures("DS_1")
この式を G10 セルに入力すると、現在クロスタブに表示されているすべてのメジャーが G10 セルに一覧表示されます。ク
ロスタブにメジャーを追加したり、クロスタブからメジャーを削除すると、それに応じて G10 セルの一覧が更新されます。
3.4.8 SAPGetInfoLabel
この関数は、情報フィールドの言語依存ラベルを返します。プロパティ名は、デザインパネルの [情報] タブで、ブックおよびデ ータソースに使用できる情報フィールドに対応しています。この関数を使用すると、情報フィールドのラベルが選択した UI 言 語で表示されます。情報フィールドの値は、SAPGetWorkbookInfo 関数および SAPGetSourceInfo 関数で挿入できます。
この式は、プロパティ名引数で構成されます。