3

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.

4

6 回答 6

3

我想您需要在切片器中定义一个集合:

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

注意MDX slicer 不是SQL WHERE 语句;您可能会改为查看 MDX 子选择。

于 2010-10-27T11:05:10.940 回答
2

USE*代替ANDor ,。它的工作原理你的欢迎

于 2016-11-08T09:04:39.250 回答
1

这应该会产生您需要的结果:(子选择)

SELECT [Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM (SELECT [Area].[Shanghai] on 0 from [SalesAnalysis])
WHERE EXCEPT([Product].[All Products].Children, {[Product].[All Products].[#null]})
于 2010-11-24T13:03:09.570 回答
0

也许这样的事情会起作用

SELECT [Measures].salescount ON COLUMNS,
[日期].[2010] 在行
FROM [销售分析]
在哪里
 StripCalculatedMembers(交叉连接(
   {[地区].[上海]},
   EXCEPT([Product].[All Products].Children, {[Product].[All Products].[#null]})))
于 2010-11-02T02:01:39.390 回答
0
SELECT 
    [Measures].salescount ON COLUMNS,
    [Date].[2010] ON ROWS
FROM 
   [SalesAnalysis]
WHERE  
   {   
       [Product].[All Products].Children, 
       [Product].[All Products].[#null] 
   }
于 2010-10-27T06:56:30.353 回答
0

如上所述,您可以使用 * 代替 AND。

例子:

select {[Measures].Members} ON COLUMNS, 
       {[Product].Members} ON ROWS
       from [data_cube]
       where {[Location].[New York] * [Time].[2015]}

在您的情况下,它应该是这样的:

SELECT [Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM [SalesAnalysis]
WHERE EXCEPT([Product].[All Products].Children, {[Product].[All Products].[#null]}) * [Area].[Shanghai]
于 2017-07-27T11:05:57.263 回答