セル プロパティの使用 (MDX)
多次元式 (MDX) でのセル プロパティには、キューブなどの多次元データ ソース内のセルの内容や書式に関する情報が含まれます。
MDX では、固有のセル プロパティを取得するために MDX SELECT ステートメント内で CELL PROPERTIES キーワードを使用できます。固有セル プロパティは、主にセル データを視覚的に表示するために利用されます。
CELL PROPERTIES キーワードの構文
MDX SELECT ステートメントの CELL PROPERTIES キーワードには、次の構文を使用します。
SELECT [<axis_specification>
[, <axis_specification>...]]
FROM [<cube_specification>]
[WHERE [<slicer_specification>]]
[<cell_props>]
次の構文は、<cell_props>
値の形式、およびこの値の中で CELL PROPERTIES キーワードと 1 つまたは複数の固有セル プロパティを使用する方法を示しています。
<cell_props> ::= CELL PROPERTIES <property> [, <property>...]
サポートされる固有セル プロパティ
次の表は、<property>
値の中で使用可能な固有セル プロパティを示しています。
プロパティ
説明
ACTION_TYPE
セルに対するアクションの種類を示すビットマスク。このプロパティの値は、次のいずれか 1 つです。
- MDACTION_TYPE_URL
- MDACTION_TYPE_HTML
- MDACTION_TYPE_STATEMENT
- MDACTION_TYPE_DATASET
- MDACTION_TYPE_ROWSET
- MDACTION_TYPE_COMMANDLINE
- MDACTION_TYPE_PROPRIETARY
- MDACTION_TYPE_REPORT
- MDACTION_TYPE_DRILLTHROUGH
メモ :
WHERE 句内にセットを含むクエリの場合、ドリルスルー アクションは含まれません。
BACK_COLOR
VALUE または FORMATTED_VALUE プロパティを表示するときの背景色。詳細については、「FORE_COLOR および BACK_COLOR の内容 (MDX)」を参照してください。
CELL_ORDINAL
データセット内のセルの序数。
FONT_FLAGS
フォントの詳細な文字飾りを示すビットマスク。この値は、次の 1 つ以上の定数に対するビットごとの OR 演算の結果です。
- MDFF_BOLD = 1
- MDFF_ITALIC = 2
- MDFF_UNDERLINE = 4
- MDFF_STRIKEOUT = 8
たとえば、値 5 は、太字の (MDFF_BOLD) フォントと下線付きの (MDFF_UNDERLINE) フォントの文字飾りの組み合わせを表します。
FONT_NAME
VALUE または FORMATTED_VALUE プロパティの表示に使用するフォント。
FONT_SIZE
VALUE または FORMATTED_VALUE プロパティの表示に使用するフォント サイズ。
FORE_COLOR
VALUE または FORMATTED_VALUE プロパティを表示するときの前景色。詳細については、「FORE_COLOR および BACK_COLOR の内容 (MDX)」を参照してください。
FORMAT
FORMAT_STRING と同じ。
FORMAT_STRING
FORMATTED_VALUE プロパティ値の作成に使用する書式文字列。詳細については、「FORMAT_STRING の内容 (MDX)」を参照してください。
FORMATTED_VALUE
VALUE プロパティの表示の書式設定を表す文字列。
LANGUAGE
FORMAT_STRING を適用するロケール。LANGUAGE は通常、通貨変換のために使用されます。
UPDATEABLE
セルが更新可能かどうかを示す値。このプロパティの値は、次のいずれか 1 つです。
- MD_MASK_ENABLED (0x00000000) セルは更新可能です。
- MD_MASK_NOT_ENABLED (0x10000000) セルは更新できません。
- CELL_UPDATE_ENABLED (0x00000001) セルはセル セット内で更新可能です。
- CELL_UPDATE_ENABLED_WITH_UPDATE (0x00000002) セルは UPDATE ステートメントによって更新可能です。書き込み可能でないリーフ セルが更新される場合、UPDATE は失敗する可能性があります。
- CELL_UPDATE_NOT_ENABLED_FORMULA (0x10000001) セルの座標の中に計算されるメンバが含まれているため、セルを更新できません。WHERE 句内のセットと共にセルが取得されました。数式がセルの値に影響を与える、あるいは計算されるセルが集計パス上にあるとしても、セルの更新は行われます。この場合、結果が計算に影響されるため、セルの最終的な値は更新後の値にならない可能性があります。
- CELL_UPDATE_NOT_ENABLED_NONSUM_MEASURE (0x10000002) 合計でないメジャー (カウント数、最小値、最大値、個別カウント、および準加法) は更新できないため、セルは更新できません。
- CELL_UPDATE_NOT_ENABLED_NACELL_VIRTUALCUBE (0x10000003) セルが存在しない (メジャーと、そのメジャーが属するメジャー グループとは無関係なディメンション メンバの交差部分にセルがある) ため、セルは更新できません。
- CELL_UPDATE_NOT_ENABLED_SECURE (0x10000005) セルが保護されているため、セルは更新できません。
- CELL_UPDATE_NOT_ENABLED_CALCLEVEL (0x10000006) 将来の使用のために予約されています。
- CELL_UPDATE_NOT_ENABLED_CANNOTUPDATE (0x10000007) 内部的な理由のため、セルは更新できません。
- CELL_UPDATE_NOT_ENABLED_INVALIDDIMENSIONTYPE (0x10000009) マイニング モデル ディメンション、間接ディメンション、データ マイニング ディメンションでは更新がサポートされないため、セルは更新できません。
VALUE
書式設定されていないセルの値。
必須のセル プロパティは、CELL_ORDINAL、FORMATTED_VALUE、および VALUE だけです。固有またはプロバイダ固有を問わず、すべてのセル プロパティは、そのデータ型およびプロバイダのサポートを含めて、PROPERTIES スキーマ行セットで定義します。PROPERTIES スキーマ行セットの詳細については、「MDSCHEMA_PROPERTIES 行セット」を参照してください。
既定では、CELL PROPERTIES キーワードが使用されていない場合、返されるセル プロパティは VALUE、FORMATTED_VALUE、および CELL_ORDINAL です (この順番で返されます)。CELL PROPERTIES キーワードが使用されている場合は、キーワードで明示的に記述されたセル プロパティだけが返されます。
次の例は、MDX クエリでの CELL PROPERTIES キーワードの使用法を示しています。
SELECT
{[Measures].[Reseller Gross Profit]} ON COLUMNS,
{[Reseller].[Reseller Type].[Reseller Name].Members} ON ROWS
FROM [Adventure Works]
CELL PROPERTIES VALUE, FORMATTED_VALUE, FORMAT_STRING, FORE_COLOR, BACK_COLOR
平面的な行セットを返す MDX クエリの場合、セル プロパティは返されません。この場合、各セルは FORMATTED_VALUE セル プロパティだけが返されたかのように表示されます。
セル プロパティの設定
セル プロパティは、Microsoft SQL Server 2005 Analysis Services (SSAS) でキューブ デザイナまたはディメンション デザイナの [計算] タブを使用して設定できます。以下の例のように、セル プロパティは文字列式として表されます。この例では、特定のメンバが黄色の背景と赤い前景で表示されます。
FORE_COLOR='255',BACK_COLOR='65535'
通常、セル プロパティは親メンバにロールアップされます。ただし、親がセル プロパティを持つカスタム メンバであれば、ロールアップされません。この場合、子から派生したセル プロパティよりも親のセル プロパティが優先されます。