我在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`
答案 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))