2013-07-23 2 views
1

В настоящее время я пытаюсь выполнить расчетный элемент (SSRS или SSAS), который будет показывать мне средние значения для каждого клиента, мне нужно разделить сумму значений из всех проектов и разделить ее на количество проектов, которые не имеют 0 в качестве значения.Как найти Среднее значение в вычисляемом элементе с отфильтрованными значениями?

Аналогичная таблица значений, подобных той, которую я использую, показана ниже.

> Customer | Project | Value  | 
> Customer1 | Project1 | 124.24... | 
> Customer1 | Project2 |  0.00 | 
> Customer1 | Project3 | 242.221... | 
> Customer1 | Project3 | 72.221... | 

теперь, что я пытался делать в вычисляемый элемент является следующее (я попробовал это в обоих SSRS и SSAS)

Sum([Measures].[Value]) /Count(Filter([Order].[Project], [Measures].[Value] > 0)) 

Моя надежда в том, чтобы отфильтровать Количество проектов, имеют значение «Нуль» и делят сумму значений только на количество проектов, стоимость которых равна <> 0.

Проблема в том, что когда я доберусь до браузера, я попробую рассчитать счетчика Значение P (по сравнению с ex. выше) равен 1 вместо 3, и среднее значение я получаю:

(124,24 + 0 + 242,221 + 72,221)/1

, в отличие от

(124.24 + 0 + 242.221 + 72.221)/3

(не делятся на 4, потому что 1 проект имеет значение 0, и это тот, который я хочу исключить из грамм, который я делаю).

ответ

0

Мой вопрос был дан ответ на Форумы MSDN от Duane Dicks, который я опубликую ниже.

"думать, почему вы только получаете 1 вместо 3 потому, что ваш фильтр только смотрит на всех членов, и он должен смотреть на это детей

Что-то вроде этого следует сделать это:.

Sum([Measures].[Value]) /Count(Filter([Order].[Project].level(0).Children, [Measures].[Value] > 0)) 

MSDN: How to find the Average in a Calculated Member with filtered Values?

Смежные вопросы