帆软报表常用函数总结

发现有些函数不经常用可能会忘记,找起来又很,因此总结了一下,查找起来也比较方便

简单函数

1、连续的数字
=range(6)
2、序列
=seq()
3、求和
=sum()
4、插入公式
C4乘D4(1-C4)
5、设置条件属性,让报表在预览时一页只显示20行数据
方法:
分页-添加公式
公式:&A4%20=0
6、数据列[是否已付]在数据库表中的实际值为[true]和[false],现在想让结果预览时[true]显示为[已付],[false]
显示为[未付]
方法:双击单元格,选择高级,点击自定义编辑按钮
公式:IF($$$,"已付","未付")
方法二:公式定义
if(A1>80,"合格","不合格")
7、设置默认值
name=${张三}
8、连接报表
方法:打开订单信息表,选中 A4 单元格,右边属性面板选择超级链接>添加链接>网络报表。新建一个网络报表类型的超级链接,将它重命名为「订单明细」,点击编辑按钮,进入网络报表设置界面,点击选择,选择链接的对象为「订单明细表.cpt」,下拉框选择链接打开方式为新窗口,点击,添加参数订单号,值为「$$$」

中级:
9、导出excel
打开订单信息表,选中 F4 单元格,右边属性面板选择超级链接>添加链接>JavaScript脚本。新建一个 JavaScript 脚本类型的超级链接,将它重命名为「导出订单明细」,点击编辑按钮,进入JavaScript 脚本设置界面。点击,新建一个脚本参数ID,值为「A4」,在下方脚本代码编辑框中,输入JavaScript 脚本代码:
代码:
window.open(FR.cjkEncode("${servletURL}?reportlet=/订单明细表.cpt&订单号=" + ID + "&format=excel")
10、实际值与显示值
方法:形态-公式设置
公式:=$$$+"订单号"
     =$$$+"月"   显示:1月
11、日期格式转化
方法:右击日期单元格,选择形态>公式形态,设置公式=value("ds2", 2, 1, mid($$$, 6, 2), 1) + "-" + mid($$$, 9, 2)
value 公式意义:取数据集 ds2 中的第二列>显示值(2),第一列>实际值(1),用实际值与截取过的当前值($$$)进行比对,并将匹配的实际值转换为显示值
12、单元格为空,显示默认值
方法:
可以在形态里插入公式:if(len($$$)==0,0,$$$),意思是如果当前单元格里面有数据则正常显示,如果没有则显示为0
13、排序方法
公式:

if($order == 'asc',D4,-D4)


这个公式的意义在于:若 order 为 asc 即升序则按照 D4 进行升序排列,若选择 desc 即降序则按照 D4 降序。
14、自定义排序
方法一:内置数据集
方法二:单元格-高级-公式
公式:

switch($$$,"XS",1,"S",2,"M",3,"L",4,"XL",5,"XXL",6)


公式二:

INDEX($$$,"XS","S","M","L","XL","XXL")


15、日期设置
DATEINMONTH(TODAY(),1)表示当月的第一天

1)创建数据集查询:SELECT * FROM 销量 where 1=1   ${if(len(name)=0,"","and 销售员 like '%"+name+"%'")}

222

2)报表设计如下,将字段拖到对应单元格,D2 设置为汇总求和

222

3)B2 单元格设置形态-公式形态。公式为:replace($$$,$name,"<font color='red'>"+$name+"</font>")

image.png

4)选择使用 HTML 显示内容
image.png

16、设置下拉框为空,不选选择全部

${if(len(status) == 0,"","and status = '" + status+ "'")}

17、不点击查询可自动查询,添加事件

uuid_generate_v4()

18、设置动态背景图 之动态波浪

 

$("body").prepend('<canvas id="canvas" style="position:absolute;z-index:-2;"></canvas>');
//在body中插入canvas画布,并置于底层
var canvas = document.getElementById('canvas');  
  var ctx = canvas.getContext('2d');  
  canvas.width = canvas.parentNode.offsetWidth;  
  canvas.height = canvas.parentNode.offsetHeight;
  //如果浏览器支持requestAnimFrame则使用requestAnimFrame否则使用setTimeout  
  window.requestAnimFrame = (function(){  
  return  window.requestAnimationFrame       ||  
          window.webkitRequestAnimationFrame ||  
          window.mozRequestAnimationFrame    ||  
          function( callback ){  
            window.setTimeout(callback, 1000 / 60);  
          };  
  })();  
  //初始角度为0  
  var step = 0;  
  //定义三条不同波浪的颜色  
  var lines = ["rgba(0,222,255, 0.2)",  
                 "rgba(157,192,249, 0.2)",  
                 "rgba(0,168,255, 0.2)"];  
  function loop(){  
      ctx.clearRect(0,0,canvas.width,canvas.height);  
      step++;  
      //画3个不同颜色的矩形  
      for(var j = lines.length - 1; j >= 0; j--) {  
          ctx.fillStyle = lines[j];  
          //每个矩形的角度都不同,每个之间相差45度  
          var angle = (step+j*45)*Math.PI/180;  
          var deltaHeight   = Math.sin(angle) * 50;  
          var deltaHeightRight   = Math.cos(angle) * 50;  
          ctx.beginPath();  -
          ctx.moveTo(0, canvas.height/2+deltaHeight);  
          ctx.bezierCurveTo(canvas.width /2, canvas.height/2+deltaHeight-50, canvas.width / 2, canvas.height/2+deltaHeightRight-50, canvas.width, canvas.height/2+deltaHeightRight);  
          ctx.lineTo(canvas.width, canvas.height);  
          ctx.lineTo(0, canvas.height);  
          ctx.lineTo(0, canvas.height/2+deltaHeight);  
          ctx.closePath();  
          ctx.fill();  
      }  
      requestAnimFrame(loop);  
  }  
  loop();

参考:帆软帮助文档

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值