Forum Discussion
MDX Query
Hi Team,
I would like to calculate sum of value by excluding 'null' values in the column, I have tried in SSAS cube-new MDX as like below but the sum result is wrong instead of 9845 result is : -5662 (coming as negative and wrong value)
my MDX (sum of wait time in minutes) : (sum([Measures].[Wait Time In Sec])/sum([Measures].[Total]))/60
kindly suggest or correct me where i missed .
Thanks,
9 Replies
- cpwebbMicrosoft Employee
In MDX (I assume you're using SSAS Multidimensional) using the SUM function with a measure in the way you're doing here doesn't actually have any effect - the default aggregation behaviour of the measure will be used. So using the following MDX in a measure:
([Measures].[Wait Time In Sec]/[Measures].[Total])/60
should give you the same incorrect result. What's more, MDX automatically ignores null values while aggregating anyway. Can you provide more details - with sample data - of what you want to do here?
More complex aggregation behaviour is possible using SCOPE statements. The following blog post might help:
Chris
- MSuser5Helper III
hi cpwebb ,
yes i'm using SSAS multidimentional table here i tried to create new calculated measure like below
MDX (sum of wait time in minutes) : sum([Measures].[Wait Time In Sec])
here is my table:
Wait Time In Sec Total 58896 5568 56689 4869 NULL 9562 96347 7856 77546 4489 NULL 8965 89647 7854 Expected total of waitTimeInSec = 379125
i'm not sure may be due to NULL values result is coming : -266545 ( as negative)
kindly suggest how to create measure with replacing NULL values as 0 and sum of total.
Thanks,
MS
- cpwebbMicrosoft Employee
Is waitTimeInSec itself a calculated measure? If so, what is the definition? I don't think the nulls are the problem here.
Chris
- cpwebbMicrosoft Employee
I don't think the nulls are the problem - I don't see how they would result in a negative value here. What type of aggregation is your waitTimeInSec measure using? As I said, if you have already built a measure then writing something like sum([Measures].[Wait Time In Sec]) is redundant and [Measures].[Wait Time In Sec] should give you the same incorrect result.