Я строю куб в MS BIDS. Мне нужно создать вычисляемую меру, которая возвращает средневзвешенное значение ранга, взвешенное по количеству поисков. Я хочу, чтобы это значение вычислялось на любом уровне, независимо от того, какие измерения были применены для разбивки данных.
Я пытаюсь сделать что-то вроде следующего:
У меня есть одна мера под названием [Rank Search Product], которую я хочу применить на самом низком возможном уровне, а затем просуммировать все ее значения.
IIf([Measures].[Searches] IS NOT NULL, [Measures].[Rank] * [Measures].[Searches], NULL)
И затем моя средневзвешенная мера использует это:
IIf([Measures].[Rank Search Product] IS NOT NULL AND SUM([Measures].[Searches]) <> 0,
SUM([Measures].[Rank Search Product]) / SUM([Measures].[Searches]),
NULL)
Я совершенно новичок в написании запросов MDX, и поэтому все это меня очень сбивает с толку. Расчет должен быть
([Rank][0]*[Searches][0] + [Rank][1]*[Searches][1] + [Rank][2]*[Searches][2] ...)
/ SUM([searches])
Я также пытался следовать тому, что объясняется в этой ссылке http://sqlblog.com/blogs/mosha/archive/2005/02/13/performance-of-aggregating-data-from-lower-level-in-mdx.aspx
В настоящее время загрузка моих данных в сводную таблицу в Excel возвращает #ЗНАЧ! для всех расчетов моих пользовательских мер.
Пожалуйста, помогите!