属性の操作

この項の内容:

属性の作成のプロセス

属性の理解

属性次元の理解

属性次元の設計

属性次元の構築

属性次元におけるメンバー名の設定

属性データの計算

可変属性

この章の情報の一部は、ブロック・ストレージ・データベースのみに適用され、集約ストレージ・データベースとは関係がありません。

関連項目:

属性の使用についてのその他情報については、次を参照してください:

属性の作成のプロセス

属性は、製品のサイズや色などのデータ特性を記述します。属性を使用して、次元のメンバーをその特性に基づいてグループ化したり分析したりできます。この章では、Essbaseサーバーのアウトラインで属性を作成および管理する方法について説明します。

アウトライン・エディタで属性を操作する場合は、次のタスクを実行します:

  1. 次元を作成します。

    アウトラインへの次元およびメンバーの追加を参照してください。アウトライン内で、属性次元をすべての標準次元の後に配置します。

  2. 次元に、属性次元タグを付け、テキスト、数値、ブールまたは日付の属性次元タイプを設定します。

    属性次元の作成を参照してください。

  3. メンバーを属性次元に追加します。

    アウトラインへの次元およびメンバーの追加を参照してください。

  4. 基本次元を属性次元に関連付けます。

    属性次元の関連付けの規則の理解を参照してください。

  5. 基本次元のメンバーを属性次元のメンバーに関連付けます。

    属性メンバーの関連付けの規則の理解を参照してください。

  6. 必要な場合は、属性計算を設定します。

    属性データの計算を参照してください。

属性の理解

Essbaseの属性機能を使用して、次元の観点からのみでなく、それらの次元の特性、つまり属性の観点からもデータを取得して分析できます。たとえば、製品の収益性をサイズやパッケージに基づいて分析でき、さらに各市場地域の人口などの市場属性を分析に組み込むことで、より効果的な結論を下すことができます。

このような分析により、小規模市場(人口6,000,000未満)では缶で販売されるカフェイン抜き飲料の売上が予想よりも低いことがわかる場合があります。さらに、同様の市場区分での様々な製品の売上と収益の最小値や最大値など、特定の属性条件によって分析を絞り込むことができます。

次に示すような属性による分析によって、深さと奥行きのある見方ができるので、より適切な情報に基づいた決定を下すことができます:

  • 共通の特徴(属性)に基づくデータの選択、集約およびレポートを行うことができます。

  • 属性をテキスト型、数値型、ブール型または日付型と定義することによって、AND、ORおよびNOT演算子や、<、>および=比較演算子など、型に関連した関数を使用したデータのフィルタ(選択)が可能になります。

  • 数値属性タイプを使用すれば、属性範囲別に統計値をグループ化できます。たとえば<500,000、500,000-1,000,000、>1,000,000などの人口グループにグループ化できます。

  • Essbaseによって自動的に作成される属性計算次元によって、属性データの合計、カウント、最小値または最大値、および平均値を表示できます。たとえば、スプレッドシートに「Avg」と「Bottle」を入力すると、Essbaseによってシート上の列と行のすべての交差の平均売上の計算値が取得されます。

  • 計算スクリプトやメンバー式で数値属性値を使用して計算を実行できます。たとえば、サイズがオンスで示された製品についてオンス当たりの収益性を判断できます。

  • 同一次元の属性データのクロス集計を作成したり、スプレッドシートで詳細データのピボットやドリル・ダウンを行ったりすることができます。

    属性のクロス集計は、同じ次元の属性全体のデータ集計を表示するレポートまたはスプレッドシートです。下の例のクロス集計では、製品のパッケージを列で、製品のサイズ(オンス)を行で表示しています。それらの交差には、パッケージ・タイプとサイズの各組合せに対する収益が示されています。

    この情報から、「Florida」市場では、どのサイズとパッケージの組合せが最も収益が高かったかがわかります。

                
    Product Year Florida Profit Actual
            Bottle     Can       Pkg Type
            ======     =====     ========
      32      946        N/A        946
      20      791        N/A        791
      16      714        N/A        714
      12      241      2,383      2,624
    Ounces  2,692      2,383      5,075
             

属性次元の理解

製品は、製品のサイズやパッケージなど、その製品の特性を示す属性を持ちます。属性メンバーは属性次元に存在します。アウトライン内の属性次元には、その名前の横に「属性」という語が付いています。

図41では、Product次元と3つの属性次元(Caffeinated、OuncesおよびPkg Type)を使用するSample.Basicアウトラインの一部を示しています。Product次元の右側のCaffeinated、OuncesおよびPkg Typeで、これらの属性次元がProduct次元に関連付けられていることを示しています。

図 41. 基本次元と属性次元を示すアウトライン

この図は、この図の前後のテキストで説明されている、基本次元(Products)と属性次元(Caffeinated、Ounces、Pkg Type)があるアウトラインを示しています。

標準次元とは、属性次元でない次元のことです。属性次元が標準次元に関連付けられている場合、その標準次元はその属性次元の基本次元になります。図41では、Product次元はCaffeinated、OuncesおよびPkg Type属性次元の基本次元です。

注:

属性次元とメンバーは動的計算です。そのため、Essbaseでは属性情報は取得時に計算されます。属性データはデータベースには保管されません。

属性次元のメンバーの理解

属性次元のメンバーは、関連する基本次元のメンバーの潜在的な属性です。基本次元を属性次元に関連付けた後に、基本次元のメンバーを関連する属性次元のメンバーに関連付けます。市場次元メンバーの「Connecticut」は、「Population」属性次元の「6000000」メンバーに関連付けられます。これによって、「6000000」が「Connecticut」の属性になります。

アウトラインでは、基本次元メンバーの横にある情報がそのメンバーの属性を示しています。たとえば、図41では、製品「100-10」は、カフェイン入り、12オンスの容器で販売、缶入りで販売という3つの属性を持つことを示しています。

基本次元および属性次元とメンバーの規則の理解

