2013-04-11 2 views
0

мне нужна помощь с этой проблемой в SSRS найти YTD (%) для столбцов с начала года ..SSRS найти количество нескольких ненулевых столбцов в строке

У меня есть SSRS 2008 табликса области, где столбцы являются штатом, категорией, январем, февралем, март, ..., декабрем, с начала года. Эти столбцы имеют как суммы, так и процентные значения в зависимости от строки. Мне нужна помощь для расчета YTD, когда столбец%.

пример:

государство Категория январь февраль март ...... Наивысший

М.Н. 200 200 0 400 ......

MN B 21 ... 12 0 ..... 33

MN A% 12,5 12,5 0 ........ ??

Для A, B выше, YTD просто добавляет элементы отчета Январь + Февраль + Март + ...., который будет 400 и 33, как показано (при условии, что только Jan и Feb имеют реальные значения> 0).

Для строки A% выше (??), так как это процентный столбец, мой YTD должен быть средним числом столбцов с ненулевым/ненулевым значением ... в этом случае (12,5 + 12,5)/2 = 12.5, но я не могу узнать количество ненулевых столбцов для каждой категории (январь, февраль и т. Д.) ... Я пробовал avg, count, sum и т. Д., Но я не получаю правильное значение. Если я смогу вычислить знаменатель (который будет подсчетом ненулевых столбцов в январе, феврале, ..., декабре), проблема будет решена, как я могу:

(Jan + Feb + March + ... + Dec)/Count (январь, февраль, март, .., декабрь)

Граф должен возвращать мне счет столбцов с ненулевым/ненулевым значением, чтобы я мог делать средний расчет..пожалуйста, помогите.

ответ

0

Я не уверен, что вы хотите.

Если все, что вы хотите, чтобы выяснить, в среднем ряду в последнем столбце вы можете сделать это:

Сделайте выражение столбца, в котором вы хотите в среднем, как это:

Sum(Fields!Jan.Value + Fields!Feb.Value...+Fields!Dec.Value)/ 
Sum(IIF(IsNothing(Fields!Jan.Value),0,1) + 
    IIF(IsNothing(Fields!Feb.Value),0,1) + 
    . 
    . 
    IIF(IsNothing(Fields!Dec.Value),0,1) 
) 

так, в знаменателе, вы делаете это:

Sum(1+0+1+1+0...+0) 

т.е. 1 возвращается, если поле не равно нулю, в противном случае 0

+
+0

Спасибо, Маниш .. это сработало. – user2077110

+2

если это вам помогло, то отметьте это как ответ :) –