2013-10-15 6 views
0

Я пытаюсь вычислить новую меру с определенными условиями, сначала создал первый член уровня, а затем попытался использовать это в определении следующего члена.MDX Calculate Member Issue

Следующий член «CashDisp» оценивает в ноль с если условием, я новичок в SSAS, пожалуйста, помогите мне исправить эту

/* 
The CALCULATE command controls the aggregation of leaf cells in the cube. 
If the CALCULATE command is deleted or modified, the data within the cube is affected. 
You should edit this command only if you manually specify how the cube is aggregated. 
*/ 
CALCULATE;  
CREATE MEMBER CURRENTCUBE.[Measures].CashDispensed 
AS [Measures].[Orig Trans Amount]/100, 
VISIBLE = 1;  
CREATE MEMBER CURRENTCUBE.[Measures].CashDisp 
AS IIF([Dim Trans Type Code].[Trans Type Code] ='10' 
and [Dim Termn Ln].[Termn Ln]= 'PRO1' 
and [Dim Reversal Reason].[Reversal Reason] ='00' 
and [Dim Trans Response Code].[Trans Response Code] ='051',[Measures].CashDispensed,0), 
VISIBLE = 1 ; 
+0

Вам нужен член для сеанса куба или только для запроса? попытайтесь использовать '[Measures]. [Orig Trans Amount]/100' как последняя часть вашего второго члена. – michele

+0

Мне нужно это для сеанса куба, попробовав использовать [Measures]. [Orig Trans Amount]/100 он все еще возвращался Zero, поэтому подумал о создании нового члена, наследующего информацию – user2385057

+0

еще одна вещь, которую я только что заметил, кубический браузер имеет данные, когда я перетаскиваю [ Measures]. [Orig Trans Amount], которая является суммой в этом столбце, но как только я перетаскиваю вычисляемый элемент «cashdisp» [Measures]. [Orig Trans Amount] становится пустым, а casdisp имеет значение 0 .. не уверен, что он отключен по отношениям – user2385057

ответ

1

Проблема заключается в том, как вы сравниваете значение измерений.

Когда вы говорите

[Dim Trans Код типа]. [Trans Type Code] = '10'

, что на самом деле сравнение

[Dim Trans Тип кода ] [Код типа передачи]. [Все] до '10'.

Вы должны написать сравнение, как это:

IIF([Dim Trans Type Code].[Trans Type Code].currentmember IS [Dim Trans Type Code].[Trans Type Code].&[10],[Measures].CashDispensed,0) 

Это exampled конденсируется, но вы можете увидеть изменения для каждого измерения. Это также требует, чтобы каждая иерархия измерений находилась где-то в вашем запросе. Если нет, то это версия All, и ваш IIF не будет оценивать участника, которого вы создали.

+0

спасибо ... это решение сработало .. У меня мало вопросов о том, что делает [Dim Trans Type Code]. [Trans Type Code]. [All] to '10' на самом деле означает? также, если я хочу использовать несколько значений сравнения, что является правильным синтаксисом, попробовал это: [Код ответа на передачу]. [Trans Response Code] .currentmember IS ([Коды ответа Dim Trans]. [Trans Response Code]. & [051] , [Код ответа на передачу] [Trans Response Code]. & [052]) – user2385057

+0

Я должен был сказать, что это то же самое, что и [Trans Trans Code Code]. [Trans Type Code]. [All] = '10 '. Выполнение нескольких значений - много обман. Вы должны открыть для этого еще один вопрос. – Rick