フィールドに対する操作の実行
Essbaseによるディメンションの構築方法またはデータのロード方法をカスタマイズするには、ソース・データのフィールドに対して操作を実行するルールを設計します。このルールを使用して、フィールドの追加、結合、分割、コピー、名前変更および移動、フィールドまたは文字列の無視、およびデータ・フィールドのメンバー名へのマップを行うことができます。
フィールドを無視
ディメンションの構築時またはデータのロード時に、Essbaseでソース・データの1つ以上のフィールドをスキップするには、ロード・ルールを使用してこれらのフィールドを無視します。
ソースから無視されたフィールドは、Essbaseキューブにロードされません。たとえば、Sample.Basicキューブには5つの標準ディメンション(Year、Product、Market、MeasuresおよびScenario)があります。ソース内にどのディメンションのメンバーでもない追加フィールド(SalesPersonなど)がある場合は、そのSalespersonフィールドを無視するようにEssbaseに指示できます。
Essbaseデータ・ロードまたはディメンション構築時に列を無視するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
不要なフィールドを選択し、「無視」をクリックします。

-
ルールを検証して保存します。
文字列を無視
ディメンション構築またはデータ・ロード(特定の文字を含むものなど)中にEssbaseで特定のソース・データ・フィールドが無視されるようにするには、ルールのソース・プロパティを使用して、一致する文字列/トークン基準を指定します。
データ・ロードおよびディメンション構築のルールでは、文字列(トークンと呼びます)と一致するソースのフィールドを無視できます。文字列値に基づいてフィールドを無視すると、そのフィールドは、特定の列内に限らず、ソース・データ内のどこにあっても無視されます。たとえば、ソースがコンピュータで生成されたテキスト形式のレポートの場合、ページ間の水平線や見出しの囲み枠を、特殊なASCII文字を使用して作成されていることがあります。これらの特殊文字をトークンとして定義し、無視されるようにできます。
Essbaseディメンション構築中にソース・データの文字列/トークンを無視するには、
-
Essbase Webインタフェースでディメンション構築ルールを開きます。
-
「ソース・プロパティ」をクリックします。

-
「詳細」タブの「無視するトークン」に、無視する1つ以上の文字列を空白で区切って入力します。

-
複数の文字列を入力した場合は、「トークン結合方法」で「AND」または「OR」を選択して、文字列の照合が論理的なANDまたはORのどちらで実行されるかを制御します。「AND」を選択した場合、無視されるようにするには、ソースに両方の文字列が存在している必要があります。「OR」を選択した場合は、そのどちらかが存在している必要があります。
-
「OK」をクリックします。ルールを検証して保存します。
フィールドの移動
ルールを使用して、Essbaseでディメンションの構築時またはデータのロード時に、ソース・データの1つ以上のフィールドを移動させます。ルールのフィールドを移動すると、ソース・レコードをアウトラインに合せて配置する必要がある場合に役立ちます。
ルール・ファイルを使用して、フィールドを別の場所に移動できます。たとえば、データ・ロードまたはディメンション構築時に、ソース・データの最初のフィールドが3番目のフィールドになるように指定できます。
移動操作は、任意のフィールド順序が可能な索引ベースのディメンション構築ルールでは利用できません。
Essbaseデータ・ロード・ルールまたはディメンション構築ルールのフィールドを移動するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「移動」をクリックします。
-
移動先の位置を指定して、「OK」をクリックします。

-
ルールを検証して保存します。
フィールドの追加
ルールへのフィールドの追加は、Essbaseアウトラインへの新規メンバーまたはデータの追加、結合の準備、修飾メンバー名の構築、またはEssbaseディメンション構築またはデータ・ロードに必要なその他の操作の実行に役立ちます。
ロード・ルールに新しいフィールドを追加するには、次のようにします。
-
既存のフィールドを選択して新しいフィールドを追加すると、新しい列が既存の列の左側に追加されます。
-
フィールドを選択しないと、新しいフィールドは最後(すべての既存のフィールドの右側)に追加されます。
次のディメンション構築ルールの例では、既存の世代3フィールドの前に世代2フィールドを追加するとします。

Essbaseデータ・ロード・ルールまたはディメンション構築ルールにフィールドを追加するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択して強調表示します。

-
「作成」→「標準」をクリックします。

フィールド1が移動してフィールド2になり、新しいフィールド1が追加されます。

-
追加したばかりのフィールドに関して必要な情報を入力します。

-
ルールを検証して保存します。
結合フィールド
Essbaseディメンション構築ルールまたはデータ・ロード・ルールでは、複数のフィールドを1つのフィールドに結合できます。新しいフィールドには、結合された最初のフィールドの名前が付けられます。
たとえば、ソース・データに製品番号(100)と製品ファミリ(-10)に対応する個別のフィールドがある場合は、Sample.Basicキューブにロードする前に、それらのフィールドを結合(100-10)するためのルールを使用する必要があります。
次に示すディメンション構築ルールとプレビューについて考えてみます。

