目前,联网审计3.0已广泛应用于各市州审计机关。该系统既可使用系统内置的查询模型开展数据分析,也可以由审计人员自定义查询模型进行分析。好的自定义查询模型,能让审计人员更方便、快捷地获得需要的结果。笔者以国库支付数据为例,介绍如何通过对模型及参数进行合理化设置,创建方便使用、功能丰富的自定义查询模型。 一、创建模型并命名
打开并登入联网审计系统3.0,通过“审前准备”一“查询模型构建”功能建立模型。如图1,创建模型并命名为“C22国库支付明细查询”。 二、设置模型参数 主要涉及选择哪些字段作为参数交互,有关参数值是多选还是单选,是否需要默认值,如何实现全选等问题。 (一)确定模型参数设置 结合“国库_支付明细表”标准表中的字段,可选取如“预算年度”、“预算单位”、“经济分类”等字段进行设置。
如图2,该模型设置了“@预算单位”、“@预算年度”等12个参数。为提高用户体验,相关参数均采用了默认值处理。 (二)参数多选和模糊匹配 为便于用户实际操作,该模型涉及“代码+名称”类的参数值均设置了多选功能,通过标准表动态取值;而“收款人”、“摘要”等采取模糊匹配。联网审计系统的参数机制,是对SQL代码中的参数进行简单替换(等同于文本编辑中的“查找/替换”功能),并不会根据SQL语法进行自动调整。因此,本例在涉及使用参数的SQL代码中,均对此类情形进行了控制和调整。
1.可选多值或全选的参数处理 以“@预算单位”参数为例。如图3,参数“@预算单位”数据类型为“字符串”,取值方式为“SQL”,勾选“允许选择多值”,通过SQL语句动态取值,构建特殊记录增加“全选”项后,设置“默认值”项为“全选”。动态取值SQL语句如下: SELECT*FROM (SELECT'000000'预算单位代码,’全选’预算单位名称,’全选’预算单位,”上级节点 UNION ALL SELECT DISTINCT预算单位代码,预算单位名称,预算单位代码+预算单位名称,‘000000’ FROM[国库_支付明细表])W ORDER BY 1 上述语句,在得到去重后的预算单位记录后,增加了一条预算单位代码为“000000”的记录,后续模型的查询语句部分,将进行判定从而实现全选功能。SQL语句中其他字段主要用于“取值设置”和“层级显示”,具体如图4、图5。
2.可模糊查询参数处理 以“@收款人”参数为例,采用默认值(图6)即可。
其他同类功能参数的建立和设置,参照“@预算单位”和“@收款人”参数操作和相关SQL语句即可。 (三)参数布局设置 通过参数布局功能,对默认交互界面中的参数标签进行简单拖拽操作实现界面定制,如图7、图8所示。
若在图7界面中看不到已经定义的参数,可在空白区点击鼠标右键选择“自定义布局”(图9),再从“隐藏的项目”中将参数标签拖拽过来。
三、编写查询语句 为实现自定义效果,需结合模型参数,构建动态查询语句执行。基本思路为,通过对相关参数的判定(空值、全选、多选),动态生成SQL查询的WHERE条件式。本模型动态SQL语句如下(为便于查看,仅以设置“@预算单位”和“@收款人”参数为例):