属性次元とその基本次元のメンバーに関する規則は次のとおりです。

  • 疎次元にのみ属性次元タグを付けることができます。

  • それぞれの属性次元を基本次元として標準の疎次元に関連付けると、サーバーにアウトラインを保存できます。

  • 属性次元はアウトラインの最後の次元にする必要があります。

  • 属性次元には、テキスト、数値、ブールまたは日付という型の設定があります。デフォルトの設定はテキストです。型は次元レベルで割り当てられますが、次元のレベル0のメンバーのみに適用されます。属性タイプの理解を参照してください。

  • 次元から属性タグを削除すると、Essbaseによって、そのメンバー名から接頭辞または接尾辞が削除されます。接頭辞と接尾辞はアウトラインには表示されません。属性次元のメンバー名における、接頭辞および接尾辞のフォーマットの設定を参照してください。

  • 基本次元メンバーは多くの属性を持つことができますが、各属性次元の属性を1つしか持つことができません。

    たとえば、製品100-10では、サイズとパッケージの属性を持つことができますが、1つのサイズと1つのパッケージ・タイプしか持つことができません。

  • 属性は、暗黙的共有メンバー(その子が共有としてタグ付けされている)には関連付けられません。

  • Essbaseでは、ハイブリッド分析対応のメンバーの属性はサポートされていません。

属性値は次のような比較の計算で使用できます:

  • > (より大)

  • >= (より大か等しい)

  • < (より小)

  • <= (より小か等しい)

  • = = (等しい)

  • <>または!= (等しくない)

  • IN

属性次元の関連付けの規則の理解

属性次元を標準次元に関連付けると、その標準次元はその属性次元の基本次元になります。

  • 属性次元は、疎の標準次元に関連付ける必要があります。

  • 標準次元は、複数の属性次元の基本次元になることができます。

  • 属性次元は、1つの基本次元にのみ関連付けることができます。

    たとえば、S、MおよびLというメンバーを持つサイズ属性次元があるとします。サイズ属性次元を製品次元に関連付けた場合は、サイズ属性次元を市場次元に関連付けることはできません。市場次元のサイズ関連の情報を追跡する場合は、異なる名前を持つ別の属性次元(市場サイズなど)が必要になり、その市場サイズ属性次元を市場次元に関連付ける必要があります。

属性メンバーの関連付けの規則の理解

属性次元のメンバーを基本次元のメンバーに関連付ける場合は、次の規則に従います:

  • 同じ属性次元の複数のメンバーを、同じ基本次元のメンバーに関連付けることはできません。たとえば、ボトルと缶のパッケージ・タイプを両方とも製品100-30に関連付けることはできません。

  • 異なる属性次元のメンバーを基本次元の同じメンバーに関連付けることができます。たとえば、16オンスのボトルで販売されるカフェイン抜きコーラの製品(100-30)は、「Caffeinated:False」、「Ounces:16」および「Pkg Type:Bottle」という3つの属性を持つことができます。

  • 属性を基本次元のメンバーに関連付けた後に、基本次元メンバーを切り取るかコピーしてアウトライン内の別の場所に貼り付けると、属性の関連付けは失われます。

  • Essbaseでは、それぞれの基本次元のメンバーを、属性次元のメンバーに関連付ける必要はありません。

  • 特定の属性次元のメンバーに関連付けられたすべての基本次元メンバーは、同じレベルであることが必要です。

    たとえば、図42では、「Population」属性を持つすべての市場次元メンバーはレベル0にあります。「Population」属性を持つ市場次元の他のメンバーはレベル0のメンバーであるため、レベル1のメンバーである「East」を「Population」属性に関連付けることはできません。

    図 42. 市場次元の同一レベル・メンバーへの属性の関連付け

    この図は、この図の前のテキストで説明されている、「Market」次元のレベル0のメンバーにのみ「Population」属性が割り当てられているアウトラインを示しています。
  • 基本次元のメンバーに関連付けることができるのは、属性次元のレベル0にあるメンバーのみです。

    たとえば、「Population」属性次元では、「3000000」、「6000000」、「9000000」などのレベル0のメンバーのみを市場次元に関連付けることができます。「Small」などのレベル1のメンバーを関連付けることはできません。

    属性次元のレベル0のメンバー名が属性値になります。属性次元のメンバーのうち、属性値を持つメンバーのみがレベル0のメンバーになります。

    属性次元のより上位レベルのメンバーを使用して、データを選択したりグループ化したりできます。たとえば、「Population」属性次元のレベル1のメンバーである「Small」を使用して、「3000000」と「6000000」の両方の人口カテゴリの売上を取得できます。

属性タイプの理解

属性次元にはテキスト型、数値型、ブール型または日付型があり、この型によりデータのグループ化、選択または計算のための様々な関数を使用できます。属性タイプは次元レベルで割り当てられますが、属性次元のレベル0のメンバーのみに適用されます。

  • デフォルトの属性タイプはテキストです。テキスト属性により、計算での基本属性メンバーの選択と属性の比較が可能になります。このような比較を実行すると、Essbaseで文字が比較されます。たとえば、アルファベット順ではBがCの前にくるため、パッケージ・タイプ「Bottle」はパッケージ・タイプ「Can」より小さくなります。Sample.Basicでは、「Pkg Type」がテキスト属性次元の一例です。

  • 数値属性次元のレベル0のメンバーの名前は、数値です。数値属性次元メンバーの名前(値)は計算に組み込むことができます。たとえば、「Ounces」属性で指定したオンス数を使用して、各製品のオンス当たりの収益を計算できます。

    数値属性は、基本次元の一定範囲の値に関連付けることができます。たとえば、市場の人口グループ別に製品の売上を分析するには、あるグループ内の人口3,000,000未満の州、別のグループ内の人口3,000,001から6,000,000までの州というように続けます。一定範囲の値を表すメンバー名の設定を参照してください。

  • データベース内のすべてのブール属性次元に含まれているメンバーは2つのみです。メンバー名はデータベースの設定(たとえば、TrueとFalse)と一致する必要があります。複数のブール属性次元が存在する場合は、接頭辞または接尾辞のメンバー名フォーマットを指定して、メンバー名を確実に一意にします。たとえば、Caffeinated_TrueやCaffeinated_Falseです。ブール属性のメンバー名の設定を参照してください。

  • 日付属性を使用すると、日付フォーマット(月-日-年または日-月-年)を指定したり、それに応じて情報を順序付けたりできます。日付属性次元のメンバー名の変更を参照してください。日付属性は計算で使用できます。たとえば、10-12-1999に開設された市場から製品の売上を選択する計算で日付を比較できます。

    Essbaseでは、1970年1月1日から2038年1月1日までの日付属性がサポートされています。

