SQR(Structured Query Reporter)是为从数据库管理系统生成报告而设计的一种编程语言。名称是结构化查询报告的缩写,这表明它与SQL(结构化查询语言)的关系。任何SQL语句可以嵌入在SQR程序。

SQR 语言程序结构

SETUP section 描述了报表的总体特征:
BEGIN-SETUP
{setup commands}...
END-SETUP
HEADING 和 FOOTING 节指定了在报表每一页的页眉和页脚中打印的内容:
BEGIN-HEADING {heading_lines}
{heading commands}...
END-HEADING
BEGIN-FOOTING {footing_lines}
{footing commands}...
END-FOOTING
PROGRAM 节执行报表中包含的过程:
BEGIN-PROGRAM
{commands}...
END-PROGRAM
PROCEDURE 节完成与生成报表相关的任务:
BEGIN-PROCEDURE {procedure_name}
{procedure commands}...
END-PROCEDURE

部分语法

1.lpad

lpad 使用 pad_value 对 source_value 左填补至长度 length_value,并返回结果。

语法:dst_var = lpad(source_value, length_value, pad_value)
  • source_value = 日期或文本常量、列、变量或表达式
  • length_value = 小数、浮点数或整数常量、列、变量或表达式。此值总是被转换为整数。
  • pad_value = 文本常量、列、变量或表达式
  • dst_var = 文本变量

示例:let $lpad = lpad($notice, 25, '.')

2.ltrim

ltrim 从左边开始删除 source_value 中的字符直到 set_value 中不再包含字符,并且返回结果。

语法:dst_var = ltrim(source_value, set_value)
  • source_value = 日期或文本常量、列、变量或表达式
  • set_value = 文本常量、列、变量或表达式
  • dst_var = 文本变量

示例:let $ltrim = ltrim(&description, '.')

3.replace   

replace 检查 source_value 的内容,将其中的 from_string 全部替换为 to_string,然后返回修改后的字符串。

语法:dst_var = replace(source_value, from_string, to_string)
  • source_value = 日期或文本常量、列、变量或表达式
  • from_string = 文本常量、列、变量或表达式
  • to_string = 文本常量、列、变量或表达式
  • dst_var = 文本变量

示例:let $replaced = replace($paragraph, ‘good’, ‘excellent’)

4.ON-BREAK

 当某个字段的值更改(出现分隔)时,执行表格式报表中所指定的操作。默认操作只有在字段值更改时才打印该字段 (PRINT=CHANGE)。

语法ON-BREAK [PRINT={ALWAYS|CHANGE|CHANGE/TOP-PAGE|NEVER}]
[SKIPLINES={num_lit|_var|_col}]
[PROCEDURE=procedure_name[(arg1[ ,argi]...)]]
[AFTER=procedure_name[(arg1[ ,argi]...)]]
[BEFORE=procedure_name[(arg1[ ,argi]...)]]
[SAVE=txt_var]
[LEVEL=nn]
[SET=nn]

ON-BREAK 具有下列限定符:

  • PRINT- 指定打印分隔字段的时间。
  • ALWAYS 为每个详细信息组复制分隔字段。
  • CHANGE 只有当值更改时才打印该值。这是默认设置。
  • CHANGE/TOP-PAGE 当值更改且出现在每个新页的顶部时打印该值。

  • NEVER 禁用打印。
  • SKIPLINES - 指定当值更改时要跳过的行数。
  • PROCEDURE - 指定当值更改时要调用的过程。该限定符不能和AFTER 或 BEFORE 限定符一起使用。

  • AFTER/BEFORE - 指定值更改前后要激活的过程。如果未提取任何行,则不会执行任何过程。只能在 SELECT 段内使用 AFTER 和BEFORE。

下面是事件的序列:
  • SAVE - 指示用于存储分隔字段以前的值的字符串变量。
  • LEVEL - 指定包含多个分隔的报表的分隔级别。
  • SET - 向具有多组独立分隔的报表中的某组分级分隔分配一个数字。

  

 

官网:http://www.oracle.com/us/corporate/acquisitions/hyperion/index.html

