Blackboard 应用使用活动
移动使用活动
此页面包含 Blackboard 数据库的活动累加器 SQL 查询,以便您可以获取 Blackboard 移动使用情况的活动信息。此类信息假定您已经可以访问您的数据库并有权查询信息。这些查询仅用于报告目的,因此,无需写入权限。
重要
建议使用具有只读权限的帐户来防止意外更改。直接对任一复杂系统的数据库做出更改会导致重大问题,包括停机。本文档中这个页面列出的查询不会对系统做出任何更改。
本页面指定了 SQL 查询代码示例。通过这些查询,您应该能了解其他事项的工作原理。数据的记录方式存在一些限制。目前,我们无法确定任何特定事件是通过哪个应用程序或平台执行的。这意味着,在查找数据时,Blackboard 应用和 Blackboard Instructor 都是一样的。
在 SQL 查询示例中,bblearn 被用作示例数据库架构。Blackboard 数据库可以将数据存储在许多替代架构中,例如存档数据的Bb_bb60或bblearn_stats。查询的第一部分可能需要进行更改,以将架构变体考虑在内。
统计特定时间段内移动登录的总次数
此查询显示任何用户从任何设备上的任何应用程序登录到 Blackboard 的次数。用户登录一次,它就会统计一次。如果用户在信号不好的地方反复断开连接,则它会报告多次登录,即使自动登录的用户在自己的设备上将其视为一次会话也是如此。下方的示例以一个月的数据为依据。
select Count(*) from bblearn.activity_accumulator where TIMESTAMP > '01-MAR-2016' and TIMESTAMP < '01-APR-2016' and data like '%Mobile Login%'
注意
Blackboard 数据库中的活动累加器表会多次记录每个使用强制到 Web 身份验证登录的移动应用程序用户的移动登录尝试。
统计特定时间段内的唯一身份用户数
此查询会显示在特定时间段内登录的唯一身份用户数。因为它使用与登录相关的数据库 ID(与在此时间段内使用的不同应用程序或设备数量无关),因此用户仅会显示为一个用户。例如,如果您要反复使用此查询来构建不同月份的报告,则对于每个查询来说,用户都是唯一的。也就是说,您每运行一次此查询,每个用户就会被统计一次。系统会针对用户登录的每个不同月份来统计每个用户,但每个月只统计一次。下方的示例以一个月的数据为依据。
select Count(Distinct(user_pk1)) from bblearn.activity_accumulator where TIMESTAMP > '01-MAR-2016' and TIMESTAMP < '01-APR-2016' and data like '%Mobile Login%'
按课程角色统计唯一身份用户登录次数
此查询会显示按课程角色登录的唯一身份用户数。它将 activity_accumulator 表格与 course_users(注册)表格联接起来。联接 course_users 表格(包含每个用户的课程或组织角色)后,可以提供 Blackboard 和 Blackboard Instructor 应用程序访问用户数量的粗略估计值。适用于“统计特定时间段内的唯一身份用户数”的相同准则适用于此查询。此示例返回一个月内某位教师移动登录的次数。
select Count(Distinct(user_pk1)) from bblearn.activity_accumulator aa join bblearn.course_users cu on aa.user_pk1 = cu.users_pk1 where cu.role = 'P' and timestamp > '01-NOV-2018' and timestamp < '30-NOV-2018' and aa.data like '%Mobile Login%';
请注意,对于 cu.role,必须使用课程或组织“ROLE ID”。此外,有些用户可能登录至错误的应用程序。例如,某位教师可能会误登录至 Blackboard 应用。分析结果时请考虑这一点。
显示特定时间段内的所有各个登录
此查询实际上与“统计特定时间段内移动登录的总次数”这个查询相同,但不同之处在于它显示所有原始数据(而非只统计行数)。如果您要查找模式、或打算导出要对其执行操作的数据以深入了解报告,这个查询会非常有用。第一行中的“*”字符表示它会显示表格中的所有列。
select * from bblearn.activity_accumulator where TIMESTAMP > '01-MAR-2016' and TIMESTAMP < '01-APR-2016' and data like '%Mobile Login%'
显示用户在特定时间段内查看论坛话题的所有各个次数
此查询不是查找 Mobile Analytics 等页面上的登录数据,而是查找学生在应用程序中所执行的操作。当有人使用 Blackboard 应用在论坛上查看话题时,Building Block 便会在 activity_accumulator 表格中记录一个“mobile.view.thread”项目。此查询会显示任何学生在任一论坛上查看任一话题的时间。如果将此类数据与其他表格中的数据相结合,或在 Microsoft Excel 等程序中对此类数据执行操作,则可以确定有关特定学生、课程和使用模式的信息。
select * from bblearn.activity_accumulator where TIMESTAMP > '01-MAR-2016' and TIMESTAMP < '01-APR-2016' and data = 'mobile.view.thread'
显示所有移动使用
以下查询会提取特定月份内的所有移动项目。不过,此查询会包括只含有“移动”一词的网页的结果。虽然此类信息非常有用,但为了查找使用模式,最好将数据转换成其他格式。例如,查看哪些项目(已记录使用)是最常通过移动设备访问的项目。
select * from bblearn.activity_accumulator where TIMESTAMP > '01-MAR-2016' and TIMESTAMP < '01-APR-2016' and data like '%Mobile%'
高级查询
以下查询包括上述一些基础知识,并显示了几种方式来获取更详细的数据或将数据整合在一起,使其更具可读性。
查询 Blackboard 用户
此查询包括用户表格中的所有数据。其中含有每个用户的用户名和相关的 PK 值。这是 Blackboard 中的所有用户,无论他们是否使用 Blackboard 的任何移动产品。
select * from bblearn.users
将您的查询范围限制在特定列中
本页中的查询都在查询部分使用“*”标志符,以便让您指定列。这会导致 SQL 返回表格中的所有列,而与这些列是否为您提供任何实际值无关。以下查询会返回 activity_accumulator 表格中的所有行,但仅会返回 5 列。这样不仅可让我们识别用户、课程和内容项目,还会给我们提供数据字段的信息及活动发生时间的时间戳。它不会显示其他任何列。
select user_pk1, course_pk1, content_pk1, data, timestamp from bblearn.activity_accumulator
将多个表格结合在一起
如果您想将两个表格中的结果结合在一起,则它会帮您筛选,以将数据范围限制在相关用户。您也可以提取用户名,直接将用户与活动关联起来,从而省去您手动查找的麻烦。SQL 会使用结合,将多个表格中的结果结合在一起。关联是一个地方,在这里,语句告知 SQL 一个表格中的值等于另一个表格中的相同值。
以下查询是一个使用表格的 SQL 结合示例。结合可能会非常困难,有时需要尝试多次并会出错。如果打算执行较复杂的查询,建议您了解结合。较复杂的查询需要数据库服务器处理更多的请求,且有可能出现更多的错误。
下方是一个逐行示例,您可参考它来构建其他查询。此查询将上述的多个查询结合为一个查询,以便只提供多个表格中设置了多项限制的特定列。
指定两个不同表格中的列。然后,定义表格名称。
选择两个表格,并为其提供单个字母的昵称。
在哪里是设置条件的地方。在 SQL 中,解释表格的关联方式被视为条件。因此,您需要指定哪些列是相等的,以便 SQL 了解如何将数据关联在一起。附加条件:时间戳开始日期
附加条件:时间戳结束日期
附加条件:数据列限制器
select u.user_id, a.data, a.timestamp from bblearn.activity_accumulator a, bblearn.users u where u.pk1=a.user_pk1 and a.TIMESTAMP > '01-MAR-2016' and a.TIMESTAMP < '01-APR-2016' and a.data like '%Mobile Login%'
与查询类似,可以将条件添加到用户表中,例如 u.user_id = 'StudentLogin' 。这样一来,只要获得学生的实际用户名,系统便可针对 activity_accumulator 表格运行查询,而不必确定用户 PK1 值。
可以结合其他表格。添加的条件和结合越多,查询需要的时间就越长,但得到的结果中的数据质量会更好。无需获得许多数据库 ID,就像 activity_accumulator 会默认填充一样,内容名称和课程名称可以填充到查询中。
参考数据
移动事件
以下事件是由移动 Web 服务 Building Block 在 activity_accumulator 表格中记录的。此列表可能会随时间而变化。Building Block(而非应用程序本身)记录事件时,无论使用哪个应用程序执行操作,数据格式都是相同的。在上文的话题查看这个查询中,如果下表中任一条目包含除移动列表本身之外的额外文本,则可以使用此条目替换“mobile.view.thread”参数。在有些实例中,相同操作存在不同的条目。这是因为,记录的格式会在某种情况下发生变化,因此,您可能需要搜索这两种条目类型,才能获得一段时间内的结果。
事件 | activity_accumulator 表格“数据”字段中的条目 |
|---|---|
查看博客列表 | mobile.list.blogs |
查看帖子列表 | mobile.list.blog.entries |
查看帖子评论 | mobile.list.blog.comments |
添加日记评论 | mobile.list.journal.add.entry.comment |
添加博客评论 | mobile.list.blog.add.entry.comment |
添加日记文章 | mobile.list.journal.add.entry |
添加博客文章 | mobile.list.blog.add.entry |
查看日记列表 | mobile.list.journals |
查看帖子列表 | mobile.list.journal.entries |
查看帖子评论 | mobile.list.journal.comments |
查看论坛 | mobile.list.forums |
查看话题 | mobile.list.threads |
查看话题 | mobile.view.thread |
查看话题帖子 | mobile.view.thread.post |
查看公告 | mobile.view.announcements |
查看花名册 | mobile.view.roster |
查看成绩 | mobile.view.grades |
添加日记文章 | mobile.add.journal.entry |
添加 db 帖子 | mobile.add.thread.post |
添加 db 帖子评论 | mobile.add.thread.post.comment |
查看内容项目 | Mobile Content View |
如何查看有多少学生和/或教职员工正在使用 Bb Mobile 应用程序?
对于使用 Blackboard Mobile Web 服务构建基块 *.2.9 及更高版本的服务器,当用户登录 Blackboard Mobile 应用程序时,BbMobile 用户角色将添加为辅助机构角色。
学生
以下是有关如何查找将 BbMobile 用户作为辅助机构角色关联的所有学生用户的查询(假设“学生”角色为 institution_roles_pk1 = 1):
SELECT count(distinct u.pk1) as count_BbMobileUser FROM users u, user_roles r, institution_roles ir WHERE u.institution_roles_pk1 = '1' AND u.pk1 = r.users_pk1 AND r.institution_roles_pk1 = ir.pk1 AND ir.role_name = 'BbMobile User';
教师
以下是有关如何查找将 BbMobile 用户作为辅助机构角色关联的所有教职员工用户的查询(假设“教职员工”角色为 institution_roles_pk1 = 2):
SELECT count(distinct u.pk1) as count_BbMobileUser FROM users u, user_roles r, institution_roles ir WHERE u.institution_roles_pk1 = '2' AND u.pk1 = r.users_pk1 AND r.institution_roles_pk1 = ir.pk1 AND ir.role_name = 'BbMobile User';
计算 1 个月的移动登录总数
SELECT Count(*) from bblearn.activity_accumulator WHERE TIMESTAMP > '01-MAR-2016' AND TIMESTAMP < '01-APR-2016' AND data like '%Mobile Login%';
统计 1 个月的唯一用户数
SELECT Count(Distinct(user_pk1)) FROM bblearn.activity_accumulator WHERE TIMESTAMP > '01-MAR-2016' AND TIMESTAMP < '01-APR-2016' AND data like '%Mobile Login%';