属性次元と標準次元の比較

一般に、属性次元とそのメンバーは、標準次元とそのメンバーに似ています。属性には別名やメンバーのコメントを付けることができます。属性次元には階層を含めることができ、世代とレベルに名前を付けることができます。属性次元とメンバーでは、標準次元とメンバーの場合と同じスプレッドシートの操作を実行できます。たとえば、様々な観点からデータを分析するために、スプレッドシート内で取得、ピボットおよびドリル・ダウンを実行できます。

表18で、属性次元と標準次元、およびそれらのメンバー間の主な相違点を説明します。

表 18. 属性次元と標準次元との相違点

機能

属性次元

標準次元

ストレージ

疎。属性次元の基本次元も疎であることが必要です

密または疎が可能

ストレージ・プロパティ

動的計算のみが可能。したがって、データベース内には保管されません。アウトラインにはこのプロパティは表示されません。

データの保管、動的計算および保管、動的計算、非共有またはラベルのみが可能

アウトライン内の位置

アウトラインの最後の次元であることが必要

アウトライン内のすべての属性次元より上に位置することが必要

パーティション

属性次元に沿って定義することは不可。ただし、属性を使用して基本次元上にパーティションを定義することはできます

標準次元に沿って定義可能

式(メンバーに対する)

関連付け不可

関連付け可能

共有メンバー

不可

可能

2パス計算メンバー・プロパティ

使用不可

使用可

実行時の式での2パス計算

メンバー式に、属性メンバー名に関連付けられている実行時依存の関数が含まれていて、その式を持つメンバーに2パスとタグ付けされている場合、計算ではそのメンバーがスキップされ、警告メッセージが表示されます。実行時依存の関数には、@CURRMBR、@PARENT、@PARENTVAL、@SPARENTVAL、@MDPARENTVAL、@ANCEST、@ANCESTVAL、@SANCESTVALおよび@MDANCESTVALがあります。

属性次元での2パス計算の理解を参照してください。

計算は、実行時の式を持ち、2パスのタグが付けられている標準メンバーに対して実行されます。

2パス、複数次元: 計算順序

2パスとタグ付けされたメンバーの計算の順序は、アウトライン内での順序に従います。最後の次元は最後に計算されます。

複数の次元で2パスのタグが付けられているメンバーの計算結果は、アウトライン順序には従いません。

メンバー式を含まない2パス計算

計算はスキップされ、警告メッセージが表示されます。したがって、2パスとタグ付けされたメンバーと上位レベルのメンバーのメンバー交差では、標準次元での計算とは異なる結果が戻されることがあります。

属性次元での2パス計算の理解を参照してください。

使用可

存在しない保管ブロックにおける、密の動的計算メンバー

存在しない保管ブロック上の密次元は、計算ではスキップされます。

密メンバーで機能する属性に対して、密メンバーのデータ・ブロックが存在する必要があります。動的計算式があり属性のない密メンバーでデータを取得する際、Essbaseは動的にデータ・ブロックを作成して値を戻します。ただし、動的計算密メンバーに属性がある場合、属性メンバーで取得を実行すると#MISSINGという結果が生じます。これは、Essbaseが密メンバーの動的計算をスキップし、データ・ブロックが作成されないためです。

存在しない保管ブロックを特定するには、データベースをエクスポートするかクエリーを実行して、ブロックにデータが含まれるかどうかを調べます。

使用可

メンバーに対するUDA

不可

可能

集計

すべてのメンバーが、属性計算次元メンバー(Sum、Count、Min、MaxおよびAvg)で計算されます。属性計算中はアウトライン内の集計演算子は無視されます。

希望する集計記号をそれぞれのメンバーに割り当てることによって、集計操作が指示されます

レベル0メンバーの型によるメンバー選択

使用可能な型はテキスト、数値、ブールおよび日付です。

すべてのメンバーはテキストとして処理されます

関連付け

基本次元に関連付けられることが必要

該当なし

スプレッドシートのドリルダウン

選択した属性に関連付けられた基本次元データが表示されます。たとえば、属性「Glass」をドリル・ダウンすると、パッケージがガラス瓶の各製品の売上が表示されます。その場合、「Product」は「Pkg Type」属性次元の基本次元です。

標準次元内の下位または兄弟のレベルの詳細が表示されます。たとえば、「QTR1」をドリル・ダウンすると、その四半期の製品とそれらの売上のリストが表示されます。

属性次元での2パス計算の理解

次の例は、Sample.BasicデータベースのProduct次元に基づき、2パス計算が属性次元でどのように機能するかを示しています。メンバー"400 - 30"が2パスとしてタグ付けされていると仮定します。

メンバー"400 - 30"に次のメンバー式がある場合:

      =”400–10”;
   

Essbaseは"400 - 30"における取得の実行時に、式を実行します。

"400 - 30"に次のメンバー式がある場合:

      =@CURRMBR("Market");
   

Essbaseは、許可されていない@CURRMBRランタイム関数が式に含まれるため、計算をスキップして次のエラー・メッセージを発行します:

      Two-pass calc skipped on member [400-30] in attribute calc”
   

"400 - 30"にメンバー式がない場合、2パスとしてタグ付けされているメンバーには式が必要なため、同じエラー・メッセージが生成されます。

属性とUDAの比較

属性とUDAにより、データの特性に基づく分析が可能になります。属性にはUDAよりも多くの機能があります。このトピックの表で、次の機能の領域における属性とUDAの相違点を示します:

  • データ・ストレージ(表19)

  • データの取得(表20)

  • データ変換(表21)

  • 計算スクリプト(表22)

表 19. データ・ストレージ- 属性とUDAの比較

データ・ストレージ

属性

UDA

疎次元に関連付けることができます。

サポートされています

サポートされています

密次元に関連付けることができます。

サポートされていません

サポートされています

表 20. データの取得- 属性とUDAの比較

データの取得

属性

UDA

属性値またはUDA値によって集計された合計をグループ化および取得できます。たとえば、値「High Focus Item」を製品次元の様々なメンバーに関連付け、この値を使用してこれらのメンバーのみの合計や詳細を取得します。

