Skip to main content

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 结合示例。结合可能会非常困难,有时需要尝试多次并会出错。如果打算执行较复杂的查询,建议您了解结合。较复杂的查询需要数据库服务器处理更多的请求,且有可能出现更多的错误。

下方是一个逐行示例,您可参考它来构建其他查询。此查询将上述的多个查询结合为一个查询,以便只提供多个表格中设置了多项限制的特定列。

  1. 指定两个不同表格中的列。然后,定义表格名称。

  2. 选择两个表格,并为其提供单个字母的昵称。

  3. 在哪里是设置条件的地方。在 SQL 中,解释表格的关联方式被视为条件。因此,您需要指定哪些列是相等的,以便 SQL 了解如何将数据关联在一起。

  4. 附加条件:时间戳开始日期

  5. 附加条件:时间戳结束日期

  6. 附加条件:数据列限制器

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”参数。在有些实例中,相同操作存在不同的条目。这是因为,记录的格式会在某种情况下发生变化,因此,您可能需要搜索这两种条目类型,才能获得一段时间内的结果。

68. Blackboard 应用支持的内容类型

事件

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%';