Analysis Services データベースに対する拡張フィールド プロパティの使用

更新 : 2006 年 4 月 14 日

SQL Server Analysis Services のデータ処理拡張機能では、拡張フィールド プロパティがサポートされています。拡張フィールド プロパティとは、データ ソースにありデータ処理拡張機能でサポートされるフィールド プロパティ Value および IsMissing に加えて使用するプロパティです。拡張プロパティは、レポート データセットのフィールド コレクションの一部として [データセット] ペインには表示されません。拡張フィールド プロパティ値をレポートに含めるには、グローバル Fields コレクションを使用して名前で拡張フィールド プロパティ値を指定する式を記述します。

拡張プロパティには、定義済みプロパティとカスタム プロパティがあります。定義済みプロパティとは、特定のフィールド プロパティ名にマップされ、グローバル Fields コレクションを介して名前でアクセスできる、複数のデータ ソースに共通のプロパティです。カスタム プロパティは、データ プロバイダごとに定義され、拡張プロパティ名を文字列として扱う構文のみを使用して、グローバル Fields コレクションを介してアクセスできます。

Analysis Services MDX クエリ デザイナをグラフィカル モードで使用してクエリを定義する場合、セル プロパティおよびディメンション プロパティの定義済みのセットが自動的に MDX クエリに追加されます。レポート内では、MDX クエリに明記されている拡張プロパティのみを使用できます。レポートによっては、既定の MDX コマンド テキストを変更して、キューブに定義されている他のディメンションまたはカスタム プロパティを含めることができます。Analysis Services データ ソースで使用できる拡張フィールドの詳細については、「プロパティ値の作成および使用 (MDX)」を参照してください。

レポートのフィールド プロパティの操作

拡張フィールド プロパティには、定義済みプロパティとデータ プロバイダ固有のプロパティがあります。フィールド プロパティは、データセット用に作成されたクエリに存在しますが、[データセット] ウィンドウのフィールド一覧に表示されません。したがって、フィールド プロパティはレポートのレイアウトにドラッグできません。代わりに、フィールドをレポートにドラッグし、フィールドの Value プロパティから、使用するプロパティに変更します。

事前に定義されていない拡張プロパティを参照するには、式で次の構文を使用します。

  • Fields!FieldName("PropertyName")

定義済みフィールド プロパティ

ほとんどの場合、定義済みフィールド プロパティはメジャー、レベル、またはディメンションに適用されます。定義済みフィールド プロパティは、対応する値が Analysis Services データ ソースに格納されている必要があります。値が存在しない場合、または、レベルにメジャーのみのフィールド プロパティを指定する場合、プロパティは NULL 値を返します。

次の構文のいずれかを使用して、式から定義済みプロパティを参照できます。

  • Fields!FieldName.PropertyName
  • Fields!FieldName("PropertyName")

次の表に、使用できる定義済みフィールド プロパティの一覧を示します。

プロパティ 説明または予測値

Value

Object

フィールドのデータ値を指定します。

IsMissing

Boolean

フィールドが結果データセットに存在するかどうかを示します。

UniqueName

String

レベルの完全修飾名を返します。たとえば、従業員の UniqueName 値は、[Employee].[Employee Department].[Department].&[Sales].&[North American Sales Manager].&[272] です。

BackgroundColor

String

データベースで定義されたフィールドの背景色を返します。

Color

String

データベースで定義されたアイテムの前景色を返します。

FontFamily

String

データベースで定義されたアイテムのフォント名を返します。

FontSize

String

データベースで定義されたアイテムのフォントのポイント サイズを返します。

FontWeight

String

データベースで定義されたアイテムのフォントの太さを返します。

FontStyle

String

データベースで定義されたアイテムのフォントのスタイルを返します。

TextDecoration

String

データベースで定義されたアイテムの特殊なテキストの書式設定を返します。

FormattedValue

String

メジャーまたは主要データに対して書式設定した値を返します。たとえば、Sales Amount QuotaFormattedValue プロパティは、$1,124,400.00 などの通貨形式を返します。

Key

Object

レベルのキーを返します。

LevelNumber

Integer

親子階層の場合は、レベル番号またはディメンション番号を返します。

ParentUniqueName

String

親子階層の場合は、親レベルの完全修飾名を返します。

定義済みフィールド プロパティは、フィールドに構文を入力する際に式エディタの IntelliSense に表示されます。詳細については、「式でのグローバル コレクションの使用 (Reporting Services)」を参照してください。

ms156477.note(ja-jp,SQL.90).gifメモ :
レポートが実行されてそのデータセットのデータを取得する際にデータ ソース (Analysis Services キューブなど) によってこれらの値が提供される場合にのみ、これらの拡張フィールド プロパティに対応する値が存在します。その場合、以下に示す構文を使用して、すべての式からこれらのフィールド プロパティ値を参照できます。ただし、これらのフィールドはこのデータ プロバイダに固有であるため、これらの値に加えた変更はレポート定義には保存されません。

拡張プロパティの例

拡張プロパティの例として、次の MDX クエリおよび結果セットには、キューブに対して定義されているディメンション属性で使用できるいくつかのメンバ プロパティが含まれています。含まれているメンバ プロパティは、MEMBER_CAPTION、UNIQUENAME、Properties("Day Name")、MEMBER_VALUE、PARENT_UNIQUE_NAME、および MEMBER_KEY です。

