【发布时间】:2014-06-10 01:22:03
【问题描述】:
我有一个以条形图显示逾期发票信息的报告。
每个条形显示一系列逾期发票总数。例如:逾期 45 天以上的发票数量、逾期 31-44 天的发票数量、逾期 21-30 天等的发票数量。
我希望能够单击图表中的条形以打开子报告,其中显示所单击条形范围内所有发票的所有发票详细信息。
例如,如果点击 45+ 栏,它将显示逾期 45 天或更长时间的发票的所有发票详细信息。
我创建了一个子报告,其中包含我需要的所有字段,但是,此报告显示表格中的所有发票,而不仅仅是点击栏范围内的发票。
我的父报告使用以下图表查询:
WITH Temp ([Description], [Amount], [OverdueBy])
AS
(select Description, SUM(Amount) as Amount, (DATEDIFF(day,DueDate,GETDATE())) as OverdueBy from brvAPAllInvoices
Where PaidDate is null and APCo = 1
Group By Description, DueDate
)
SELECT CASE WHEN OverdueBy >= 46 THEN 'Overdue by 46+ days'
WHEN OverdueBy >= 31 and OverdueBy <= 45 THEN 'Overdue by 31-45 days'
WHEN OverdueBy >= 15 and OverdueBy <= 30 THEN 'Overdue by 15-30 days'
WHEN OverdueBy >= 8 and OverdueBy <= 14 THEN 'Overdue by 8-14 days'
WHEN OverdueBy >= 1 and OverdueBy <= 7 THEN 'Overdue by 1-7 days'
WHEN OverdueBy <= 0 and OverdueBy >= -7 THEN 'Due in 0-7 days'
WHEN OverdueBy <= -8 and OverdueBy >= -14 THEN 'Due in 8-14 days'
WHEN OverdueBy <= -15 and OverdueBy >= -30 THEN 'Due in 15-30 days'
WHEN OverdueBy <= -31 and OverdueBy >= -45 THEN 'Due in 31-45 days'
WHEN OverdueBy <= -46 THEN 'Due in 46+ days'
ELSE 'Less than that' END AS OverdueRange,
Count(*) as OverdueCount,
Sum(Temp.Amount) as [Total Amount]
From Temp
group by CASE WHEN OverdueBy >= 46 THEN 'Overdue by 46+ days'
WHEN OverdueBy >= 31 and OverdueBy <= 45 THEN 'Overdue by 31-45 days'
WHEN OverdueBy >= 15 and OverdueBy <= 30 THEN 'Overdue by 15-30 days'
WHEN OverdueBy >= 8 and OverdueBy <= 14 THEN 'Overdue by 8-14 days'
WHEN OverdueBy >= 1 and OverdueBy <= 7 THEN 'Overdue by 1-7 days'
WHEN OverdueBy <= 0 and OverdueBy >= -7 THEN 'Due in 0-7 days'
WHEN OverdueBy <= -8 and OverdueBy >= -14 THEN 'Due in 8-14 days'
WHEN OverdueBy <= -15 and OverdueBy >= -30 THEN 'Due in 15-30 days'
WHEN OverdueBy <= -31 and OverdueBy >= -45 THEN 'Due in 31-45 days'
WHEN OverdueBy <= -46 THEN 'Due in 46+ days'
ELSE 'Less than that' END
ORDER BY MAX(Temp.[OverdueBy]) DESC;
生成下表:
+-----------------------+--------------+
| OverdueRange | OverdueCount |
+-----------------------+--------------+
| Overdue by 46+ days | 50 |
| Overdue by 31-45 days | 15 |
| Overdue by 15-30 days | 24 |
| Overdue by 8-14 days | 121 |
| Overdue by 1-7 days | 17 |
| Due in 0-7 days | 17 |
| Due in 8-14 days | 4 |
| Due in 15-30 days | 368 |
| Due in 31-45 days | 1 |
| Due in 46+ days | 14 |
+-----------------------+--------------+
子报告使用以下查询:
select APRef as 'Invoice #', Vendor, VendorName, InvDate, Description, (DATEDIFF(day,DueDate,GETDATE())) as OverdueBy, SUM(Amount) as Amount from brvAPAllInvoices
Where APCo = 1 and PaidDate is null
Group By APRef, Vendor, VendorName, InvDate, Description, DueDate
子报告表如下所示:
+--------------+--------+-----------------------------------------------------------+---------------------+--------------------------------+-----------+-----------+
| Invoice # | Vendor | VendorName | InvDate | Description | OverdueBy | Amount |
+--------------+--------+-----------------------------------------------------------+---------------------+--------------------------------+-----------+-----------+
| 00000418 | 3293 | Seaforth Civil Pty Ltd | 2014-04-24 00:00:00 | Plant Hire, Materials, Repairs | 10 | 236602.94 |
| 00001113 | 3377 | 3D Engineering Services Pty Ltd | 2014-05-31 00:00:00 | Manufacture Handrails | -20 | 10236.60 |
| 00001701 | 3273 | ADE Electrical Pty Ltd | 2014-05-21 00:00:00 | Test & Tag 15m, 3 phase lead | 6 | 22.00 |
| 00001921 | 2155 | Electrical Refrigeration Enterprises | 2014-05-09 00:00:00 | Repair sensors and Lights | 18 | 444.40 |
| 00001932 | 2155 | Electrical Refrigeration Enterprises | 2014-05-09 00:00:00 | Relocated button Security Door | 18 | 104.50 |
| 00021458 | 1946 | VacUDigga Pty Ltd | 2014-04-15 00:00:00 | Vac Excavation 11/4/14 | 10 | 1729.75 |
| 00021869 | 1946 | VacUDigga Pty Ltd | 2014-05-12 00:00:00 | Vacuum Excavation 12/5/14 | -20 | 1694.00 |
| 0003091 | 2677 | Parker's Liquid Waste Pty Ltd T/As Parker's Liquid Waste | 2014-05-06 00:00:00 | Pump out holding tank | -20 | 267.30 |
| 003000775835 | 685 | ADT WSale Tools P/L T/As Glenfords Tool Centre Gladstone | 2014-05-13 00:00:00 | 9" End Nippers | -20 | 116.00 |
| 003000776496 | 685 | ADT WSale Tools P/L T/As Glenfords Tool Centre Gladstone | 2014-05-28 00:00:00 | Air Tool | -20 | 19.00 |
| 00980812 | 590 | Followmont Transport | 2014-05-27 00:00:00 | Transportation | -16 | 441.54 |
| 104760 | 2816 | Tank Services P/L T/As The Tasman Tank Co | 2013-02-13 00:00:00 | Fit Ext Nut Caps to Tank 2 | 475 | 2141.93 |
| 107776 | 3385 | GoTurf | 2014-05-08 00:00:00 | TURF | -20 | 25942.40 |
| 119023 | 808 | The Hose Shed | 2014-05-05 00:00:00 | Flange and Plugs | -20 | 522.80 |
+--------------+--------+-----------------------------------------------------------+---------------------+--------------------------------+-----------+-----------+
我如何链接数据以完成这项工作?
【问题讨论】:
标签: sql reporting-services parameters charts subreport