如何创建和更新报表 - DigitalPlatform/dp2 GitHub Wiki

1. 以具有相关权限的账号进入dp2内务

创建报表相关权限包含:listform,getsystemparameter,searchitem、searchreader、searchbiblio、getoperlog、getuser、upload,getbibliosummary。查看报表需要viewreport权限。

只要具备足够权限,分馆账号可以创建权限以内的分馆报表。

创建报表的流程清单请参考文档:https://github.com/DigitalPlatform/dp2/wiki/%E5%88%9B%E5%BB%BA%E6%8A%A5%E8%A1%A8checklist

创建报表不应该在服务器上做。因为报表会占用很大空间(SQLite 数据库)。

比如预计报表会占用 100M,首先内务创建就会占用 100M,上传到同一台服务器又占用 100M。另外平时创建的本地存储,辅助报表的 SQLite 数据库也会占据很大一部分空间,而且必须经常保持,不能删除。这些空间原本都是可以占用到前端的。但占用了服务器的空间就很有可能影响到服务器的运行。


2. 点击【功能】-【统计窗】-【报表窗】,进入【报表窗】。

3. 首次创建报表,需要创建本地存储,因为报表是在本地创建的。

在【报表窗】-【开始】属性页,点击【首次创建本地存储】。系统将dp2library服务器的相关数据复制到前端机器。创建完毕后系统弹出【处理完成】的提示。本地存储创建好之后,会在操作的电脑上保存一个与当前实例名称一模一样的本地存储文件,后续创建报表以后日期的报表时,系统会调用这个文件里面的内容。如果这个文件名称被修改或者文件丢失,将需要重头创建本地存储。

注:正因为本地存储文件对于创建报表非常重要,创建报表的动作需要在一台固定的电脑上进行。

假如首次创建本地存储的过程中,图书馆其他前端没有工作,那么当首次创建本地存储完成后,当前前端的本地信息和dp2library服务器应该是完全一致的。但因为首次创建的时间通常较长,这一段时间内图书馆前端通常会发生操作,这样,当首次创建本地存储结束后,需要按【每日同步】按钮进行每日同步。

当每日同步执行完后,当前前端的本地信息就处在最新的状态。

以后每次创建报表的时候,别忘了先使用【每日同步】按钮,把最新的信息同步到本地以后,才能创建新的报表。也就是说创建报表是根据本地信息来进行的,如果没有同步更新的信息过来,【每日报表】按钮就会一直显示“报表已经是最新”。

4. 配置报表参数

点击【报表配置】标签,进入【报表配置】属性页。在空白处单击鼠标右键,从右键菜单选择【自动创建全局分馆配置】,软件就会自动配置好每个分馆的全部报表。

如果dp2library服务器没有配置过分馆,在空白处单击鼠标右键,从右键菜单选择【创建分馆配置】,可以打开【一个分馆的报表配置】对话框,在【一般信息】属性页,【馆代码】选择“全局”,即可配置报表参数。

在【一个分馆的报表配置】对话框里的【报表】属性页里,用户可以详细观察每个报表的配置,进一步修改报表定义。如果不需要某个报表,可以在这里删除它的定义。

5. 创建报表

当报表配置好以后,回到报表窗的【开始】属性页,点击【每日报表】按钮创建最新报表。如果在【报表配置】属性页配置了多个分馆,点击【每日报表】后,系统自动创建所有分馆的报表。

由于当天的图书馆业务工作可能还没有结束,所以软件总是创建昨天和以前的报表。软件会自动记忆上次创建报表的最末时间,如果中间多天没有创建报表,后面再创建报表的时候,软件会把这些日子自动创建好报表,不会遗漏。

每个报表都定义了创建频率。每日创建报表功能,会自动根据创建频率进行创建。规则是每日创建前一日和以前的频率为”day”的报表;每月1日创建上一个月的频率为”month”的报表;每年1月1日创建上一年的频率为”year”的报表。

窗口下方工具条的【设置报表创建起点日期】按钮,可以修改上次报表创建后保存下来的最末日期,也就是下次报表创建的起点日期。

注意,平时软件会自动记忆报表创建起点日期,如果没有必要不要用本功能去修改。向接近当天日期的方向修改这个日期,效果是让后继的每日报表操作跳过一些日期不去创建报表。

6. 上传报表

当报表创建好以后,【开始】属性页的【上传报表】按钮文字会显示出当前需要上传的报表文件个数。