サポートされています

簡単

サポートされています

導入が困難。計算スクリプトやコマンドを追加することが必要

属性を階層で分類して、階層の上位レベルにおける集計結果を取得できます。たとえば個々の製品に8、12、16または32のようなサイズ属性があり、これらのサイズがS、MおよびLに分類されている場合などです。Sの製品の売上合計を表示できます。

サポートされています

サポートされています

導入が困難

同じ基本次元に関連付けられた属性の集約合計を表示する、クロス集約表示を作成できます。

サポートされています

各属性次元のすべての値に対するクロス集計を表示できます。

サポートされていません

特定のUDA値に基づく合計のみを取得できます。

ブール演算子AND、ORおよびNOTを属性値とUDA値とともに使用して、クエリーの精度を上げることができます。たとえば、製品グループ100からカフェイン抜き飲料を選択できます。

サポートされています

サポートされています

属性はテキスト、ブール、日付または数値の型を持つため、適切な演算子や関数を使用して属性データを操作したり表示したりできます。たとえば、特定の日付以降に発売されたすべての製品の売上合計を表示できます。

サポートされています

サポートされていません

数値属性を値の範囲でグループ化し、次元構築プロセスによって基本メンバーを適切な範囲に自動的に関連付けることができます。たとえば、売上を人口の範囲(300万未満、300万以上600万未満など)に基づいた様々な地域にグループ化できます。

サポートされています

サポートされていません

属性計算次元を使用して、合計、カウント、最小、最大、平均などの属性値の集約を表示できます。

サポートされています

サポートされていません

メンバーを定義する計算で属性を使用できます。たとえば、オンス単位の製品の重さを使用して、メジャー次元のオンス・メンバー当たりの収益を定義できます。

サポートされています

サポートされていません

属性関連情報を使用して特定の基本メンバーを取得できます。

サポートされています

強力な条件選択と値ベースの選択

サポートされています

テキスト文字列の一致のみに制限

表 21. データ変換- 属性とUDAの比較

データ変換

属性

UDA

データがデータベースにロードされるときに、UDAの値に基づいてデータの符号を変更できます。たとえば、「借方」というUDAを持つすべてのメンバーの符号を反転させることができます。

サポートされていません

サポートされています

表 22. 計算スクリプト- 属性とUDAの比較

計算スクリプト

属性

UDA

メンバーの属性値またはUDA値が特定の値に一致する場合に、そのメンバーに対して計算を実行できます。たとえば、「Bottle」の属性またはUDAで、すべての製品の価格を10%上げることができます。

サポートされています

サポートされています

指定した条件を満たす属性値を持つ基本メンバーに対して、計算を実行できます。たとえば、各基本メンバーのオンス当たりの収益を計算できます。

サポートされています

サポートされていません

属性次元の設計

Essbaseには、データベースで属性情報を設計する方法が複数あります。ほとんどの場合、属性次元とそのメンバーを使用してデータの特性を定義するのが最良の方法です。以降のセクションで、属性次元を使用するタイミング、他の機能を使用するタイミング、および属性を使用するときにパフォーマンスを最適化する方法について説明します。

属性次元の使用

最高の柔軟性と機能性を得るために、属性次元を使用して属性データを定義します。属性次元を使用すると、次の機能が得られます:

  • 上質で柔軟なデータ取得

    いつでも必要なときに属性データを表示したり、クロス集計を使用して有用な要約を作成したり、タイプに基づく比較を使用して参照するデータのみを選択して表示したりすることなどができます。

  • 計算機能の追加

    属性次元のメンバー名に計算を実行して、標準次元のメンバーを定義できるのみでなく、5つのタイプの属性データの連結(合計、カウント、平均、最小および最大)にアクセスできます。

  • 経済性と単純性

    属性次元は疎の動的計算であるため、データとしては保管されません。共有メンバーの使用と比較して、属性次元を使用するアウトラインに含まれるメンバーは少ないため、読取りが簡単です。

属性の理解を参照してください。

設計の代替アプローチの使用

状況に応じて、次のアプローチのいずれかを検討します:

  • UDA。UDAは属性に比べ柔軟性に欠けますが、データの特性に基づいたデータのグループ化や取得ができます。属性とUDAの比較を参照してください。

  • 共有メンバー。たとえば、季節分析を年次元に含めるには、適切な季節の下で共有メンバーとして月を繰り返し指定します。Winter: Jan (共有メンバー)、Feb (共有メンバー)のように続きます。共有メンバーを使用する場合の主な短所は、カテゴリで多数のメンバーを繰り返し指定すると、アウトラインが大きくなることです。

  • 標準の次元とメンバー。標準次元の追加によって柔軟性が得られますが、データベースにストレージの要件と複雑さが加わります。次元の追加による影響を評価する際のガイドラインは、分析とプランニングを参照してください。

表23で、データベース内の属性データの管理に対する代替アプローチを検討する状況について説明します。

表 23. 属性次元への代替アプローチの検討

状況

代替アプローチ

密次元の属性を分析する

UDAまたは共有メンバー

データのバッチ計算を実行する

共有メンバーまたは別個の標準次元のメンバー

属性次元のメンバーの名前を、式の結果である値として定義する

共有メンバーまたは別個の標準次元のメンバー

時間によって変化する属性を定義する

別個の標準次元のメンバー。たとえば、製品のメンテナンス・コストを一定期間追跡するには、メンテナンス時点の製品の寿命が重要です。ただし、属性機能を使用すると、製品に1つの寿命を関連付けるだけで済みます。追跡する各期間の個々の次元内に複数のメンバーが必要です。

多数の基本次元メンバーの取得にかかる時間を短縮する

共有メンバーまたは別個の標準次元のメンバーを使用したバッチ計算。

アウトラインのパフォーマンスの最適化

アウトラインのレイアウトとコンテンツは、属性計算とクエリーのパフォーマンスに影響する可能性があります。一般的なアウトラインの設計に関するガイドラインは、パフォーマンスを最適化するためのアウトラインの設計を参照してください。

