2012-02-07 12 views
0

私はMDXクエリを持っています。私はしばらくの間苦労していました。痛みポイントは、anythignのステータスが「閉鎖」(DIM PROJECT)[ジョブステータス]のジョブのみをプルしようとしているサブクエリです。& [閉鎖]}私は多分紛失していると思います括弧はどこか、おそらく???MDXクエリを無効にする

は、多分目の第2のセットは、私が何をしようとする非常にわからない

SELECT 
    NON EMPTY 
    { 
     [Measures].[Estimate Extended Amount] 
    ,[Measures].[Estimate Line Total] 
    ,[Measures].[Estimate Markup Amount] 
    } ON COLUMNS 
,NON EMPTY 
    { 
     [DIM PROJECT].[Client - Division - Product - Component].[Job Component Number].ALLMEMBERS* 
     [DIM PROJECT].[Component Description].[Component Description].ALLMEMBERS* 
     [DIM PROJECT].[Client PO Number].[Client PO Number].ALLMEMBERS* 
     [DIM PROJECT].[Job Status].[Job Status].ALLMEMBERS* 
     [DIM PROJECT].[Project Start Date].[Project Start Date].ALLMEMBERS* 
     [DIM PROJECT].[Project End Date].[Project End Date].ALLMEMBERS* 
     [DIM FUNCTION].[Function Category].[Function Category].ALLMEMBERS* 
     [DIM ESTIMATE].[Estimate Number].[Estimate Number].ALLMEMBERS* 
     [DIM ESTIMATE].[Estimate Status].[Estimate Status].ALLMEMBERS 
    } 
    DIMENSION PROPERTIES 
    MEMBER_CAPTION 
    ,MEMBER_UNIQUE_NAME 
    ON ROWS 
FROM 
(
    SELECT 
    {[DIM ESTIMATE].[Estimate Status].&[Approved]} ON COLUMNS 
    FROM (-{[DIM PROJECT].[Job Status].&[Closed]} ON COLUMNS 
    (
    SELECT 
     StrToSet 
     (@DIMPROJECTProduct 
     ,CONSTRAINED 
    ) ON COLUMNS 
    FROM 
    (
     SELECT 
     StrToSet 
     (@DIMPROJECTDivision 
     ,CONSTRAINED 
     ) ON COLUMNS 
     FROM 
     (
     SELECT 
      StrToSet 
      (@DIMPROJECTClient 
      ,CONSTRAINED 
     ) ON COLUMNS 
     FROM [ESTIMATES] 
    ) 
    ) 
) 
) 
WHERE 
    (
    IIF 
    (
     StrToSet 
     (@DIMPROJECTClient 
     ,CONSTRAINED 
     ).Count 
     = 1 
    ,StrToSet 
     (@DIMPROJECTClient 
     ,CONSTRAINED 
    ) 
    ,[DIM PROJECT].[Client].CurrentMember 
    ) 
    ,IIF 
    (
     StrToSet 
     (@DIMPROJECTDivision 
     ,CONSTRAINED 
     ).Count 
     = 1 
    ,StrToSet 
     (@DIMPROJECTDivision 
     ,CONSTRAINED 
    ) 
    ,[DIM PROJECT].[Division].CurrentMember 
    ) 
    ,IIF 
    (
     StrToSet 
     (@DIMPROJECTProduct 
     ,CONSTRAINED 
     ).Count 
     = 1 
    ,StrToSet 
     (@DIMPROJECTProduct 
     ,CONSTRAINED 
    ) 
    ,[DIM PROJECT].[Product].CurrentMember 
    ) 
) 
CELL PROPERTIES 
    VALUE 
,BACK_COLOR 
,FORE_COLOR 
,FORMATTED_VALUE 
,FORMAT_STRING 
,FONT_NAME 
,FONT_SIZE 
,FONT_FLAGS; 

答えて

2

???役立つだろうが、あなたは複雑の上にあるかもしれないように思えますあなたのクエリは少し私はあなたが探している機能は例外だと思います:

Except([DIM PROJECT].[Job Status].[All].Children,[DIM PROJECT].[Job Status].&[Closed]) 

これは、閉じられている以外のすべてのジョブステータスを表示します。あなたのwhere句(私の簡素化とメーリングリスト)に入れた場合、それは読むかもしれない:

SELECT 
NON EMPTY 
{ 
    [Measures].[Estimate Extended Amount] 
,[Measures].[Estimate Line Total] 
,[Measures].[Estimate Markup Amount] 
} ON COLUMNS 
,NON EMPTY 
{ 
    [DIM PROJECT].[Client - Division - Product - Component].[Job Component Number].ALLMEMBERS* 
    [DIM PROJECT].[Component Description].[Component Description].ALLMEMBERS* 
    [DIM PROJECT].[Client PO Number].[Client PO Number].ALLMEMBERS* 
    [DIM PROJECT].[Job Status].[Job Status].ALLMEMBERS* 
    [DIM PROJECT].[Project Start Date].[Project Start Date].ALLMEMBERS* 
    [DIM PROJECT].[Project End Date].[Project End Date].ALLMEMBERS* 
    [DIM FUNCTION].[Function Category].[Function Category].ALLMEMBERS* 
    [DIM ESTIMATE].[Estimate Number].[Estimate Number].ALLMEMBERS* 
    [DIM ESTIMATE].[Estimate Status].&[Approved] 
} 
DIMENSION PROPERTIES 
MEMBER_CAPTION 
,MEMBER_UNIQUE_NAME 
ON ROWS 
FROM [ESTIMATES] 
WHERE 
(StrToSet(@DIMPROJECTProduct), 
    StrToSet(@DIMPROJECTDivision), 
    StrToSet(@DIMPROJECTClient), 
    Except([DIM PROJECT].[Job Status].[All].Children,[DIM PROJECT].[Job Status].&[Closed])) 

あなたのパラメータは、あなたがおそらく、where句でStrToMemberを使用することができ、単一のメンバーであることを起こる場合。

+0

私は知っている...!残念ながら、これはSSRSで自動的にクエリビルダが生成したMDXです。しかし、私はこれを試してみる... MDXは間違いなく私の強い訴訟ではない! –

+0

これはあなたを助けるはずです、私はほとんど同じ必要性を持っていました。 – Jesse

関連する問題