【上传方式】下拉列表可以看到,软件有dp2library和FTP两种上传报表的方式。

dp2library方式,是把报表文件上传到dp2library数据目录中upload子目录下的对应位置。需要操作者账户具有upload的权限。

FTP方式,是把报表文件利用FTP协议上传到dp2OPAC所在服务器文件目录中。

dp2library方式上传报表文件的时候,是先把报表文件压缩为一个.zip文件,然后上传,上传完毕后,保存在本地的.zip文件会被自动删除

具有viewreport权限的用户可以从opac上看到所创建的报表。

上传到服务器的报表会保存在对应实例的【library_data】-【upload】-【reports】里面,可以从内务的【功能】-【系统维护】-【系统管理窗】-【内核】-【!】-【upload】-【reports】下看到。如果报表上传到服务器后被删除或者移到其他位置了,通过opac是看不到内容的。

7. 零星创建报表

如果要为单独的某个或者某几个分馆创建报表,或者选择创建分馆的其中一部分报表,可以使用下述功能。

在“报表配置”属性页,选择要创建报表的分馆名称。可以用Ctrl和Shift键辅助进行复选。然后,点鼠标右键出现上下文菜单,选择【创建选定分馆的最新报表】命令。

系统弹出【创建哪些报表】对话框,要求用户输入创建报表的起止日期,创建频率,以及需要创建的报表类型。如果需要创建自由时间段的报表,在【创建频率】一栏选择“free”。

用户设定一个日期范围。可以设置为年,也可以精确设置到天。比如:“2012-2014”表示几年的完整日期范围;“20120601-20141231”表示更为细致的日期范围;“20140601”表示一天。

创建频率文本框可以保持为空,这样意味着使用下方列表中选定的报表的创建频率栏定义进行创建。如果创建频率文本框这里设定了频率,那么就自动按照这里的频率来为所有选择的报表类型进行创建了,具体的报表类型自己的创建频率就暂时失效了。

在列表中勾选想要创建的报表类型。

按“确定”按钮。

操作结束后,软件不会自动修改报表最后日期。所创建的报表,存储的目录依然是按照年月日来划分的,和“每日报表”功能完全一致。

8. 创建指定时间段的子目录报表

在【创建哪些报表】对话框里,可以通过将【创建频率】设置为“free”来创建某时间段的子目录报表。系统会在报表目录中的分馆子目录下开辟一个子目录,把相关的报表全部纳入到这个子目录下,而不再按照年月日的规则分散创建在多个子目录中。

例如:如果需要创建20180901到20190110这个时间段的子目录报表,在【创建哪些报表】对话框里【日期范围】文本框输入“20180901-20190110”,【创建频率】文本框输入“free”,勾选需要创建的报表名称。则在相应的分馆下方会创建一个名为“20180901-20190110”的报表子目录,里面包含所有需要的报表类型。

创建指定日期的报表时需要注意:所创建的起止日期内的日志同步要先做,如果存在某些天的日志还没有同步到本地,系统只能创建到距离截止日期最近的有同步的那天。

9. 报表的时间敏感性

一般来说,以前的报表,也就是说不是当前时间的报表,是可以反复重新创建的。但基于以下的几点原因,可能后来重新创建或者追加创建的报表内容不一定准确,需要引起注意。

读者修改了单位名称。例如一些学校,每年会批处理修改学生的年级名称。这样,后来重新进行的统计,单位归口就和当时不一致了。

读者调动单位。读者记录可能会在分馆之间挪动。这样后来的统计,读者所属分馆的归口就发生了变化。

册记录被删除。册记录后来可能被删除,这样后来的统计,册记录的一些特征就没法找到了,比如分类号就只能按“空”来归口统计了。


首次创建报表步骤

项目 步骤 界面
1 首次创建本地存储 【报表】-【开始】
2 配置报表参数,含报表类型,创建频率 【报表】-【报表配置】
3 每日同步 【报表】-【开始】
4 创建每日报表 【报表】-【开始】
5 上传报表 【报表】-【开始】

例行创建报表-非首次创建(报表类型已经设置不需要修改)

项目 步骤 界面
1 每日同步 【报表】-【开始】
2 创建每日报表 【报表】-【开始】
3 上传报表 【报表】-【开始】

创建所有(指定)分馆某指定时间段的报表

项目 步骤 界面
1 每日同步 【报表】-【开始】
2 配置报表参数,含报表类型,起止日期 【报表】-【报表配置】
3 上传报表 【报表】-【开始】