• 検索結果がありません。

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 つのパラメータで定義し、次の引数で構成されます。

● データソース

データソースまたは計画機能の式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネ ント] タブでデータソースまたは計画機能を設定するときです。

● ディメンション

ディメンションの技術名称を入力します。

● メンバー表示

TEXTKEYINPUT_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 つのパラメータで定義し、次の引数で構成されます。

● データソース

データソースまたは計画機能の式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネ ント] タブでデータソースまたは計画機能を設定するときです。

● ディメンション

ディメンションの技術名称を入力します。

● メンバー表示

TEXTKEYINPUT_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 つのパラメータで定義し、次の引数で構成されます。

● データソース

データソースの式エイリアスを入力します。エイリアスを設定できるのは、デザインパネルの [コンポーネント] タブでデー タソースを設定するときです。

● ディメンション

ディメンションの技術名称を入力します。

● メンバー表示

TEXTKEYINPUT_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 関数で挿入できます。

この式は、プロパティ名引数で構成されます。