我被卡住了,需要建议。 这可能很简单,但是,我是初学者,想尽快学习,所以请耐心等待。 我有一个包含“A”/“P”格式考勤数据的表格。我试图在报告中显示一个班级内有多少人在日期范围内错过了三次或更多次。大多数情况下,我有SQL语句执行所有工作,但有一个例外。我可以显示某人错过了多少次的总和,但我无法弄清楚如何仅显示缺课时间超过3次的学生。IIF声明帮助 - 总和值大于或等于
=SUM(IIF(Fields!Attendance.Value ="A",1,NOTHING))
如果我写这样的表达: 我进入上我想要的数据,在返回列的表达式如下
=SUM(IIF(Fields!Attendance.Value ="A",1,NOTHING))>=3
我得到TRUE/FALSE返回。如果我可以弄清楚如何只显示TRUE的回报,那就没问题了。
任何意见是赞赏!
我的整个SQL语句 - 还有两个其他数据集被调用来将数据拉入到这个数据集中。
SELECT smgp_group.group_id
, smgp_group.group_name
, core_v_person_basic.last_name + ', ' + core_v_person_basic.nick_name as Name
, core_v_person_basic.birth_date AS Birthdate
, '*' + CONVERT(varchar, core_v_person_basic.person_id) + '*' AS person_id
, core_v_person_basic.street_address_1
, core_v_person_basic.city + ',' + core_v_person_basic.state + ' ' + core_v_person_basic.postal_code AS Citystatezip
, core_v_person_basic.home_phone
, core_v_person_basic.email
, core_lookup.lookup_value AS [Group Role]
, CATD.occurrence_end_time
, CATD.Attendance as attendance
, MAX(CATD.DateLastAttended) AS Datelastattended
, CATD.occurrence_end_time AS [Start Date]
, CATD.occurrence_end_time AS [End Date]
, '*$' + CONVERT(varchar, CATD.occurrence_id) + '*' AS 'occurrence_id'
, core_v_person_basic.cell_phone
FROM smgp_group
INNER JOIN cust_v_attendanceroll AS CATD
INNER JOIN core_lookup ON CATD.role_luid = core_lookup.lookup_id
INNER JOIN core_v_person_basic ON CATD.person_id = core_v_person_basic.person_id ON smgp_group.group_id = CATD.group_id
where CATD.occurrence_end_time between @startdate AND @enddate and smgp_group.group_id IN (@group)
GROUP BY smgp_group.group_id, smgp_group.group_name, core_v_person_basic.last_name,core_v_person_basic.nick_name, core_v_person_basic.birth_date, core_v_person_basic.street_address_1,
core_v_person_basic.city + ',' + core_v_person_basic.state + ' ' + core_v_person_basic.postal_code, core_v_person_basic.home_phone,
core_v_person_basic.email, core_lookup.lookup_value, CATD.occurrence_end_time, CATD.Attendance, CATD.occurrence_id, core_v_person_basic.person_id,
core_v_person_basic.cell_phone
HAVING attendance = 'A'
ORDER BY attendance
您正在使用哪个版本的Microsoft Excel? – Octopus 2013-03-18 18:40:19
你可以发布你的整个查询,并解释一点。如果有人错过了三次以上的课程,你只想显示记录吗? – DevelopmentIsMyPassion 2013-03-18 18:40:44
这是你想在Excel或SQL? – DevelopmentIsMyPassion 2013-03-18 18:41:22