2013-09-11 4 views
0

Я пытаюсь создать отчет о старении для клиентов продавцом. У меня есть группы клиентов, а затем все клиенты в этой группе. Я пытаюсь рассчитать сумму денег, вызванную старением ведер < 30, между 31 и 60, между 61 и 90, и> 90.Создатель отчетов SSRS Aging Buckets

Мой взгляд SQL вычисляет возраст счета в таблице как OverDueDays и общего законопроекта как AmountDC.

Я придумал следующее для ведра < 30, но оно не отображает правильные значения.

=IIF(Fields!OverDueDays.Value<30 , Sum(Fields!AmountDC.Value),0) 

Любые идеи относительно того, что я сделал неправильно?

ответ

2

Я не использовал Reporting Services через некоторое время, поэтому синтаксис не может быть на 100% правильным. В принципе, вы хотите переключить порядок своих SUM и IIF. Попробуйте что-то вроде:

=SUM(IIF(Fields!OverDueDays.Value < 30, Fields!AmountDC.Value, 0)) 

бонуса: если вы хотите, чтобы подсчитать количество клиентов в ведре:

=SUM(IIF(Fields!OverDueDays.Value < 30, 1, 0)) 
+0

Спасибо вы. Вы знаете, как это сделать, скажем, от 30 до 60? Я не вижу между функцией сравнения в ssrs report builder. – d90

0

попробовать следующие выражения, если у вас есть несколько наборов данных:

=IIF(DateDiff("d", First(Fields!OrderDate.Value, "Invoice"), Now())<=0, RunningValue(Fields!LineAmount.Value, Sum, "Invoice"), 0) 
=IIF(DateDiff("d", First(Fields!OrderDate.Value, "Invoice"), now())>=1 and DateDiff("d", First(Fields!OrderDate.Value, "Invoice"),Now())<=30, RunningValue(Fields!LineAmount.Value, Sum, "Invoice"), 0) 
=IIF(DateDiff("d", First(Fields!OrderDate.Value, "Invoice"), now())>=31 and DateDiff("d", First(Fields!OrderDate.Value, "Invoice"),Now())<=60, RunningValue(Fields!LineAmount.Value, Sum, "Invoice"), 0) 
=IIF(DateDiff("d", First(Fields!OrderDate.Value, "Invoice"), now())>=61 and DateDiff("d", First(Fields!OrderDate.Value, "Invoice"),Now())<=90, RunningValue(Fields!LineAmount.Value, Sum, "Invoice"), 0) 
=IIF(DateDiff("d", First(Fields!OrderDate.Value, "Invoice"), now())>=91, RunningValue(Fields!LineAmount.Value, Sum, "Invoice"), 0)