2

「関数で指定された 2 つのセットの次元が異なります」という SSAS エラーが発生します。

私は実際には同じディメンション、同じ階層を (暗黙的に) 使用しています。一方のセットでは、リーフ メンバーを使用しているもう一方のセットでは「すべて」メンバーを使用しています。(単一の) 階層を明示的に参照するようにメンバー識別子を変更すると、エラーはなくなります。

何故ですか?

エラーが発生する方法の例を次に示します。

{Crossjoin( [Measures].[Measure1], [Event].[Category1] ),
Crossjoin( [Measures].[Measure2], [Event].[All] )}

そして、これが基本的にそれを取り除く方法です(明示的な階層参照を追加します):

{Crossjoin( [Measures].[Measure1], [Event].[ByCategory].[Category1] ),
Crossjoin( [Measures].[Measure2], [Event].[ByCategory].[All] )}

修正の説明は、mdx 構文全体をよりよく理解するのに役立ちます。

事前に、ご協力いただきありがとうございます。

4

2 に答える 2

2

私はSSASの専門家ではありませんが、両方のメンバーが同じ階層に属していることを確認するには、次のことを試すことができます:

with
  member x as [Event].[Category1].dimension.name
  member y as [Event].[All].dimension.name
select { x , y } on 0 from [your-cube]
于 2013-04-19T14:08:08.387 に答える
1

残りのクエリを表示できますか?

私は似たようなことをしようとしましたが、うまくいきます..

select {crossjoin( [Measures].[Internet Sales Amount],
[Product].[Bikes]),
crossjoin([Measures].[Reseller Sales Amount],
[Product].[All])} on columns
from cube

結果

于 2013-04-26T19:52:07.060 に答える