属性のクエリーのパフォーマンスを最適化するには、次の設計ヒントを検討してください:

  • 属性次元がアウトライン内で唯一の疎の動的計算次元であることを確認します。

  • アウトライン内で密次元の後に疎次元を配置します。最も頻繁にクエリーの対象になる次元を疎次元の最初に置いて、属性次元をアウトラインの最後に置きます。ほとんどの場合、基本次元が最も頻繁にクエリーの対象になる次元です。

計算と取得のパフォーマンスの最適化を参照してください。

属性次元の構築

属性次元を構築するには、次元に属性としてタグ付けし、その次元にタイプを割り当てます。次に、属性次元を基本次元に関連付けます。最後に、属性次元のレベル0の各メンバーを、関連する基本次元のメンバーに関連付けます。

  属性次元を構築する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「属性の定義」を参照してください。

  特定の属性メンバーの次元、属性値および属性タイプを表示するには、次のツールを使用します:

ツール

トピック

場所

Administration Services

アウトラインでの属性情報の表示

Oracle Essbase Administration Services Online Help

MaxL

query database

『Oracle Essbaseテクニカル・リファレンス』

ESSCMD

GETATTRINFO

『Oracle Essbaseテクニカル・リファレンス』

属性次元におけるメンバー名の設定

属性機能を使用する場合、Essbaseではデフォルトのメンバー名が設定されます。たとえば、システム定義のTrueとFalseにより、TrueとFalseの他のメンバー名は排除されます。データベースのこれらのシステム定義の名前は変更可能です。日付属性と数値属性も重複可能です。重複名が混同されないようにするため、属性次元内のメンバー名を修飾するための設定を行うことができます。完全修飾属性名はアウトラインには表示されませんが、パーティションを定義する場合や、取得する情報を選択する場合など、メンバーを選択する場所ではどこでも完全な属性名を表示できます。

属性次元を定義または構築する前に、メンバー名の設定を定義します。属性次元とメンバーを定義した後でこの設定を変更すると、メンバー名が無効になることがあります。

次の項では、属性次元のメンバー名の操作方法について説明します:

注:

属性次元を含むアウトライン上でパーティション化を行う場合、この項で説明するメンバーの名前フォーマット設定は、ソースとターゲットのアウトラインで等しくなることが必要です。

属性次元のメンバー名における、接頭辞および接尾辞のフォーマットの設定

この項で説明する情報は、重複メンバー属性次元には適用されません。

ブール、日付および数値属性次元のメンバーの名前は、値です。異なる属性次元内に重複する属性値を存在させることができます。

  • ブールの例

    アウトライン内に複数のブール属性次元がある場合、これらの各次元の2つのメンバーは同じ名前(デフォルトでTrueおよびFalse)を持っています。

  • 日付の例

    複数の日付属性次元がある場合、両方の次元内のいくつかのメンバー名は同じになることがあります。たとえば、ある市場で店舗が開店する日付が、製品を発売した日付と同じになることがあります。

  • 数値の例

    製品のサイズの属性値が12であり、製品のパッケージ単位数の値も12であることもあります。この例では、12という名前を持つメンバーが2つになります。

アウトライン内のブール、日付および数値属性次元のメンバー名に接頭辞または接尾辞を付けることで、一意の名前を定義できます。属性名に次元、親、親の親またはすべての祖先を添付できます。たとえば、属性次元のメンバー名を設定する際、接尾辞として次元名を含め、アンダースコアを付けることによって、オンス属性次元のメンバー値12は一意の完全な属性メンバー名「12_Ounces」とみなされます。

デフォルトでは、Essbaseでは、属性次元のメンバー名に接頭辞や接尾辞を付けないことが前提になります。

選択するルールは、アウトライン内のすべての数値、ブールおよび日付属性次元のレベル0のメンバー名に適用されます。取得の際に短い名前を表示する場合は、これらの名前の別名を定義できます。

  接頭辞および接尾辞のフォーマットを定義する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「属性次元のメンバーの接頭辞または接尾辞のフォーマットの定義」を参照してください。

ブール属性のメンバー名の設定

属性次元の次元タイプをブールとして設定すると、Essbaseではブール属性設定に指定された名前を持つレベル0のメンバーが2つ自動的に作成されます。データベース内の最初のブール・メンバー名は、TrueおよびFalseとして設定されます。これらのデフォルト名を、たとえばYesとNoに変更するには、データベース内にブール属性次元を作成する前に、ブール属性次元のメンバー名を定義します。

属性次元タイプをブールに設定する場合は、次元内の既存のすべてのメンバーを削除する必要があります。

  ブール属性次元のメンバーの名前のデータベース設定を定義する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「ブール属性次元のメンバー名の設定」を参照してください。

日付属性次元のメンバー名の変更

日付属性次元のメンバーのフォーマットは、変更可能です。たとえば、次のような日付フォーマットを使用できます:

  • mm-dd-yyyy: 2007年10月18日は10-18-2007と表示されます。

  • dd-mm-yyyy: 2007年10月18日は18-10-2007と表示されます。

日付メンバー名フォーマットを変更すると、日付属性次元の既存のメンバーの名前が無効になることがあります。たとえば、10-18-2007メンバーが存在しているときに、フォーマットをdd-mm-2007に変更すると、アウトライン確認ではこのメンバーは無効とみなされます。日付フォーマットを変更する場合は、日付属性次元を再構築する必要があります。

  日付属性次元のメンバー名を変更する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「日付属性次元のメンバー名のフォーマットの設定」を参照してください。

一定範囲の値を表すメンバー名の設定

数値属性次元のメンバーは、単一の数値または一定の範囲内の値を表せます:

  • 単一の値の例: オンス属性次元のメンバー12。これは単一の数値12を表します。この属性をすべての12オンスの製品に関連付けます。アウトラインには、サイズごとに別のメンバー(たとえば、16、20および32)が含まれます。

  • 一定の範囲内の値の例: 図43に示すような「Population」属性次元:

    図 43. 「Population」属性次元とメンバー

    この図は、値の範囲例としての「Population」属性次元のアウトラインを示しています。

    このアウトラインでは、「Population」属性次元のメンバーは、関連する市場次元内の人口値の範囲を表しています。3000000メンバーはゼロから3,000,000まで、6000000メンバーは3,000,001から6,000,000までのように表しています。アウトラインの設定では、各数値メンバーがその範囲の上限を表すように設定されます。

    このアウトラインの設定は、数値属性次元のメンバーが、それらが表現する範囲の下限になるように定義できます。たとえば、範囲の下限を定義するように数値メンバーを設定する場合、3000000メンバーは3,000,000から5,999,999までの人口を表し、6000000メンバーは6,000,000から8,999,999までの人口を表します。