次の演習では、フィールドを結合して次の形式の修飾メンバー名を作成することを目標とします。
[500].[500-10].[500-10-10]フィールド3/第4世代を新しい修飾メンバー名書式に置き換えることができます。
Essbaseディメンション構築ルールで結合および分割を使用して必須フィールドを構築するには、
-
フィールドの選択 1

-
「作成」→「静的値」をクリックします。
-
[と入力し、「OK」をクリックします。
フィールド1は、入力した文字が含まれた新しいフィールドで置換され、その他のフィールドは右側にシフトされます。

-
フィールド3を選択して、「作成」>「静的値による」の順にクリックします。
-
[]と入力し、「OK」をクリックします。
フィールド3は、入力した文字が含まれた新しいフィールドで置換され、フィールド4と5は右側にシフトされます。
![フィールド1には[が含まれます。フィールド2には製品世代2が含まれていて、すべての行のプレビュー値は500になっています。フィールド3には].が含まれます。フィールド4には製品世代3が含まれていて、プレビュー値は500-10や500-20などのようになっています。フィールド5には製品世代4が含まれていて、プレビュー値は500-10-10や500-10-20などのようになっています。 フィールド1には[が含まれます。フィールド2には製品世代2が含まれていて、すべての行のプレビュー値は500になっています。フィールド3には].が含まれます。フィールド4には製品世代3が含まれていて、プレビュー値は500-10や500-20などのようになっています。フィールド5には製品世代4が含まれていて、プレビュー値は500-10-10や500-10-20などのようになっています。](img/joinflow2.png)
-
フィールドの選択 1
![フィールド1は選択されていて、[が含まれています。フィールド2は選択解除されていて、500が含まれています。フィールド3は選択されていて、]が含まれています。 フィールド1は選択されていて、[が含まれています。フィールド2は選択解除されていて、500が含まれています。フィールド3は選択されていて、]が含まれています。](img/joinflow3.png)
-
[Shift]キーを押しながらフィールド2と3をクリックして、現在の選択にフィールド2と3を追加します。
![フィールド1、2および3のすべてが現在選択されていて、それぞれの値は[、500および]になっています。 フィールド1、2および3のすべてが現在選択されていて、それぞれの値は[、500および]になっています。](img/joinflow4.png)
-
「結合」をクリックします。
フィールド1、2および3は、新しいフィールド1に結合され、
[500]が含まれています。![フィールド1、2および3は、新しいフィールド1に結合され、[500]が含まれています。 フィールド1、2および3は、新しいフィールド1に結合され、[500]が含まれています。](img/joinflow5.png)
結合したフィールドに誤った向きの大カッコが含まれている場合(たとえば、
]500[)、フィールドの選択順序がフィールド1、2、3ではなく、フィールド3、2、1になっていた可能性があります。選択の順序は、結合の動作に影響します。この状態を修正するには、不適切に結合されたフィールドを選択し、「分割」をクリックして(位置1の次に位置3を使用)、選択順序を逆にしてから「結合」をクリックして試してみます。 -
「作成」>「結合」を使用して残りの世代フィールド(世代3および4)をコピーし、目的の形式の修飾メンバー名を含むフィールドを作成するまで、期間および大カッコの静的値をさらに追加します。
[500].[500-10].[500-10-10] -
列操作(結合、分割、移動および静的値の作成を含む)の履歴を確認する必要がある場合は、「列操作」をクリックして、最近の操作のリストを表示してください。直前の操作を取り消すことができます。

-
ルールの編集を終了し、検証して保存します。この演習の最後の目標は、「Generation 4」フィールドを置き換えて、修飾メンバー名を使用することです。この例では、(フィールド4の)元の第4世代フィールドは、フィールド3で置き換えられたため無視されるようになりました。
![フィールド1には製品世代2が含まれていて、すべての行のプレビュー値は500になっています。フィールド2には製品世代3が含まれており、プレビュー値は500-10や500-20などのようになっている。フィールド3には製品世代4が含まれ、プレビュー値は[500].[500-10].[500-10-10]、 [500].[500-10].[500-10-20]などのようになっています。フィールド4は無視されます。 フィールド1には製品世代2が含まれていて、すべての行のプレビュー値は500になっています。フィールド2には製品世代3が含まれており、プレビュー値は500-10や500-20などのようになっている。フィールド3には製品世代4が含まれ、プレビュー値は[500].[500-10].[500-10-10]、 [500].[500-10].[500-10-20]などのようになっています。フィールド4は無視されます。](img/joinflow-fin.png)
フィールド式(索引ベースのディメンション構築ルールに使用可能)
索引ベースのルールには、分割、結合および移動の列操作はありませんが、フィールド式を使用することでフィールドの結合などの操作を実行できます。
-
フィールドを選択し、「式」をクリックして、フィールドに演算式を追加します。
-
2つの列を結合するには、関数をクリックして、引数として列インデックスを指定します。例

結合付きフィールドの作成
前のトピックの「結合フィールド」では、結合によってEssbaseディメンション構築ルールの既存のフィールドが置換されました。
たとえば、データ・ソースに製品番号(例: 100)と製品ファミリ(例: -10)に対応する個別のフィールドがある場合、それらのフィールドは結合(例: 100-10)してからSample.Basicキューブにロードする必要がある場合があります。ただし、ソース内の2つの既存フィールドを維持する場合は、結合を使用してフィールド(100-10)を作成し、元のフィールド(100および-10)を保持できます。
次に示すディメンション構築ルールとプレビューについて考えてみます。

目標は、次の形式の世代4フィールドを追加することとします。
500-500-10はじめに、
-
フィールド2を選択して、「作成」>「静的値による」の順にクリックします。
-
ハイフン-を入力して、「OK」をクリックします。

-
フィールド1、2、3を選択(この順序で選択)して、「作成」>「結合による」をクリックします(結合位置4を使用)。

-
列操作(結合、分割、移動および静的値の作成を含む)の履歴を確認する必要がある場合は、「列操作」をクリックして、最近の操作の実行順のリストを表示します。
-
フィールド2は、今後の再利用のために別の場所に移動できます。ルール機能に影響しないようにするには、それを選択してから「無視」をクリックします。
フィールド式(ディメンション構築ルールで使用可能)
索引ベースのルールには、分割、結合および移動の列操作はありませんが、フィールド式を使用することでフィールドの結合などの操作を実行できます。
-
「作成」>「式による」の順にクリックして、式を使用するように定義するフィールドを追加します。

-
2つの列を結合するには、関数をクリックして、引数として列インデックスを指定します。例

フィールドの分割
Essbaseディメンション構築ルールまたはデータ・ロード・ルールでは、フィールドを2つのフィールドに分割できます。
この操作は結合の反対で、通常のルールでのみ使用できます。たとえば、Sample.Basicデータベースのデータソースに、UPC100-10-1を含むフィールドがある場合、フィールドからUPCを分割して無視できます。その後、製品番号100-10-1のみがロードされます。
Essbaseデータ・ロードまたはディメンション構築中にフィールドを分割するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「分割」をクリックします。
-
分割位置と方向を文字単位で指定します。たとえば、
10を500-から分離するには、分割位置4を左から右に指定します。
-
「OK」をクリックします。ルールを検証して保存します。
フィールドのコピー
Essbaseディメンション構築ルールまたはデータ・ロード・ルールでフィールドのコピーを作成でき、元のフィールドはそのまま残ります。
たとえば、1回のディメンション構築で、複数レベルの属性ディメンションを定義して、属性を基本ディメンションのメンバーに関連付ける場合、いくつかのフィールドをコピーする必要があります。
Essbaseデータ・ロード中にフィールドをコピーするには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
コピーするフィールドを選択します。
-
「作成」、「結合による」の順にクリックします。

-
複製するフィールドの番号を入力します。
-
「OK」をクリックします。ルールを検証して保存します。
式の使用方法を学習するには、「作成」→「結合付き」が使用できない場合は、「結合付きフィールドの作成」を参照してください。
フィールドのマップ
データをロードできるように、ソース・データ・フィールドをEssbaseメンバー名にマップする必要がある場合があります。データ・ロード・ルールを使用してフィールドを作成できます。
この項の内容は、データ・ロードのみに適用されます。ディメンション構築を実行する場合、この項はスキップします。
ソース内の任意のフィールドをEssbaseキューブ内の任意のメンバーまたはメンバーの組合せにマップするかを指定することにより、データ・ロード時にソース内のフィールドをEssbaseキューブ内のフィールドに直接マップできます。ソース・データは変更されません。
ノート:
SQLデータソースを開くと、フィールドにSQLデータソース列名がデフォルト設定されます。SQL列名とEssbaseディメンション名が同じである場合、列名をマップする必要はありません。
Essbaseデータ・ロード中にフィールドをマップするには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
マップされていないフィールドを選択します。

-
メンバー名を入力するか、フィールドの横にあるフィールドの編集/メンバーの選択ツールをクリックします。

-
メンバー選択ツールを使用する場合は、このフィールドに関連付けるメンバーを検索する(または、そのメンバーまでナビゲートします)。

-
メンバーをダブルクリックして、そのメンバーを「フィールド名」に追加します。

-
「OK」をクリックします。ルールを検証して保存します。
フィールド名の変更
多くの場合、ソース・データのフィールドまたは列はEssbaseキューブの名前と一致しませんが、これによってデータのロードやディメンションの構築が妨げられることはありません。ロード・ルールを使用して、アウトラインのディメンション名と一致するフィールドに名前を付けることができます。
データ・ソースをロードするには、ソースのフィールドをキューブのディメンションとメンバーにマップする方法を指定する必要があります。ルールでは、ソースがロードされるたびに、フィールドとメンバー名が一致するようにソースのフィールドを変換できます。このプロセスによってソースが変更されることはありません。
ルール・ファイルでは次の操作を実行します。
-
ソース・ファイルのメンバー・フィールドを、キューブのディメンションとメンバーにマップします
-
ソース・ファイルのデータ・フィールドを、キューブのメンバー名またはメンバーの組合せ(Jan, Actualなど)にマップします
フィールドの命名
Essbaseデータ・ロードまたはディメンション構築時にフィールドに名前を付けるには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「フィールド・プロパティ」をクリックします。

-
「名前」フィールドに名前を入力します。名前にスペースが含まれている場合は、その名前を引用符で囲みます。

-
「OK」をクリックします。ルールを検証して保存します。
テキストの文字列の置換
データ・ロードまたはディメンション構築時に、フィールドがEssbaseメンバー名にマップされるように、テキスト文字列を置換できます。データソースは変更されません。たとえば、データソースでNew YorkがNYに省略される場合、ルール・ファイルを使用して各NYをNew Yorkに置換できます。
Essbaseデータ・ロードまたはディメンション構築中に文字列を置換するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「フィールド・プロパティ」をクリックします。
-
「フィルタ」タブをクリックします。
-
「置換」をクリックします。
-
「+」アイコンをクリックして、文字列置換条件を追加します。
-
「検索」と「置換」の値を入力します。たとえば、
CAをCalifに置き換えます。
-
置換操作に必要な処理を指定します。
- 大/小文字を区別する
- 単語が完全に一致した場合にのみ置換する。
- 文字列のすべての出現箇所を置換する。
-
「OK」をクリックします。ルールを検証して保存します。
フィールドの大文字と小文字を変更する
データ・ロード時またはディメンション構築時に、フィールドがEssbaseメンバー名にマップされるように、フィールドの大文字と小文字を変更できます。データソースは変更されません。たとえば、ソース・データがキューブ・アウトライン(JAN)で制限されたinit内のフィールド(JANなど)を大文字にする場合、ルール・ファイルを使用してフィールドをFirst Letter Capitalに変更できます。
Essbaseデータ・ロードまたはディメンション構築中にフィールド・ケースを変更するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「フィールド・プロパティ」をクリックします。
-
「大文字/小文字」には、受信データに対して実行する操作を選択します。

-
「OK」をクリックします。ルールを検証して保存します。
先頭および末尾の空白の削除
ソース・データのフィールドから先頭スペースおよび末尾空白を削除できます。先頭スペースまたは末尾スペースを含むフィールド値は、スペースに囲まれた名前が完全に一致していても、メンバー名にマップされません。
Essbaseデータ・ロードまたはディメンション構築中にスペースを削除するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「フィールド・プロパティ」をクリックします。
-
「詳細」タブで、「切捨て」を選択します。
-
「OK」をクリックします。ルールを検証して保存します。
デフォルトでは、Essbaseでは、先頭スペースおよび末尾スペースが削除されます。
スペースのアンダースコアへの変換
データソースのフィールド内のスペースをアンダースコアに変換して、そのフィールド値をデータベースのメンバー名と一致させることができます。
Essbaseデータ・ロードまたはディメンション構築中にスペースをアンダースコアに変換するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「フィールド・プロパティ」をクリックします。
-
「詳細」タブで、「スペースをアンダースコアに変換」をクリックします。
-
「OK」をクリックします。ルールを検証して保存します。
フィールド値に接頭辞または接尾辞を追加します。
データソースの各フィールド値に接頭辞および接尾辞を追加できます。たとえば、Yearディメンションのすべてのメンバー名に2024を接頭辞として追加できます。
Essbaseデータ・ロードまたはディメンション構築中に接頭辞または接尾辞を追加するには、
-
Essbase Webインタフェースでロード・ルールを開きます。
-
フィールドを選択します。

-
「フィールド・プロパティ」をクリックします。
-
「詳細」タブで、追加する接頭辞または接尾辞を入力してください。

-
「OK」をクリックします。ルールを検証して保存します。