Search code examples
mdxbusiness-intelligencepentaho

MDX WHERE: "AND" between several conditions


This MDX request works:

SELECT [Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM [SalesAnalysis]
WHERE [Area].[Shanghai]

This one works too (different WHERE condition):

SELECT [Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM [SalesAnalysis]
WHERE EXCEPT([Product].[All Products].Children, {[Product].[All Products].[#null]})

Question: How do I write a request with both conditions?
i.e. area condition AND product condition

I tried , and AND but no luck so far.


Solution

  • I guess you need to define a set within your slicer:

    SELECT [Measures].salescount ON COLUMNS,
    [Date].[2010] ON ROWS
    FROM [SalesAnalysis]
    WHERE 
         [Area].[Shanghai] 
         * EXCEPT([Product].[All Products].Children
                 , {[Product].[All Products].[#null]})
    

    Pay attention that MDX slicer is not a SQL WHERE statement; you might have a look to MDX sub-select instead.