帆软报表设计器使用步骤

基础设置部分

1、连接工作目录(可以是远程服务器)

 2、在打开的界面中设置具体的远程地址

3、 一个报表文件可以有多个数据集、但是数据集依附于报表文件的存在,不能跨报表共享。

开发设计部分

4、查询条件区域的字段,可以在数据源的对应 SQL 中用一对${ }包裹并引用。而且查询条件区域的字段名,不需要增加其他前缀。

当设计不同条件下生成不同的 SQL ,往往需要借助设计器内置的 if() 函数。代码示例如下:

/**
* 我们实际环境是 Oracle 数据库
* 假设我们有2个日期控件 dateEditor0 、dateEditor1
* 这里展示了如果日期控件选择了值、SQL 查询中如何用 if() 函数拼接对应的 SQL 片段
* 标准用法:if(表达式,值为true执行的部分,值为false执行的部分)
*/
SELECT * FROM my_table
WHERE 1=1
${if(len(dateEditor0)>0,
" AND TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd') > '"+dateEditor0+"' ",
"")}
                ${if(len(dateEditor1)>0,
" AND TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd') < '"+dateEditor1+"' ",
"")}

类似的还有,动态改变统计维度的报表。我们借助同一个控件、在不同值的条件下,做不同维度的汇总统计。代码示例如下:

/**
* 我们的实际环境是 Oracle 数据库
* 假设我们有一个名为 comboBox_time_dms 的下拉组件、且实际值对应:
* daily -- 按日汇总统计
* monthly -- 按月汇总统计
* yearly -- 按年汇总统计
* 这里展示的是汇总同一批字段、仅改变了汇总时间维度
*/
SELECT SUM(T1.WT_NUM) WT_NUM,
                    T.WKI_GROUP_CODE,
                    ${if(len(comboBox_time_dms)==0,
"TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd') AS IN_TIME, ",
"")}
                    ${if(comboBox_time_dms=="daily",
"TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd') AS IN_TIME, ",
"")}
                    ${if(comboBox_time_dms=="monthly",
"TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm') AS IN_TIME, ",
"")}
                    ${if(comboBox_time_dms=="yearly",
"TO_CHAR(T.WKI_IN_TIME, 'yyyy') AS IN_TIME, ",
"")}
                    T1.WT_MODEL_CODE
               FROM T_WIP_KEYP_INFO T
               LEFT JOIN T_WIP_TRACKING T1
                 ON T.WKI_SN = T1.WT_SN
              WHERE 1 = 1
                AND T1.Q_LEVEL = 'A-'
                AND T.WKI_GROUP_CODE = 'JY'
                AND T.DATA_AUTH = '0001F3100000000HOWH7'
                ${if(len(dateEditor0)>0,
" AND TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd') > '"+dateEditor0+"' ",
"")}
                ${if(len(dateEditor1)>0,
" AND TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd') < '"+dateEditor1+"' ",
"")}
              GROUP BY T1.Q_LEVEL,
                       T.WKI_GROUP_CODE,
                       ${if(len(comboBox_time_dms)==0,
"TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd'), ",
"")}
                       ${if(comboBox_time_dms=="daily",
"TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm-dd'), ",
"")}
                       ${if(comboBox_time_dms=="monthly",
"TO_CHAR(T.WKI_IN_TIME, 'yyyy-mm'), ",
"")}
                       ${if(comboBox_time_dms=="yearly",
"TO_CHAR(T.WKI_IN_TIME, 'yyyy'), ",
"")}
                       T1.WT_MODEL_CODE

5、保存数据集后、可以在设计器端进行语句的预览。在弹出的 “数据库查询” 窗口下方,输入对应条件后点击 “查看执行SQL”、可以复制生成对应条件的 SQL 片段。

6、控件(比如下拉框)的显示值、实际值都需要进行配置。否则在报表展示界面无法在对应控件中进行选择(i.e.下拉框没有更多选项了)。具体操作,如下图所示:

 

7、在报表单元格中,可以直接引用查询条件的值。具体格式是 =$控件英文名  。

 8、在报表单元格中,可以用 ="特定的字符串" 表示固定的值 。

系统特性部分

 9、在帆软设计器的控件列表中,有专门的搜索按钮。在设计器上方的控件列表,点击更多,找到搜索按钮控件并拖拽到当前报表的条件区(设计界面的上半部)。注意:如果报表的条件区没有搜索按钮,那么报表展示界面将加载不出来数据。然后可以为各查询条件设计事件绑定、实现自动刷新等更多功能。

同样的,不论是常规报表(*.cpt)还是 决策报表(*.frm)的控件,都可以添加事件。比如在控件完成初始化后、添加 js 回调脚本,令其点击可以打开另一个报表的 url 地址。

10、决策报表的使用

决策报表可以包含多个报表控件、查询控件等内容。报表控件可以通过设置填充属性为 “图片”、达到美化决策报表外观的目的。

11、图表的设计方法(以折线图为例)

图表的数据集要成功预览 SQL 和数据才能继续制图。一般需要带条件的数据库数据集才可以成功预览。

要去掉图表的横 / 纵轴参考线,在 “样式-背景-绘图区” 属性中、将网格线的横纵线均设置为 “透明” 即可。

未去掉网格线的效果,如下图所示:

 去掉网格线后的效果,如下图所示:

此外,还可以设置在可视化图表中打开超链接(外部网址或者网络报表等)。具体操作如下图所示:

运维部分

99、当预览报表失败、请到决策系统后台 “管理系统-注册管理” 检查证书是否过期。

先补充这么多,有遇到问题再写一点。

(完)

  • 3
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值