1

次の次元があると仮定します

  • 日にち
  • 請負業者
  • サイズ

6つのメジャーのセットで、特定の年のすべてのSemestrer、Trimester、Month、Contractor、Color、およびSizeの6つのメジャーを取得します。

これが私のMDXクエリです:

SELECT 
   { 
         ... the 6 measures ... 
   } ON COLUMNS, 
    { 
          (
                [Dim DATE].[year].[year].AllMembers * 
                [Dim DATE].[SEMESTRE NOM].[SEMESTRE NOM].AllMembers * 
                [Dim DATE].[TRIMESTRE NOM].[TRIMESTRE NOM].AllMembers * 
                [Dim DATE].[MOIS NOM].[MOIS NOM].AllMembers *
                [Dim CONTRACTOR].[Name CONTRACTOR].AllMembers *
                [Dim COLOR].[Name COLOR].AllMembers *
                [Dim SIZE].[Name SIZE].AllMembers 
         ) 
   } DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME ON ROWS 

 FROM   ( 
   SELECT ( { StrToSet( "[Dim DATE].[year].[year].&[" + @Year + "]" , CONSTRAINED ) }      

   ) ON COLUMNS 
FROM [TheCube]

.AllMembersこれは非常に遅く(20分以上)、請負業者が6つ、色が6つ、サイズが18つしかない...そしてとの違いは何.Membersですか?

4

1 に答える 1

1

階層内の実際の年数によっては、クロスジョインを使用して非常に大きなセットを作成する場合があります。コメントで言及されているicCubeのように、なぜ使用しないのですか?

StrToSet( "[Dim DATE].[year].[year].&[" + @Year + "]" , CONSTRAINED )

ROWSのクロスジョインで?

AllMembers対メンバー; ここにドキュメントがあります; すべてのメンバーに計算が含まれます。メンバー; 費用のかかる計算はありますか?メンバー?

[DimDATE]。[MOISNOM]。[MOISNOM].AllMembersには何人のメンバーがいますか?トリメストレ、セメストレ?

于 2012-05-31T09:57:49.997 に答える