Quantcast
Channel: SQL Server Analysis Services forum
Viewing all articles
Browse latest Browse all 14337

FILTER Syntax

$
0
0

I have the following MDX query that acts as a dataset for an SSRS report:

SELECT 
  NON EMPTY 
    {
      [Measures].[AR INV PAID TO DATE]
     ,[Measures].[AR INV AMOUNT]
     ,[Measures].[AR INV AGE]
     ,[Measures].[AR INV AMOUNT OUTSTANDING]
    } ON COLUMNS
 ,NON EMPTY FILTER (
    {
       ( [DIM PROJECT].[Client].[Client].ALLMEMBERS*
        [DIM PROJECT].[Division].[Division].ALLMEMBERS*
        [DIM PROJECT].[Product].[Product].ALLMEMBERS*
        [DIM SALES CLASS].[Sales Class Type].[Sales Class Type].ALLMEMBERS*
        [DIM AR INVOICE].[Invoice Number].[Invoice Number].ALLMEMBERS*
        [DIM AR INVOICE].[Invoice Date].[Invoice Date].ALLMEMBERS*
        [DIM PROJECT].[Job Number].[Job Number].ALLMEMBERS*
        [DIM PROJECT].[Job].[Job].ALLMEMBERS*
        [DIM INV AGE RANGE].[Invoice Age Range].[Invoice Age Range].ALLMEMBERS*
        [DIM INV AGE RANGE].[INV RANGE ID].[INV RANGE ID].ALLMEMBERS)
        }
         ,[Measures].[AR INV AMOUNT] > .01)

  DIMENSION PROPERTIES 
    MEMBER_CAPTION
   ,MEMBER_UNIQUE_NAME
   ON ROWS
FROM 
(
  SELECT 
    StrToSet
    (@TimeYear
     ,CONSTRAINED
    ) ON COLUMNS
  FROM 
  (
    SELECT 
      {
        [DIM INV AGE RANGE].[INV RANGE ID].&[1]
       ,[DIM INV AGE RANGE].[INV RANGE ID].&[2]
       ,[DIM INV AGE RANGE].[INV RANGE ID].&[3]
       ,[DIM INV AGE RANGE].[INV RANGE ID].&[4]
       ,[DIM INV AGE RANGE].[INV RANGE ID].&[5]
       ,[DIM INV AGE RANGE].[INV RANGE ID].&[8]
      } ON COLUMNS
    FROM 
    (
      SELECT 
        StrToSet
        (@DIMPROJECTClient
         ,CONSTRAINED
        ) ON COLUMNS
      FROM [ACCOUNTING]
    )
  )
)
WHERE 
  IIF
  (
    StrToSet(@TimeYear,CONSTRAINED).Count = 1
   ,StrToSet
    (@TimeYear
     ,CONSTRAINED
    )
   ,[Time].[Year].CurrentMember
  )
CELL PROPERTIES 
  VALUE
 ,BACK_COLOR
 ,FORE_COLOR
 ,FORMATTED_VALUE
 ,FORMAT_STRING
 ,FONT_NAME
 ,FONT_SIZE

What I need to do is add a filter on the AR_INV_AMT measure. I only want to return rows with an AR_INV_AMT value of .01 or greater. For some reason, this query never completes getting prepared. When I choose okay in Query Designer, I get the message "Query preparation executing". This message diplays for several minutes until it ultimately errors out with "Query cancelled due to memory pressure" error.

From what I can see, this MDX query should work fine. The query runs completely fine without the filter and returns the reuslts I expect.

Not sure what the issue is wit it, but any input would be appreciated.



A. M. Robinson


Viewing all articles
Browse latest Browse all 14337

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>