本文带你一起感受聚表/慧表的全新震撼功能——对接WEB-API。
什么是WEB-API?
API(Application Programming Interface,应用程序编程接口)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。 ————来自《百度百科》
在流行微服务的当下,WEB-API通常是前后端分离后的一种后端数据服务,通过http方式调用该服务的方法,传入参数,例如本表字段,然后获得需要的数据内容。
从应用的角度来看,WEB-API类似于外部数据源,但是我们不需要知道对方的数据库密码,也不需要知道对方是用什么编程语言,只需要知道其网址(URL)就可以提数
和回写
了。
这次,村长准备用百度翻译
来小试牛刀,首先我们来了解一下百度翻译API的用法规则,热身一下。
主要看接入方式,这里我们知道API的地址是:http://api.fanyi.baidu.com/api/trans/vip/translate
,此处划重点,等一下要用。
然后是参数字段,主要有q,from,to,appid,salt,sign
一共6个参数,注意,sign是其他几个字段拼接后的md5值,这个是难点,等下要突破。
继续往下看,API的返回结果在trans_result
数组里面,包括了src
和dst
,dst就是最终翻译结果。
进入聚表/慧表,点击外部接口,新建一个WEB-API
,描述随意,URL填:http://api.fanyi.baidu.com/api/trans/vip
接下来在这个API下新建translate
接口方法,类型为GET
,在传入参数中填入上面的6个参数字段。
然后点击表结构,新建一个,名字叫trans_result
,包含src和dst字段。
最后点击传出参数
,设置一个表,选择tran_result,这样就实现了API的结果映射到表
通过上面的过程,我们就完成了API到虚拟表结构的映射。
创建一个模板,设置8个字段,其中6个是参数,1个结果字段,还有一个辅助字段sign2(f8单元格),用于拼接字符串备用。
根据百度翻译API的要求,sign字段是拼接字符串sign2的md5值,这里我们使用万能的提数
来计算md5。
上面的提数,使用sql自带函数HashBytes()完成md5计算,然后填入到本表sign字段。
万事俱备,只欠东风,主角登场了,再新建一个翻译
提数,勾选通过API提取。
点击API参数绑定,传入参数设置6个字段,相当于筛选条件
,传出字段设置trans_result.dst
填入到本表结果即可。
最后,设置一个报表按钮,应用这两个提数公式,大功告成。
输入you are my small apple
,点击翻译一下按钮,效果如下:
目标语言选择日语(jp),点击翻译一下按钮,翻译如下:
以此类推,连越南语都有(vie),看起来不明觉厉的鸟语,hiahiahiahia~
使用聚表/慧表的万能提数,你可以轻松连接任何在线API服务,例如快递,天气,实时汇率查询,甚至点外卖等等,后面的文章中,我们将介绍如何通过API回写数据。
本文涉及的案例已打包成【六一库(180706)】←点击下载,欢迎下载玩耍。
本文带你一起用JU来完成ES多年未完成的实用功能——【先进先出】。
模板有两个sheet,sheet1(doc)包含主表和两个明细,一个【合计明细】,一个【批次明细】。用户只需要操作【主表】和【合计明细】,批次明细自动计算。
sheet2(ios)是真实的收发明细,映射到收发明细表ios。
用户选择商品,输入合计发货数后,通过提数提取该商品的批次库存,这里主要是对IOS表中该商品的收发数进行合计。
通过上面的提数,系统列出当前物料的所有批次库存备用,通过一个简单的公式实现自动配料计算。
配料大于零的行需要堆叠
存入sheet2(ios),这里堆叠的意思是,如果sheet2有其他数据了,新数据存放在上方,同商品老数据清除,也是通过一个提数公式实现。
报表命令选择在用户输入合计发货数
后触发,这里有个小bug,输入后需要按tab键,不能按enter键。
使用报表命令+提数(手工sql)轻松搞定先进先出这个多年的夙愿。
本文涉及的案例已打包成【六一库(180703)】←点击下载,欢迎下载玩耍。
本文带你一起来观摩村长的JU新玩法——小游戏开发
表格上画一个24*24的棋盘,用来供小蛇蛇爬行,右边是方向按钮
和启停按钮
(GO/STOP)
开发过游戏的童鞋应该都知道,游戏一般有个主循环,村长在主表定义了一个RUN字段,类型为整形,作为主循环条件
在上图中我们可以看到点击GO
按钮后,RUN赋值为1,同时提数生成一个位置随机的新豆豆
,然后进入主循环。
下图是主循环流程:
主要包括:
q移动
主表定义x
,y
为蛇头的坐标字段,xx
,yy
为蛇的前进向量。
明细定义x
,y
为蛇身子的坐标字段,旁边有一个flag
字段,当flag=1时表示这一截身子是蛇尾,用来控制移动效果。
提数q移动
如下:插入新头,舍弃蛇尾。
主表定义ex
,ey
为豆豆的坐标字段,类型整形,提数公式q新豆
定义如下:
通过直接写sql,利用cast(ceiling(rand() * 24) as int)
生成1~24之间的随机整数,然后填入到ex,ey即可。
当蛇头(x,y)与豆豆(ex,ey)重叠时,判断吃豆变长,提数公式q吃
定义如下:
实际就是把蛇尾复制一下,这样就变长了
。
下面是完成后的主循环完整命令截图:
这个部分比较简单,设置三种条件格式,根据x,y,ex,ey,明细表的x,y显示不同颜色即可。
使用报表命令,轻松玩转小游戏,更多大开脑洞玩法等着你。
本文涉及的案例已打包成【六一库(180625)】←点击下载,欢迎下载玩耍。
最近@benva童鞋问了一个问题,如何在提数公式中实现excel中的text函数?
例如填1显示wl0001,填10显示wl0010,填100显示wl0100……
这个问题很经典,本文简单介绍一下各种实现
select 'wl' + right(10000 + 字段,4)
--例如
select 'wl' + right(10000 + 10,4)
提数直接写sql,同上述的sql方式
首先构造10001,10010这种大数字。
再转文字,截取后面的0001,0010部分,与其他字头拼接。
在ES中,工作流非常死板,管理员也只能删整个流程,任何其他人都无法修正表单里的数据,本文将演示聚表中的高阶解决方案。
JU的工作流有一些特性,无需额外字段就可以填审核或退回意见,可以直接退回给发起人等等。
例如,商品表流程跑完后,只有删除按钮,没有修改,如下图。
在传统的ES玩法中,我们要修改这个数据,需要建立一个新模板,从商品表提数,完成修改后,再回写到商品表
_wi
表,否则工作流办理时又会把数据刷没。在JU中,我们可以采用映射表来快速实现,利用映射表模板可以跟原模板一样在工作台显示所有数据
的特性。
右击商品模板,选择复制新增
修改新增模板副本
的模板属性,改为商品_修正
,此项可选
右击商品修正模板,选择管理数据表
修改表类型为映射表
,后台表名改为商品表
右击商品修正模板,选择模板权限
一般,修正模板不需要新建
到这里就大功告成了,无回写,无提数,简直不敢相信哦~
现在可以快乐的修改数据了,哈哈哈哈
复制模板-映射-权限,就这么简单,你学会了吗。
JU不需要刷_wi表,因为不存在,工作流正在办理也有效,终于可以快乐玩耍工作流了。