У меня есть эта таблица, сгенерированная с помощью MDX.
http://i62.tinypic.com/2m5xeg0.jpg
Мне нужно создать вычисляемое измерение (или меру) под названием «в этом году» с 2-мя значениями:
ДА: если CurrentMember YEAR включает в себя значение 2015 и
NO: если член года не включают в себя 2015 для каждого клиента ID
http://i57.tinypic.com/2h508yx.jpg
код MDX является:
MDX - установить член другими значениями-членами
SELECT NON EMPTY {[Measures].[QUANTITY]} ON COLUMNS, NON EMPTY CrossJoin({CLIENT ID].[CLIENT ID].Members, {[YEAR].[YEAR].Members}) ON ROWS FROM [MyCube]
Благодарим за ответ, но это не совсем то решение, которое мне нужно здесь. [Мера]. [Is2015] должна быть для всего члена «КЛИЕНТ-ИД», а не для каждого отдельного ГОДА в строке. Если определенный клиент (40407 в этом случае) должен иметь ДА для всех [ГОД], потому что он включает значение «2015» (img. 2). Я думаю, что расчетное измерение было бы более уместным, но я не знаю, как его установить. Я забыл упомянуть, что я использую MONDRIAN. –
ok - это все еще достаточно легко через функцию 'NonEmpty'. У вас есть «NonEmpty» в Мондриане? – whytheq
С ЧЛЕНА [Меры]. [Is2015] КАК IIF ( IsNull (Instr (0, [год]. [Год] .CurrentMember.Properties ("MEMBER_CAPTION"), "2015")) , "ДА" , «NO» ) возвращает ошибку: ** MondrianException: Mondrian Ошибка: никакая функция не соответствует сигнатуре 'Isnull ()' **, и эта же ошибка появляется с непустой функцией. Mondrian имеет обе функции, но кажется, что что-то не так –