最近、Excelを使用して分析サービスに接続し、キューブのクエリに使用されたmdxコードを生成しました。コードを以下に示します。 SQLプロファイラを使用してコードも検証されました。しかし、私が分析サービスに行き、キューブをブラウズして管理スタジオのキューブに入れると、エラーが発生します。コードを修正できるかどうかお知らせください。このコードはまさに私の要求に必要なものなので、変更があった場合はキューブ内で置き換えてください。ピボットテーブルから生成されたmdxを使用する際の問題
コード
SELECT NON EMPTY Hierarchize(DrilldownMember(CrossJoin({
[ColorsDim].[PrimeColor].[All], [ColorsDim].[PrimeColor].[PrimeColor].AllMember},
{([ColorsDim].[SecondColor].[All]) }), [ColorsDim].[PrimeColor].[PrimeColor].AllMember,
[ColorsDim].[SecondColor])) DIMENSION PROPERTIES PARENT_UNIQUE_NAME
,HIERARCHY_UNIQUE_NAME ON COLUMNS
,NON EMPTY Hierarchize({DrilldownMember({
[ColorsDim].[Color_id].[All] },,, INCLUDE_CALC_MEMBERS) }) DIMENSION PROPERTIES
PARENT_UNIQUE_NAME
,HIERARCHY_UNIQUE_NAME ON ROWS FROM [Model]
WHERE ([Measures].[Number of records in ColorDim]) CELL PROPERTIES VALUE
,FORMAT_STRING
,BACK_COLOR
,FORE_COLOR
,FONT_FLAGS
エラー
Query Preparation failed.
Additional information
The query cannot be prepared: The query must have at least one axis. The first axis of the query should not have mulitple hierarchies, nor should it reference any dimension other than the measures dimension..
Parameter name: mdx (MDXQueryGenerator)
次のクエリは、所望の出力を示しています。
をクエリ内のSelect non empty
[ColorsDim].[PrimeColor].children *
[ColorsDim].[SecondColor].children
on 0
, non empty
[ColorsDim].[Color_id].children
on 1
from [model]
where [Measures].[Number of records in ColorDim];
尺度は、ご提供いただいたエラーメッセージはSSRSのエラーメッセージのように私には見えるその特定の次元の行数
「私は分析サービスに移動してキューブを参照し、管理のスタジオで、キューブに入れたときにしかし、私はエラーを取得します。」:SSRSは、あなたがこれを行うことが十分に満足しているが、そのそうなるように
明確にできますか? SSMSでMDXウィンドウを使用していますか? Reporting Servicesを使用していますか? SSMSのキューブに対してクエリウィンドウを開き、MDXを編集していますか? MDXウィンドウを試してください。 – GregGalloway
あなたの権利はmdxが働いた。しかし、キューブをブラウズして同じコードを入力すると、同じmdxは機能しません。 – Mutai
ああ。キューブブラウザは、基本的にReporting Services MDXクエリデザイナです。列の尺度のみをサポートします。ですから、キューブブラウザではなくMDXクエリウィンドウを使用します。 @whytheqは絶対に正しいです。 – GregGalloway