我有一份SSRS报告,该报告显示从访问表中选择某些特定选项的金额。
例如,在这100个记录中,不一定每个选项都被选中,让我们说明细分如下
当我运行我的报告时,它只会给我选项a,b和e的行,但是如何显示所有10个选项,即使是0值的选项?
更新:这是查询从
中提取数据的代码SELECT Agent, Team, First_Choice_Options, Start_Time FROM Record
WHERE (Start_Time >= CONVERT(DATE, @Startdate))
AND (Start_Time < CONVERT(DATE, DATEADD(DAY, 1, @Enddate)))
AND (Team = 'Triage') AND (Agent IN (@Agent))
答案 0 :(得分:1)
这实际上是一个SQL事物,没有任何特定于Reporting Services。 SSRS仅显示从数据源返回的内容。因此,您需要更改查询以返回未获得任何活动的选项。一个例子如下。底部的SELECT语句是诀窍所在; LEFT JOIN为您做到这一点。其他一切只是让代码工作,所以我可以测试它。
CREATE TABLE Record (Agent varchar(30),
Team varchar(30),
First_Choice_Options varchar(30),
Start_Time datetime);
INSERT INTO Record VALUES ('Some Agent','Triage','Option A','2016-06-05'),
('Some Agent','Triage','Option A','2016-06-10'),
('Some Agent','Triage','Option B','2016-06-15'),
('Some Agent','Triage','Option B','2016-06-20'),
('Some Agent','Triage','Option A','2016-06-25')
CREATE TABLE Options (First_Choice_Options varchar(30))
INSERT INTO Options VALUES ('Option A'),('Option B'),('Option C'),('Option D')
DECLARE @Startdate datetime = '2016-06-01',
@Enddate datetime = '2016-06-30',
@Agent varchar(30) = 'Some Agent'
SELECT O.First_Choice_Options AS Options, SUM(IIF(R.First_Choice_Options IS NULL, 0, 1)) AS Options_Count
FROM Options O LEFT JOIN Record R
ON O.First_Choice_Options = R.First_Choice_Options
AND (Start_Time >= CONVERT(DATE, @Startdate))
AND (Start_Time < CONVERT(DATE, DATEADD(DAY, 1, @Enddate)))
AND (Team = 'Triage') AND (Agent IN (@Agent))
GROUP BY O.First_Choice_Options
DROP TABLE Record
DROP TABLE Options
如果针对测试数据库运行此操作,您将看到结果的样子。选项A和B将具有计数,选项C和D将报告计数的0(零)。此代码假定您在数据源中有一些类似于表的选项。
Options Options_Count
------------------------------ -------------
Option A 3
Option B 2
Option C 0
Option D 0
祝你好运!