Как: .. ГДЕ STRTOSET (@ p1), STRTOSET (@ p2) - PullRequest
1 голос
/ 07 июня 2010

Я пытаюсь отфильтровать запрос по двум (множественным выборкам) параметрам.

Он отлично работает при выполнении первого, но жалуется, когда добавляю второй.

Мой синтаксис неверен, есть ли лучший способ добиться того, чего я хочу?

Ответы [ 2 ]

1 голос
/ 07 июня 2010

MDX WHERE имеет очень мало общего с SQL WHERE.MDX WHERE не влияет на количество возвращаемых строк, а только на то, из какого кубического среза должны быть получены ячейки.

Я бы использовал функцию FILTER, поскольку предложение MDX WHERE должно быть кортежем (адресом ячейки), не более, не меньше, т. Е.

(Dim1.Member, Dim2.Member и т. Д.)

Надеюсь, это поможет.

0 голосов
/ 09 июня 2010

пробовал подзапросы?

SELECT
    [Measures].[YourMeasure]
ON COLUMNS,
    [Dimensions].[YourDimension]
ON ROWS 
FROM

(SELECT STRTOSET(@p1) ON COLUMNS FROM
(SELECT STRTOSET(@p2) ON COLUMNS FROM   

[YourCube] ) )
...