MDX セルプロパティ - セルプロパティの使用
適用対象: SQL Server Analysis Services Azure Analysis Services Fabric/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 プロパティを表示するときの背景色。 詳細については、「 コンテンツの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 は通常、通貨変換のために使用されます。 |
更新 | セルが更新可能かどうかを示す値。 このプロパティの値は、次のいずれか 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 句で set を使用して取得されました。 数式がセルの値に影響を与える、あるいは計算されるセルが集計パス上にあるとしても、セルの更新は行われます。 この場合、結果が計算に影響されるため、セルの最終的な値は更新後の値にならない可能性があります。 | |
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_ORDINAL、 FORMATTED_VALUE、および VALUE のみです。 固有またはプロバイダー固有を問わず、すべてのセル プロパティは、そのデータ型およびプロバイダーのサポートを含めて、 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 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