水晶报表在钻井信息查询系统中的应用

2022-12-03

在油气田勘探开发中, 钻井工程是一项系统工程, 各个设计、作业、施工交替融合, 存在着系统录入、安全存储和互联共享等问题, 需要一套钻井信息系统来完成系统化、数字化和报表化的任务。水晶报表是跨大型数据库的专业格式报表的世界标准, 能够解释分析纷繁复杂的数据, 快速创建美观而灵活的报表[1]。

一、软件架构

钻井信息查询系统整体包括信息录入、数据存储、数据管理、报表设计、打印输出等5部分功能。用户首先收集某井的钻井信息资料, 在录入模块分类分批录入, 可存储到本地数据库中, 也可经验证后获得权限将数据上传到在线数据库;此后, 数据经过修改、整合, 用于报表设计模块, 能够预览、打印、输出各个钻井信息报表。图1为钻井信息查询系统的架构。

二、数据获取

水晶报表的数据获取方式有拉模式 (PULL) 和推模式 (PUSH) [2]两种。拉模式由水晶报表引擎 (模版) 直接连接数据库, 拉取数据, 中间过程由引擎自动完成;推模式则是由软件从数据库获取数据, 经过中间数据集推送给水晶报表模版, 中间过程由编程实现, 灵活性大。由于钻井信息查询系统需要能够从本地、在线这两种不同的数据库获得数据, 并经过中间计算、数据定制来实现丰富的报表内容, 故需采用灵活性更高的推模式。

三、报表设计

1. 需求分析

为了设计出系统、全面、美观的钻井信息报表集, 需要明确钻井信息查询系统对报表内容的需求。钻井工程是一项庞杂的工程, 需各设计单位、钻井承包商、材料供应商协调工作, 协调的紧密程度依赖于各方面信息是否能够准确、完整地传输和共享, 因而报表集应当包括井位基本信息、钻遇的地层信息、井身结构、钻井日志、钻具组合记录、每日钻井液性能、井眼测斜数据、固井工程数据以及钻完井作业遭遇的复杂情况等。

2. 设计思路

采用水晶报表的推模式, 利用代码实现从本地或在线数据库获取数据, 存储到中间数据集;而后, 对于复杂计算, 如井眼轨迹计算、坐标变换等, 由程序从中间数据集的原始数据表中获取数据, 经计算后再将结果存储到中间数据集的计算数据表中, 而对于简单计算, 如单位换算、组件计数等, 直接用报表设计中的公式字段完成;最后, 将中间数据集与报表的数据库字段关联, 调整模版版式, 完成报表设计。此外, 采用子报表对复杂的报表内容进行分块, 方便数据库字段的链接设置和内容的选择性抑制显示。

3. 设计内容

以“固井工程数据”的报表设计为例, 该主报表内容包括:

(1) 报表头:井名、报表标题及钻井报告统一标识;

(2) 详细资料a:套管数据子报表, ;

(3) 详细资料b:水泥浆性能信息子报表;

(4) 详细资料c:套管明细子报表;

(5) 报表尾:含有报表输出系统的版权信息、公司标志等。

此外, 可对页眉、页脚进行设置, 用以标记页码、软件标识等。

其中, 对于“套管数据”子报表, 使用了报表头a、详细资料a、详细资料b三部分。报表头a包含子报表标题;详细资料a包含了套管串的名称、下入深度、下入日期及套管串组件表头等;详细资料b包含了套管串组件的明细列表。

固井工程包含了多层套管串, 如表层套管、技术套管及生产套管等, 存储在Cas表中, 主键为idrec;各套管串的组件包含浮阀、短套管、套管单根等, 存储在Cas Comp表中, 主键为idrec, 外键为idrec Pare并指向Cas中的主键。报表设计中, 需要注意:

(1) 在“字段资源管理器”的数据库字段中, 需明确Cas表主键与Cas Comp表外键的链接关系;

(2) 在“节专家”中, 利用recordnumber变量对详细资料a进行选择性抑制显示, 仅在第一条套管串组件记录和套管串组件的外键idrec Pare值发生变化时显示, 达到分别显示表层套管、技术套管、生产套管的组件列表的效果。

此外, 套管串组件的顶部深度、底部深度并不储存在数据库中, 需经过计算获得, 属于复杂计算, 由代码计算并存储到CasComp Calc表中, 再添加到报表中排版显示;而套管串组件的外径、内径的单位换算属于简单计算, 直接由水晶报表的公式字段实现。

其他钻井信息查询系统报表的设计方法与“固井工程数据”的报表设计方法类似。

4. 利用子报表将报表内容进行分块, 方便数据库字段的链接设置和内容的选择性抑制显示。

结论

利用水晶报表这一开发工具, 本文针对钻井工程信息化的实际需要, 总结了一套钻井信息查询系统报表集的设计方法, 得出以下结论:

1.应深入调研实际需求, 达到数据录入、管理、输出的统一与连贯;

2.软件数据来源的多样性要求使用灵活度高的推模式;

3.经由中间数据集由数据库向水晶报表引擎推送数据, 期间可对数据进行中间计算和定制;

摘要:为了解决日益增长的钻井资料的系统录入、安全存储和互联共享问题, 钻井信息已经向系统化、数字化和报表化方向发展。本文介绍了基于水晶报表的油田钻井信息查询系统的设计方法, 即在.NET平台下, 利用水晶报表的推模式组织数据流, 经过中间数据集的整合计算, 最后映射到报表设计, 形成一套钻井信息报表集;该信息查询系统已经成功在渤海油田应用。

关键词:水晶报表,钻井资料,查询系统,推模式

参考文献

[1] 张荣圣, 侯鹏志, 郭圣路.Crystal Reports 2008水晶报表从入门到精通[J].2010.

[2] 万青.水晶报表中用推模式插入图片的研究与实践[J].现代电子技术, 2012, 35 (16) :73-74.

上一篇:河道工程测量中“3S”技术的应用研究下一篇:真督实导强化宣传——昊华股份把从严从实要求贯穿教育实践活动全过程