基本次元を構築すると、Essbaseによって、基本次元のメンバーが該当する属性範囲に自動的に関連付けられます。たとえば、数値メンバーが範囲の上限を表している場合、Essbaseにより、人口が3,269,858の「Connecticut」市場は、「Population」属性次元の6000000メンバーに関連付けられます。

次元構築ルール・ファイルでは、数値属性次元の各メンバーに範囲のサイズを指定します。上の例では、各属性は3,000,000の範囲を表しています。

  数値属性次元で範囲を定義する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「値の範囲へのメンバー名の割当て」を参照してください。

注:

数値属性次元のメンバー名の小数点以下の桁数は、6桁を超えないようにすることをお薦めします。6桁を超えると、精度調整が原因でアウトラインの確認に成功しないことがあります。

属性計算次元のメンバー名の変更

アウトラインにおける名前の重複を避けるために、属性計算次元またはそのメンバーの名前の変更が必要になる場合があります。

Sum、Count、Min、MaxおよびAvgの、Essbaseが属性計算次元で作成するメンバーの名前は、予約語と想定されません。属性計算次元これらの名前を変更してから、属性次元または標準次元のデフォルト名を使用できるためです。次のガイドラインに従います:

  • アウトラインが重複メンバー・アウトラインとしてタグ付けされている場合、デフォルト名を使用して他の基本メンバーまたは属性メンバーに名前を付けます。

  • アウトラインが一意メンバー・アウトラインとしてタグ付けされている場合、Sum、Count、Min、MaxおよびAvgをメンバー名として使用することは避けます。たとえば、標準次元でMaxを使用してから属性次元を作成する場合、Essbaseが属性計算次元でMaxメンバーを作成すると、Essbaseは重複した名前を検知して、名前がすでに使用中であることを示すエラー・メッセージを戻します。

属性計算次元メンバーに使用する名前とは無関係に、その機能はそのまま持続します。たとえば、2番目のCountメンバーは常に数を数えます。

  属性計算次元のメンバー名を変更する方法は、『Oracle Essbase Administration Servicesオンライン・ヘルプ』の「属性計算次元のメンバー名の変更」を参照してください。

属性データの計算

Essbaseでは、Essbaseによって作成されたシステム定義次元のメンバーを使用して、取得時に属性データが動的に計算されます。この次元を使用して、合計や平均などの様々な計算関数を同じ属性に適用できます。属性次元のメンバーに対して特定の計算を実行することもできます。たとえば、サイズがオンスで示された製品についてオンス当たりの収益性を判断できます。

以降の説明では、属性次元とEssbaseの計算(動的計算など)の概念を理解していることが前提になります。次の項を参照してください。

属性計算次元の理解

アウトライン内に最初の属性次元を作成すると、Essbaseによって、デフォルト名SumCountMin (最小)、Max (最大)およびAvg (平均)を持つ5つのメンバーで構成される属性計算次元も作成されます。これらのメンバーをスプレッドシートやレポートで使用して、西部地域の12オンス・ボトル入りコーラの1年間の平均売上などの属性データを動的に計算したり、レポートを作成したりできます。

属性計算次元はアウトラインには表示されません。属性計算次元は、Smart Viewなど、次元メンバーを選択した任意の場所で表示できます。

属性計算次元には次のプロパティがあります:

  • システム定義

    アプリケーションで最初の属性次元を作成すると、Essbaseによって、属性計算次元とそのメンバー(Sum、Count、Min、MaxおよびAvg)が作成されます。各メンバーは、属性で実行される計算のタイプを表します。

    デフォルトの属性計算メンバーの理解を参照してください。

  • ラベルのみ

    すべてのラベルのみ次元と同様、属性計算次元はその最初の子Sumの値を共有します。

    メンバーのストレージ・プロパティを参照してください。

  • 動的計算

    属性計算次元内のデータは、ユーザーが要求したときに計算され、その後は破棄されます。計算された属性データは、データベースには保管できません。

    データ値の動的計算。を参照してください。

  • アウトライン・エディタでは非表示

    属性計算次元はアウトライン・エディタでは表示されません。この次元のメンバーは、スプレッドシートとレポートで表示できます。

属性次元に沿った集計はありません。属性データを計算するために、属性次元のメンバーに集計記号(+や-)またはメンバー式をタグ付けすることはできません。属性計算は、時間や計算順序について、動的計算メンバーとしてバッチ計算に影響を与えることはありません。

取得時に属性データを計算するため、Essbaseでは次のタスクが実行されます:

  1. 現在のクエリーに存在する属性次元メンバーに関連付けられた基本次元メンバーを探します

  2. 現在のクエリーの属性とメンバーの組合せに対して、合計、カウント、最小、最大または平均を動的に計算します

  3. スプレッドシートまたはレポートに結果を表示します

  4. 計算された値を破棄します。この値はデータベースに保管されません

    注:

    Essbaseでは、属性データを計算するときは#MISSING値が除外されます。

たとえば、図44に示すように、スプレッドシートのユーザーは、属性次元の2つのメンバー(「Ounces_16」と「Bottle」)と属性計算メンバー(Avg)をスプレッドシートのレポートに指定します。取得時に、Essbaseでは、現在のメンバーの組合せ(Actual -> Sales -> East -> Qtr1)に対してこれらの属性に関連付けられたすべての製品の平均売上高が動的に計算されます:

図 44. 属性計算メンバーの取得

この図は、この図の前のテキストで説明されている属性計算次元を示しています。

スプレッドシートの使用による属性計算メンバーへのアクセスを参照してください。

デフォルトの属性計算メンバーの理解

