• 报表生成之Hyperion SQR


    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

  • 相关阅读:
    弦图点染色问题
    BZOJ1098: [POI2007]办公楼biu
    BZOJ1097: [POI2007]旅游景点atr
    BZOJ1068: [SCOI2007]压缩
    BZOJ1055: [HAOI2008]玩具取名
    BZOJ4199: [Noi2015]品酒大会
    BZOJ2527: [Poi2011]Meteors
    BZOJ1493 [NOI2007]项链工厂
    BZOJ1095 ZJOI2007 Hide 捉迷藏
    bzoj1468 Tree
  • 原文地址:https://www.cnblogs.com/uu5666/p/6636175.html
Copyright © 2020-2023  润新知