この MDX クエリは、AdventureWorks サンプル データベースに付属している AdventureWorks DW データベース内の AdventureWorks キューブに対して実行します。

WITH MEMBER [Measures].[DateCaption] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_CAPTION' 
   MEMBER [Measures].[DateUniqueName] 
      AS '[Date].[Date].CURRENTMEMBER.UNIQUENAME' 
   MEMBER [Measures].[DateDayName] 
      AS '[Date].[Date].Properties("Day Name")' 
   MEMBER [Measures].[DateValueinOriginalDatatype] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_VALUE' 
   MEMBER [Measures].[DateParentUniqueName] 
      AS '[Date].[Date].CURRENTMEMBER.PARENT_UNIQUE_NAME' 
   MEMBER [Measures].[DateMemberKeyinOriginalDatatype] 
      AS '[Date].[Date].CURRENTMEMBER.MEMBER_KEY' 
SELECT {
   [Measures].[DateCaption], 
   [Measures].[DateUniqueName], 
   [Measures].[DateDayName], 
   [Measures].[DateValueinOriginalDatatype],
   [Measures].[DateParentUniqueName],
   [Measures].[DateMemberKeyinOriginalDatatype]
   } ON COLUMNS , [Date].[Date].ALLMEMBERS ON ROWS 
FROM [Adventure Works]

このクエリを MDX クエリ ペインで実行すると、1,158 行の結果セットが返されます。最初の 4 行を次の表に示します。

DateCaption DateUniqueName DateDayName DateValueinOriginalDatatype DateParentUniqueName DateMemberKeyinOriginalDatatype

All Periods

[Date].[Date].[All Periods]

(null)

(null)

(null)

0

1-Jul-01

[Date].[Date].&[1]

Sunday

7/1/2001

[Date].[Date].[All Periods]

1

2-Jul-01

[Date].[Date].&[2]

Monday

7/2/2001

[Date].[Date].[All Periods]

2

3-Jul-01

[Date].[Date].&[3]

7/3/2001

[Date].[Date].[All Periods]

3

MDX クエリ デザイナのグラフィカル モードを使用して作成される既定の MDX クエリに、ディメンション プロパティとして含まれるのは MEMBER_CAPTION と UNIQUENAME のみです。既定では、これらの値は常に String データ型です。

メンバ プロパティの元のデータ型を保持する必要がある場合は、汎用クエリ デザイナで既定の MDX ステートメントを変更することで、追加のプロパティ MEMBER_VALUE を含めることができます。次の単純な MDX ステートメントでは、取得するディメンション プロパティのリストに MEMBER_VALUE が追加されています。

SELECT NON EMPTY {[Measures].[Order Count]} ON COLUMNS, 
NON EMPTY { ([Date].[Month of Year].[Month of Year] ) } 
DIMENSION PROPERTIES 
  MEMBER_CAPTION, MEMBER_UNIQUE_NAME, MEMBER_VALUE ON ROWS 
FROM [Adventure Works]
CELL PROPERTIES 
  VALUE, BACK_COLOR, FORE_COLOR, 
  FORMATTED_VALUE, FORMAT_STRING, 
  FONT_NAME, FONT_SIZE, FONT_FLAGS

MDX 結果ペインに表示された結果の最初の 4 行を次の表に示します。

Month of Year Order Count

January

2,481

February

2,684

March

2,749

April

2,739

プロパティは MDX の SELECT ステートメントに含まれていますが、結果セット列には表示されません。そこで、拡張プロパティ機能を使用すると、データをレポートに使用することができます。SQL Server Management Studio の MDX クエリ結果ペインで、セルをダブルクリックすると、セルのプロパティ値が表示されます (キューブ内で設定されている場合)。1,379 という値が格納されている最初の Order Count セルをダブルクリックすると、ポップアップ ウィンドウに次のセル プロパティが表示されます。

プロパティ

CellOrdinal

0

VALUE

2481

BACK_COLOR

(null)

FORE_COLOR

(null)

FORMATTED_VALUE

2,481

FORMAT_STRING

#,#

FONT_NAME

(null)

FONT_SIZE

(null)

FONT_FLAGS

(null)

このクエリを使用してレポート データセットを作成し、データセットをテーブルにバインドすると、フィールドの既定の VALUE プロパティが表示されます (たとえば =Fields!Month_of_Year!Value)。Value フィールドは既定で String データ型なので、この式をテーブルの並べ替え式として使用した場合、結果は月のアルファベット順に並べ替えられます。月がカレンダー順に並ぶ (つまり、January が先頭に来て December が最後に来る) ようにテーブルを並べ替えるには、次の式を使用します。

=Fields!Month_of_Year("MEMBER_VALUE")

これにより、データ ソースの元の整数データ型に基づいてフィールドの値が並べ替えられます。

参照

関連項目

式でのグローバル コレクションの使用 (Reporting Services)

概念

レポート データセットの定義 (Analysis Services の多次元データおよびデータ マイニング予測データ)
レポート データセットの定義 (SAP NetWeaver BI システムの多次元データ)

その他の技術情報

Reporting Services での式の使用

ヘルプおよび情報

SQL Server 2005 の参考資料の入手

変更履歴

リリース 履歴

2006 年 12 月 12 日

追加内容 :
  • MEMBER_VALUE の例を追加しました。

2006 年 4 月 14 日

変更内容 :
  • 例を追加して、内容を更新しました。