MDX セルのプロパティ - セル プロパティの使用

適用対象: SQL Server Analysis Services Azure Analysis Services Power BI Premium

多次元式 (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 プロパティを表示するときの背景色。 詳細については、「MDX ( 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 プロパティを表示するときの前景色。 詳細については、「MDX ( FORE_COLORとBACK_COLORコンテンツ (MDX)」を参照してください
FORMAT FORMAT_STRINGと同じです。
FORMAT_STRING FORMATTED_VALUE プロパティ値の作成に使用する書式文字列。 詳細については、「MDX ( FORMAT_STRINGコンテンツ)」を参照してください
FORMATTED_VALUE VALUE プロパティの表示の書式設定を表す文字列。
LANGUAGE FORMAT_STRING を適用するロケール。 LANGUAGE は通常、通貨変換のために使用されます。
更新 セルが更新可能かどうかを示す値。 このプロパティの値は、次のいずれか 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) 合計以外のメジャー (count、min、max、distinct count、semi-additive) を更新できないので、セルを更新できません。
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_ORDINALFORMATTED_VALUE、および VALUE のみです。 固有またはプロバイダー固有を問わず、すべてのセル プロパティは、そのデータ型およびプロバイダーのサポートを含めて、 PROPERTIES スキーマ行セットで定義します。

既定では、 CELL PROPERTIES キーワードが使用されない場合、返されるセル プロパティは VALUEFORMATTED_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 Analysis Services設定できます。 たとえば、SQL Server Data Tools のキューブ エディターの [キューブ構造] タブで[書式指定文字列] プロパティを通常のメジャーに設定できます。キューブ エディターの [計算] タブでキューブで定義された計算メジャーにも同じプロパティを設定できます。クエリの WITH 句で定義された計算メジャーにも、書式指定文字列が定義されています。次のクエリは、計算メジャーに対してセルのプロパティを設定する方法を示しています。

WITH MEMBER MEASURES.CELLPROPERTYDEMO AS [Measures].[Internet Sales Amount]  
, FORE_COLOR=RGB(0,0,255)  
, BACK_COLOR=IIF([Measures].[Internet Sales Amount]>7000000, RGB(255,0,0), RGB(0,255,0))  
, FONT_SIZE=10  
, FORMAT_STRING='#,#.000'  
SELECT MEASURES.CELLPROPERTYDEMO ON 0,  
[Date].[Calendar Year].[Calendar Year].MEMBERS ON 1  
FROM [Adventure Works]  
CELL PROPERTIES VALUE, FORMATTED_VALUE, FORE_COLOR, BACK_COLOR, FONT_SIZE  

参照

MDX クエリの基礎 (Analysis Services)