报表生成之Hyperion SQR的更多相关文章

  1. OBIEE 简介

    Oracle BIEE历史: BIEE:全称Oracle Business Intelligence Enterprise Edition. Oracle公司在05年底收购Siebel,取其前端开发工 ...

  2. peoplesoft SQR language

    Understanding SQR Data Elements !Variables!Variables are storage places for text or numbers that you ...

  3. Hyperion Business Modeling for Microsoft Windows (32-bit)

    介质包搜索 常见问题    说明   复查 许可证列表 以确定需要下载的产品程序包. 请选择产品程序包和平台,然后单击“查找”. 如果只有一项结果,则可以看到下载页.如果有多个结果,请选择一个,然后单 ...

  4. 多线程报表生成其中报表以pdf形式保存

    设计思路采用生产者消费者模式,生产者生产报表消费者消费报表生成pdf文件其中报表以html形式存储在线程安全列表中.使用到技术有:多线程协作,线程池,线程安全,html 生成pdf. 一.生产者生成h ...

  5. jasperreport报表生成时编译的错误

    在帮徐老板解决一个jasperreport报表生成时编译的错误: 刚开始时,加上他所给的 jar 包之后,错误显示为: net.sf.jasperreports.engine.JRException: ...

  6. 流行的报表生成工具-JXLS

    如果你还在为灵活的生成各种复杂报表犯愁,在为常用报表工具消耗大量内存担心.我推荐一个很好用的开源的Java报表生成工具. 本工具封装了强大的POI.但与POI不同的是,它可以用很简洁的代码生成复查的, ...

  7. javaweb 报表生成(pdf excel)所需要用到的技术和思路

    pdf: “ 目前开源.成熟.稳定的第三方包只有iText.而用iText生成PDF有三种方式: 调用iText API,用代码“写”出PDF,依赖包:com.itextpdf:itextpdf:5. ...

  8. linux下实现压测-html报表生成-控制台参数优化【jmeter】

    jmeter - 单机压测 - 命令行模式-html报表生成-控制台参数优化 一/ 准备工作 1.压力机安装并配置好 jdk 2.调试好程序脚本 再上传到 linux下 3.进入jmeter  bin ...

  9. UVA 10177 Sqr/Rects/Cubes/Boxes?

    Problem J (2/3/4)-D Sqr/Rects/Cubes/Boxes? Input: standard input Output: standard output Time Limit: ...

随机推荐

  1. asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(二)—— easyui的简单实用

    下面开始在UserManager.Web中利用easyUI构建web. 1. 先删除自带的controllers.models和views(里面的shared和web.config可以保存)下面的文件 ...

  2. 嵌入式实时操作系统Nucleus PLUS综述

    近些年来,随着嵌入式系统飞速的发展.嵌入式实时操作系统广泛地应用在制造工业.过程控制.通讯.仪器仪表.汽车.船舶.航空航天.军事.装备.消费类产 品等方面. Nucleus PLUS 是为实时嵌入式应 ...

  3. RIP协议

    1.概念:RIP协议是一种内部网关协议(IGP),是一种动态路由选择协议,用于自治系统(AS)内的路由信息的传递.        RIP协议基于距离矢量算法(DistanceVectorAlgorit ...

  4. unity,实现屏幕后处理的两种方法

    方法一: Main Camera的Target Texture保持为None.挂一个Blit脚本,在其中的OnRenderImage中调用Graphics.Blit(sourceTexture,des ...

  5. AIX下RAC搭建 Oracle10G(六)dbca建库

    AIX下RAC搭建系列 AIX下RAC搭建 Oracle10G(六)dbca建库 环境 节点 节点1 节点2 小机型号 IBM P-series 630 IBM P-series 630 主机名 AI ...

  6. gsub函数

    gsub(r, s [, t])    For each substring matching the regular expression r in the string t, substitute ...

  7. UI-1-UI入门

    课程要点: 创建一个iOS工程 AppDelegate类 UIKit框架以及UIWindow 在window上添加第一个试图UIView NSTimer(定时器) 创建一个iOS工程 PS:接下来简单 ...

  8. UVA 12169 Disgruntled Judge 扩展欧几里得

    /** 题目:UVA 12169 Disgruntled Judge 链接:https://vjudge.net/problem/UVA-12169 题意:原题 思路: a,b范围都在10000以内. ...

  9. python 开发技巧(1)-- 用PyCharm安装第三方库

    在python开发中,我们经常需要安装一些python的第三方类库,包等等,用PyCharm就会安装就会超级方便 1.打开上面的小扳手 2.点击页面左边的Project Interpreter 3.点 ...

  10. linux-Centos下磁盘管理(fdisk)

    Centos下磁盘管理 - linux 磁盘基础知识 磁盘结构 磁道:上图中硬盘被一圈圈分成18等分的同心圆,这些同心圆就是磁道.但打开硬盘,用户不能看到这些,它实际上是被磁头磁化的同心圆.这些磁道是 ...