ssrs跳过表达式的日期参数

时间:2015-07-20 19:42:05

标签: reporting-services ssrs-2012

我在ssrs中创建一个报告,用于计算和比较每个客户的不同值。我使用memrepay.pday,FROM和TO设置了两个日期参数。

e.g。我们希望所有购买(=SUM(Field!memrepay.mprinc.Value)由"客户1"来自:2015年5月1日至2015年5月31日(足够简单)。但是,从他的成员资格开始到2015年5月31日在另一个单元格中进行的所有购买都是相同的(=SUM(Field!memrepay.mprinc.Value)

是否可以跳过所选的" FROM"此表达式的日期,并允许表达式汇总所有付款金额,从开始到最终选择" TO"参数?

`SELECT
  memrepay.lnr
  ,memrepay.pday
  ,memrepay.tcode
  ,memdues.dday
  ,memrepay.mprinc AS [memrepay mprinc]
  ,memrepay.mint AS [memrepay mint]
  ,memdues.mprinc AS [memdues mprinc]
  ,memdues.mint AS [memdues mint]

FROM
  memdues
  INNER JOIN memrepay
    ON memdues.lnr = memrepay.lnr AND memdues.memid = memrepay.memid
  INNER JOIN loan
    ON loan.lnr = memrepay.lnr AND loan.memid = memrepay.memid
WHERE
  memdues.dday >= @dday
  AND memdues.dday <= @dday2
  AND memrepay.pday >= @pday
  AND memrepay.pday <= @pday2`

1 个答案:

答案 0 :(得分:1)

您可以在查询中获取所有数据,然后使用 To Date 参数进行过滤,例如:

=SUM(IIF(FIELDS!YourDateField.VALUE <= Parameters!ToDate.Value  ,Field!paidamount.Value, 0))

或两个日期之间:

=SUM(IIF(FIELDS!YourDateField.VALUE <= Parameters!ToDate.Value AND FIELDS!YourDateField.VALUE >= Parameters!FromDate.Value,Field!paidamount.Value, 0))