属性計算次元には、属性データを計算したりレポートしたりするために使用する5種類のメンバー(Sum、Count、Min、MaxおよびAvg)があります。

  • Sum - 属性または属性の組合せを持つメンバーの合計を計算します。

  • Count - 指定された属性または属性の組合せを持ち、それに対するデータ値が存在するメンバーの数を計算します。「Count」には、存在するデータ・ブロックを持つメンバーのみが含まれます。データ値を持つかどうかにかかわらず、ある属性を持つすべてのメンバーの数を計算するには、@COUNT関数を@ATTRIBUTE関数と組み合せて使用します。『Oracle Essbaseテクニカル・リファレンス』を参照してください。

  • Avg - 指定された属性または属性の組合せに対して、欠落していない値の数学的平均を計算します(SumをCountで除算)。

  • Min - 指定された属性または属性の組合せに対して最小データ値を計算します。

  • Max - 指定された属性または属性の組合せに対して最大データ値を計算します。

    注:

    これらの各計算では#MISSING値は除外されます。

これらのデフォルトのメンバー名は、標準のメンバーと同じ命名規則に従って変更できます。属性計算次元のメンバー名の変更を参照してください。

属性計算の例

Essbaseによる属性データの計算例として、次に示す東部の年次売上データを検討します:

表 24. サンプル属性データ

基本次元メンバー

関連属性

属性とメンバーの組合せに対する売上高

Cola

Ounces_12, Can

23205

Diet Cola

Ounces_12, Can

3068

Diet Cream

Ounces_12, Can

1074

Grape

Ounces_32, Bottle

6398

Orange

Ounces_32, Bottle

3183

Strawberry

Ounces_32, Bottle

5664

図45は、計算された属性データがスプレッドシートのレポートでどのように表示されるかを示しています。属性に対して複数の属性計算メンバーを取得できます。たとえば、ボトルと缶に対してSum、Count、Avg、MinおよびMaxを計算できます。

図 45. 属性データによるサンプル・スプレッドシート

この図は、前の表で示したサンプル属性データに基づくサンプル・スプレッドシートを示しています。

スプレッドシートの使用による属性計算メンバーへのアクセス

Smart Viewで属性計算次元のメンバーにアクセスできます。スプレッドシートでは、ユーザーは次の方法のいずれかを使用して、属性計算次元メンバーを表示できます:

  • シートにメンバーを直接入力します

  • クエリー・デザイナからメンバーを選択します

  • EssCellパラメータでメンバーを入力します

Oracle Hyperion Smart View for Office User's Guideを参照してください。

計算と取得のパフォーマンスの最適化

属性計算と取得のパフォーマンスを最適化するには、次の点を考慮してください:

  • 属性計算の計算順序は、動的計算の場合と同じです。アウトラインについては、動的計算の計算順序を参照してください。

  • Essbaseでは、取得時に属性データが動的に計算されるため、属性計算は全体の(バッチ)データベース計算のパフォーマンスには影響しません。

  • 基本次元メンバーに動的計算タグを付けると取得時間が短縮されます。

  • クエリーにSumメンバーと、関連する基本メンバーに2パス・タグが付けられた属性次元メンバーが含まれている場合、取得時間が遅くなることがあります。

  • 属性の取得パフォーマンスを最大化するには、次のいずれかの方法を使用します:

    • アウトラインのパフォーマンスの最適化のヒントを使用してアウトラインを構成します。

    • データの取得前に、基本次元の最下位レベルまでドリル・ダウンします。たとえば、Smart Viewでは、データなし操作機能を有効にして、レポートに含まれている基本次元の最下位レベルまでドリル・ダウンし、その後データを取得します。

    • 基本次元のメンバーがいくつかの属性次元に関連付けられている場合は、それらの属性に従って基本次元メンバーをグループ化することを検討します。たとえば、Sample.Basicデータベースでは、すべての8オンスの製品をグループ化できます。

計算式での属性の使用

属性計算次元を使用して属性データを計算することに加え、標準次元または基本次元のメンバーに計算式を使用して、属性次元のメンバーに対して特定の計算を実行できます。たとえば、サイズがオンスで示された製品についてオンス当たりの収益性を判断できます。

式を属性次元のメンバーに関連付けることはできません。

注:

2パス・メンバーに関連付けられた式で属性を使用する場合は、いくつかの制限が適用されます。表18および属性次元での2パス計算の理解で、2パス計算に関する行を参照してください。

表25で、属性に対する特定の計算の実行に使用できる関数を示します:

表 25. 属性に対する計算を行う関数

関数

計算のタイプ

@ATTRIBUTE

特定の属性を持つすべての基本メンバーのリストを生成します。たとえば、Bottle属性を持つメンバーのリストを生成してから、これらのメンバーの価格を上げます。

@ATTRIBUTEVAL

@ATTRIBUTEBVAL

@ATTRIBUTESVAL

計算される基本メンバーに関連付けられているレベル0属性メンバーの値を戻します。

  • 数値または日付属性次元から(@ATTRIBUTEVALを使用)

  • ブール属性次元から(@ATTRIBUTEBVALを使用)

  • テキスト属性次元から(@ATTRIBUTESVALを使用)

たとえば、計算対象の基本メンバー(たとえば、「Cola」)に対して、サイズ属性の数値(たとえば、「Ounces」の下のメンバー12に対して12)を戻します。

式での@ATTRIBUTEVALのその他の使用例は、属性の式の計算を参照してください。

@TODATE

日付文字列を計算のために数値に変換します。たとえば、@TODATEを@ATTRIBUTEVAL関数と組み合せて使用して、ある日付以降に開店した店舗の間接費を増額します。

@WITHATTR

指定した条件を満たす属性または可変属性に関連付けられている基本次元メンバーのリストを生成します。たとえば、20オンス以上の製品のリストを生成してから、それらの製品の価格を上げます。

属性計算と共有メンバーの理解

属性計算は、レベル0から開始され、最初の保管済メンバーで停止します。したがって、アウトラインでアウトライン階層内の2つの共有メンバーの間に保管済メンバーが配置されていると、より上位の共有メンバーは計算結果に含まれないことがあります。

次の例では、属性計算が実行されると、計算はレベル0のメンバー2から開始され、最初の保管済メンバーであるメンバーAが検出された時点で停止します。したがって、メンバー1は計算には含まれません。

         Member 1 (stored)
   Member A (stored)
     Member 2 (shared)
