NOW():获取当前系统时分秒
TODAY():获取当前系统年月日
DATETOST():年月日转换成字符串
STR():数字转换成字符串
STRCAT():字符串拼接
使用CASE 加 SUM 进行统计,count进行统计
报表模板 没有设置分辨率的地方,只有酷屏跟wbi上可以设置分辨率
地图绑定表格:基础属性—>区域绑定表元
分析表:基础属性—>提示:运行后鼠标放在该表元显示提示
分析表单元颜色:单元格—>高级—>背景颜色 [’#FFCC00’,’#4CD964’,’#008077’][mod(row(),3)]
IF嵌套设备层次颜色:IF(GRID8.B2<=30000000,’#BBE2F1’,IF(GRID8.B2<=60000000,’#4CD964’,IF(GRID8.B2<=90000000,’#002F7B’,’#9C27B0’)))
不同种类的浮动分析:
单项浮动
嵌套浮动:上下嵌套浮动《省---->市》、左右嵌套浮动
交叉浮动:一个往下,一个往右
合计和小计:合计值总计,小计指分组时的组内合计
ABI函数随记
SUM函数:sum(主题表.字段名):对数据库内满足条件的所有数据进行求和
sum(表元):仅对分析表中的结果集数据进行求和
STRCAT(C1,C2):字符串拼接
DATE(l1,l2,l3):l1 l2 l3:为指定年月日的整数;将指定年、月、日合成为日期常量,返回值为日期
DATETOSTR(D):日期转字符串,可以只选择yyyy或者yyyy-mm或者yyyy-mm-dd
DAY(D):返回日期的“天”
DAYS(D1,D2):返回两个日期间的天数
DXDATE(D):日期转为大写
MONTH(D):返回“月份”;参数为日期:则返回整数; 参数为字符串则返回字符串中表示的日期 Month(‘20010101’)返回01
Month(‘2001-01-01’)返回01NOW():返回当前系统时间,时分秒
STRCAT(DATETOSTR(TODAY()),’ ',NOW()):返回当前系统 年月日–时分秒
OFFSETDATE(D,L1,L2,L3):返回某日期之前(后)若干天(年或月)的日期
STRTODATE(C1,C2):字符串转日期
WEEKDAY(D):返回指定日期为一周的第几天
WOFM(D):返回日期所在周是所在月的第几周
WOFY(D):返回日期所在周是所在年的第几周
YEAR(D):返回日期的“年”
SECONDS(D1,D2):返回两个日期间的秒数
DAYOFWEEK(D):返回指定日期是星期几
CLEAN©:将串中的不可见字符去掉(这里的"不可见字符"是指"ASCII码小于32的字符")
FIND(C1,C2):在C2中查找C1第一次出现的位置,区分大小写,从0开始,-1表示没找到
SEARCH(C1,C2):在C2中查找C1第一次出现的位置,不区分大小写,从0开始,-1表示没找到
FORMAT(C,N):将一数字格式化为指定格式,返回值为字符串或数值
LEFT(C,I):返回一个字符串左边L个字符组成的子串
RIGHT(C,I):返回一个字符串右边L个字符组成的子串
LEN©:返回串的长度或者汉字个数
MID(str,I,n):返回串中从I开始的n个字符的子串
REPLACE(C1,C2,I1,I2):将串C1从I1开始的I2个字符替换成新串C2
REPT(C,I):将一个穿重复L 次变成一个新串
RMBDX(N):将数值转换成人民币串------>RMBDX(1203.45)=“壹仟贰佰零叁元肆角伍分整”
STR©:将数值变成串
VALUE©:将字符串转换成数值
STRCAT(C1,C2,…):字符串拼接
SUBSTITUTE(str,oldsub,newsub):将串中的oldsub子串换成另一newsub子串。不管子串出现多少次,全部换掉
TRIM©:去除头尾空格
MT(C1,C2):判断C1与C2是否模式匹配
WILDMATCH (STR1,STR2):判断STR1与STR2是否模式匹配,区分大小写。返回逻辑值。
AVEDEV(N1,N2,N3…):对一组数据求平均差。至少必须有一个参数
VAR(N1,N2…):对一组数据求方差。至少必须有2个参数
STDEV(N1,N2…):对一组数据求标准方差。至少必须有2个参数
标准差定义是总体各单位标准值( xi)与其平均数(μ)离差平方和的算术平均数的平方根。它反映组内个体间的离散程度。
所有数减去其平均值的平方和,所得结果除以该组数之个数(或个数减一,即变异数),再把所得值开根号,所得之数就是这组数据的标准差。
《标准差的平方==方差》
CORREL(N1,N2):对2个长度一致的一维数组相关系数。
数据转换函数:
ASINT、ASNUM、ASSTR、ASDATE、ASBOOL:转换成整数型、数值型、字符型、日期型、逻辑型
逻辑函数:
BLANK(*):判断一表达式是否为空(NULL)。常用在判断一表元是否填写。返回值为逻辑型True,False
if(condition, value, value2):condition为TRUE则返回value1,FALSE返回value2
IFNULL (N1,N2):如果N1为NULL,则返回N2的值,否则返回N1
ARSEL(R,L):返回指定数组中符合条件的项目,形成的一个新数组
ARSORT(R,L):对数组进行排序,返回排序后的数组
REPLACEREGEX(C1,C2,C3,L):替换某字符串中的串
JIDU (D):返回日期中的季度,返回值为整数。不为日期的返回-1
LISTMONTHS (D1,D2):返回一个数组,数组元素是两个日期之间的月份列表。第一个数组元素为D1,第二个数组元素在D1的基础上月份加1,依此类推直到生成的日期超过D2为止
数据回填:
文件属性必须对应数据库二进制字段
回填审核只有数字和字母:
len(asstr(GRID1.B4).split(’’).select(!((code(@)>=97&code(@)<=122)|(code(@)>=65&code(@)<=90)|(code(@)>=48&code(@)<=57)),@))=0
姓名,身份证信息脱敏部分显示:
在“显示表达式”中
姓名:if(len(self.txt)=3,replace(self.txt,’’,2,1),replace(self.txt,’’,1,2))
身份证号:replace(self.txt,’********’,6,8)
工作流
所有工作流发布后才能发起
条件流流向条件:
在流程运行时会根据该表达式判断是否需要按该流向进行流转,例如:
@I_FLOWTO = "1"表示审批通过;
@I_FLOWTO = "2"表示退回重审 ;
@I_FLOWTO = “3"表示数据退回 ;
@I_FLOWTO = “4"表示层层退回 ;
@I_LEVEL=””|@I_LEVEL=null 没有上级
全局变量@jine代表金额,流向条件为 @jine > 1000表示当金额大于1000的时候,流程按照这个路径流转。流程变量:
表单中默认启动项有数据,不是空白状态-----可在过滤条件中设置:
固定分析表:行列数是固定的,设计界面有几行几列,计算后就有几行几列。
浮动分析表:数据是由维表元浮动得到的。
特别说明:表达式sum(GRID1.$ 2 $)中有两个" $ “符号,分别起什么作用
第一个” $ “,是通配符,生成表达式的时候,会用所在列的列号;
第二个” $ "代表是对浮动区域的数组求和,B2 $与B2是有本质别的,B2就是一个单元格,B2 $代表B2单元格浮动出来的一个数组
数据表前缀:T_ONEFILL_JG -----T:table 表格 ONEFILL:一次放送(业务划分)JG(表示哪个处室,JG是监管) DM:维表
浮动块颜色设置: if(mod(self.row,2)=0, ‘#e8f4ff’, ‘#FFFFFF’)
列宽设置成:1-1 —>计算时隐藏该列
显示表达式判断时注意null和“ ”:if(K5 is null or K5=’’,‘自动带出’,DIMINF(‘DIM_机构用户_杭州关’,K5,‘lsgname’))
说到唯一性: 那就是系统时间了
if(GRID1.A2<>null OR GRID1.A2<>’’,GRID1.A2,TODAY()^ASSTR(NOW()))
单元数据为空时添加,不为空时保持原样---->表元不要写表达式,直接拾取预留字段(在“回填规则”中设置 if 判断)
等同于-------->>> if(GRID10.B2<>null,GRID10.B2,GUID())
浮动块颜色: if(mod(self.row,2)=0, ‘#e8f4ff’, ‘#FFFFFF’)
鼠标悬停高亮:#68abee
DIMINF函数获取维信息:根据name带出ID
DIMINF(“DIM_杭州关区代码表”,GRID1.F2,"$id")
选中“隶属海关名称”,自动带出“隶属海关”