機械翻訳について

疎メンバーの組合せのグループ化

この項は、集約ストレージ・データベースには適用されません。

パフォーマンスを向上させる最も効果的な方法は、データベースの読取りまたは書込み中にEssbaseが実行する必要があるディスクI/Osの数を最小限に抑えることです。 Essbaseではブロックごとにデータ・ブロックがロードされるため、物理ブロック編成に対応するようにソース・データを編成すると、Essbaseで実行する必要がある物理ディスクI/Osの数が減少します。

疎ディメンションの同じ一意の組合せを持つレコードがグループ化されるようにデータ・ソースを配置します。 この配置は、データベース内のブロックに対応します。

この章の例では、この戦略に従ってデータを編成する方法を示します。 これらの例では、次に説明するように、Sample.Basicデータベースのサブセットを使用します:

表32-1 例のディメンションと値

疎、非属性ディメンション 密ディメンション

Scenario (Budget, Actual)

Measures (Sales, Margin, COG, Profit)

Product (Cola, Root Beer)

年(Jan、Feb)

Market (Florida, Ohio)

 

ノート:

データは属性ディメンションにロードされないため、疎ですが、この説明には関係ありません。

次のデータ・ソースについて考えてみます。 疎ディメンション・メンバーの組合せでグループ化されていないため、このデータは最適化のためにソートされていません。 Essbaseは各レコードを読み取るため、疎ディメンションの異なるメンバーを処理する必要があります。

Jan
Actual    Cola          Ohio      Sales    25
Budget    "Root Beer"   Florida   Sales    28
Actual    "Root Beer"   Ohio      Sales    18
Budget    Cola          Florida   Sales    30

Essbaseではブロックのかわりに4つにアクセスするため、このデータのロードは遅くなります。

同じSample.Basicデータベースに対して最適に編成されたデータ・ソースは、疎ディメンション・メンバーの一意の組合せでソートされた様々なレコードを表示: Actual -> Cola -> Ohio。 Essbaseは、これらのレコードをロードするために1つのブロックにのみアクセスします。

Actual     Cola    Ohio    Jan   Sales     25
Actual     Cola    Ohio    Jan   Margin    18
Actual     Cola    Ohio    Jan   COGS      20
Actual     Cola    Ohio    Jan   Profit     5

レコードごとに多数のセルをロードするデータ・ソースを使用できます。 レコードが一意の疎ディメンション・メンバーの組合せでグループ化されていることを確認してください。 次に、複数の値を指定するレコード内のディメンションが密ディメンションになるようにレコードを並べ替えます。

次のデータ・ソースの例では、ヘッダー・レコードを使用してMeasuresディメンションのメンバーである密を識別します。 データは、最初に密ディメンションYearのメンバーでソートされ、他のディメンションのメンバーで階層的にグループ化されます。 各レコードにMeasuresディメンションの複数の値が指定されています。

                                 Sales  Margin   COG  Profit
Jan Actual  Cola         Ohio       25      18    20       5
Jan Actual  Cola         Florida    30      19    20      10
Jan Actual  "Root Beer"  Ohio       18      12    10       8
Jan Actual  "Root Beer"  Florida    28      18    20       8

この例では、見出しと最初のデータ行に2つの行が必要です。前の例では、同じデータに4つの行が必要です。

ロード前のソース・ファイルでのデータの配置の詳細は、「ルール・ファイルを必要としないデータソース」を参照してください。