我有一份报告显示按客户部门分组的过去3个月的销售代表的客户预约。在客户部门组标题中,我想显示约会所代表的该部门中客户总数的百分比。
例如,我的报告显示John Smith在过去3个月内为“国防”部门的客户做了6次约会。约翰史密斯还为“地方政府”部门的客户预约了四次。
我知道我共有10名国防客户和20名当地政府客户。如何显示过去三个月中该行业客户的百分比?
所以我目前显示:
Sales Rep: John Smith (10 appointments)
Sector: Defence (2 customers)
Customer 1 (4 appointments)
Appointment 1 -- Blah
Appointment 2 -- Blah
Appointment 3 -- Blah
Appointment 4 -- Blah
Customer 2 (2 appointments)
Appointment 1 -- Blah
Appointment 2 -- Blah
Sector: Local Government (2 customers)
Customer 3 (3 appointments)
Appointment 1 -- Blah
Appointment 2 -- Blah
Appointment 3 -- Blah
Customer 4 (1 appointment)
Appointment 1 -- Blah
我想表明:
Sales Rep: John Smith (10 appointments)
Sector: Defence (2 customers - **20% of total Defence customers**)
Customer 1 (4 appointments)
Appointment 1 -- Blah
Appointment 2 -- Blah
Appointment 3 -- Blah
Appointment 4 -- Blah
Customer 2 (2 appointments)
Appointment 1 -- Blah
Appointment 2 -- Blah
Sector: Local Government (2 customers - **10% of Local Government customers**)
Customer 3 (3 appointments)
Appointment 1 -- Blah
Appointment 2 -- Blah
Appointment 3 -- Blah
Customer 4 (1 appointment)
Appointment 1 -- Blah
我是SSRS的菜鸟,所以不知道我怎么能做到这一点。我是否在报表中添加了一个数据集,其中包含每个客户部门的客户总数?
如果我这样做,我如何在我目前在客户部门组标题中显示的表达式中使用总数来说,防御,以计算该部门中看到的总客户的百分比?
由于数据库限制,我无法在源数据库中创建任何表,视图或存储过程,因此所有工作都必须在报告中完成。
我正在使用SSRS 2005。
非常感谢!
答案 0 :(得分:1)
我认为通过在当前数据的SQL查询中添加%customers作为列,可能最容易实现您想要完成的任务。这取决于您现在拥有多少数据集。如果您为数据集发布SQL,我很乐意为您提供建议;没有它,我将不得不猜测。这可能足以引导您走上正确的道路。
如果您将上述数据拉入表格的大型非规范化结果中:
SELECT
SalesRep
, Sector
, Customer
, Appointment
, (SELECT count(*) FROM customers WHERE s.sector = sector) as numCustomerPerSector
FROM SalesReps sr
INNER JOIN Sectors s
ON ...
...
WHERE 1=1
我确信这不是最佳解决方案,但它会起作用。