Member B (stored)
   Member 1 (shared member whose stored member is Member 1 above)
      

属性計算での予期せぬ結果を回避するために、共有メンバーと保管済メンバーを混在させないでください。この例の場合、メンバー2が共有されていない場合、またはメンバー1にアウトライン内の他の場所に対応する共有メンバーがない場合、計算結果は予期したとおりになります。

可変属性

可変属性について

通常、製品はその製品を記述または定義する属性を持ちます。たとえば、ある製品が、製品サイズをオンスで記述する属性と、製品の種類を記述する属性を持つとします。このようなシナリオでは、製品は基本次元で、オンスと種類は属性次元です。

可変属性を使用すると、独立次元という3番目の次元との関連で2つの値を追跡できます。たとえば、8オンスの製品を1年間追跡するとします。このシナリオでは、時間が独立次元です。この3番目の係数の値は可変です(そのため「可変属性」という名前です)。たとえば、製品を1年間、1四半期または1か月間追跡できます。

注:

独立次元には、連続と個別の2つのタイプがあります。連続次元のメンバーは連続を示します。たとえば、週、月および四半期は、時間次元内の連続を示します。個別次元のメンバーは、連続の意味を持ちません。たとえば、市場次元のカリフォルニア、テキサスおよびオハイオには、連続に基づいた関係はありません。

もう1つの例として、次のシナリオについて考えてみます: あるクライアントの営業担当者が1年の中ごろに変わったとします。表26に、半年間の顧客の売上合計と営業担当者の割当てを示します:

表 26. 可変属性の例: ある期間での営業担当者の変更

3月

4月

5月

6月

7月

8月

4000

6000

2000

1000

1000

7000

ジョーンズ

ジョーンズ

ジョーンズ

スミス

スミス

スミス

この例では、営業担当者が可変属性です。データの取得により、営業担当者であるジョーンズが3月から5月までに総額$12,000の製品を顧客に販売し、その後、営業担当者であるスミスが6月から8月までに総額$9,000の製品を販売したことが示されています。可変属性を使用しない場合、営業担当者については現在の担当者であるスミスしか把握できず、すべての売上($21,000)がスミスの売上として示されます。

可変属性は、メンバーのグループ化に代わる方法を提供します。たとえば、色を使用してSKUをグループ化できるとします。このシナリオでは、属性次元「Color」はSUBSKUに関連付けられています:

      Product_H
  |
  |__Family
  |  |
  |  |__SKU
  |     |
  |     |__SUBSKU
  |  
  |__Color
     |
     |__SUBSKU
   

Colorを可変属性に設定すると、取得の結果は表27の値と同様になります:

表 27. 可変属性としてのColor

SUBSKU

SKU

100

400

600

200

300

500

可変属性は次のガイドラインに従う必要があります:

  • 複数のチェーンを持つ必要がある。

  • リーフ・レベルが一致する必要がある。

アウトラインでは可変属性をサポートできます。属性次元を可変属性として機能するように定義できます。また、必要な情報のタイプを反映するように可変属性を編集することもできます。

可変属性の実装

可変属性は、集約ストレージ・データベースとブロック・ストレージ・データベースでサポートされます。可変属性はデータベース・レベルで実装します。

可変属性を使用可能にして使用するには、次のワークフローを使用します:

  1. アウトライン・プロパティで、可変属性を使用可能にします。

  2. 基本次元のメンバー・プロパティで、「属性」タブに移動し、独立次元(可変属性が依存する次元)を識別します。

    たとえば、顧客Aの営業担当者の属性の関連付けが5月に変更される場合は、年が独立次元になります。

  3. 独立次元のタイプ(連続または個別)を指定します。連続独立次元の一例は、時間に基づいた独立次元です。個別独立次元には連続性はありません。たとえば、市場次元では、カリフォルニア、テキサスおよびオハイオには連続に基づいた関係はありません。

  4. 独立次元を可変属性に関連付けます。オプションで、範囲関連付けモードを選択します。

    属性の関連付けが当てはまる範囲を割り当てることができます。たとえば、「ジェーンが2007年7月から2008年6月までエンジニアである」のように属性の関連付けが適用される時間範囲を割り当てることができます。

    関連付けモードは、Essbaseでの可変属性とその独立次元との関連付けの競合を処理する方法を指定します。使用できる関連付けモードは、「Overwrite」、「NoOverwrite」および「Extend」です。

  5. アウトラインを保存し、再構築します。

  6. 必要に応じて、次のメンテナンス作業を実行します:

    • 独立メンバーに新しい可変属性の関連付けを追加します(たとえば、従業員の新しい役職を追加します)。

    • 独立メンバーの関連付けを削除します。

    • 既存の独立次元のメンバーの関連付けを表示します(たとえば、会社に代理の販売管理者がいた月を表示します)。

    • 基本次元から属性次元の関連付けを解除します。

可変属性をサポートする関数

次に示すレポート・ライター・コマンドは可変属性を使用できるように設計されています。

  • <PERSPECTIVE

  • <WITHATTREX

  • <ATTRIBUTEVA

次に示す計算関数およびコマンドには可変属性を使用できます。

  • @WITHATTR

  • @ISATTRIBUTE

  • @ISMBRWITHATTR

  • SET SCAPERSPECTIVE

次に示すMDX関数は可変属性を使用できるように設計されています。

  • AttributeEx

  • WithAttrEx

  • WITH PERSPECTIVEキーワード

『Oracle Essbaseテクニカル・リファレンス』を参照してください。

可変属性の制限

連続独立次元は、単一の次元(年や月など)として機能する必要があります。関連のない連続独立次元はサポートされていません。

連続独立次元およびメンバーは、最後に指定する必要があります。

独立メンバーは、保管されているレベル0のメンバーにする必要があります。

計算スクリプトにパースペクティブが指定されていない場合は、FIXコマンドに可変属性を含めることはできません。

範囲の開始/終了を示す独立メンバーの場合:

  • 削除できません

  • 共有すること、またはラベルのみにすることはできません

  • レベル0にする必要があります

  • 別の次元に移動することはできません

  • 他の範囲に移動することはできません

アウトラインが保存されるまでは、新たに移動または追加された独立メンバーを使用して範囲を示すことはできません。