此MDX请求有效:
SELECT [Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM [SalesAnalysis]
WHERE [Area].[Shanghai]
这个也可以(不同的WHERE条件):
SELECT [Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM [SalesAnalysis]
WHERE EXCEPT([Product].[All Products].Children, {[Product].[All Products].[#null]})
问题:如何用两个条件撰写请求?
即。面积条件和产品条件
我尝试,
和AND
但到目前为止没有运气。
答案 0 :(得分: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切片器不是SQL WHERE语句;你可能会看看MDX子选择。
答案 1 :(得分: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]})
答案 2 :(得分:1)
USE *
而不是AND
或,
。
有用
欢迎您
答案 3 :(得分:0)
SELECT
[Measures].salescount ON COLUMNS,
[Date].[2010] ON ROWS
FROM
[SalesAnalysis]
WHERE
{
[Product].[All Products].Children,
[Product].[All Products].[#null]
}
答案 4 :(得分:0)
也许这样的事情会起作用
SELECT [Measures].salescount ON COLUMNS, [Date].[2010] ON ROWS FROM [SalesAnalysis] WHERE StripCalculatedMembers(CROSSJOIN( {[Area].[Shangai]}, EXCEPT([Product].[All Products].Children, {[Product].[All Products].[#null]})))
答案 5 :(得分: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]