一 . 表达式写法
    · 时间相减算出时间差 dateGap函数
    计算两个日期之间的时间差,时间间隔包括:year,quarter,month,weekofyear,dayofyear,dayofmonth,dayofweek,hour,minute,second。
    例如:

    var date = new Date(“July 21,1983 01:15:00”);
    var date1 = new Date(“Aug 21,1983 01:15:00”);
    dateGap(date, date1, “month”);
    · 用某(某些)字段条件对另一字段过滤 if(col[‘A’]==a){
    col[‘B’]
    }else{}
    选择的数据类型需与col[‘B’]保持一致,否则报错
    用if对已有数据进行标记或分类 用来给源数据加标记或分类 表达式1(已结单的标记为1) 格式为数值 if(col[‘工单状态’]==”已结单”) {1} else {0}
    表达式2(已结单和待确认结单的归类为已解决) 格式为文本 if(or(col[‘工单状态’]==”已结单”, col[‘工单状态’]==”待确认结单”)) {“已解决”} else {“未解决”}
    表达式3(判断已解决且时长在24h内的) 格式为文本 if(and(dateGap(col[‘创建时间’],col[‘解决时间’],”second”)/3600<24, or(col[‘工单状态’]==”已结单”, col[‘工单状态’]==”待确认结单”))) {“24h内解决”} else if(and(dateGap(col[‘创建时间’],col[‘解决时间’],”second”)/3600>=24, or(col[‘工单状态’]==”已结单”, col[‘工单状态’]==”待确认结单”))) {“未在24h解决”} else {“未解决”}
    格间计算多分支函数 if(and(cell(‘DDI结算-销退’)==0, cell(‘销售数量发票总和’)>0)){
    ‘DDI无,翔云有’
    }else if(and(cell(‘DDI结算-销退’)>0, cell(‘销售数量发票总和’)==0)){
    ‘DDI有,翔云无’
    }else if(cell(‘DDI结算-销退’)== cell(‘销售数量发票总和’)){
    ‘无差异’
    }else if(cell(‘DDI结算-销退’)> cell(‘销售数量发票总和’)){
    ‘DDI多,翔云少’
    }else if(cell(‘DDI结算-销退’)< cell(‘销售数量发票总和’)){
    ‘DDI少,翔云多’
    }else{
    ‘未匹配策略’
    }
    · 数值型字段转换成字符串 ‘ ‘+col[‘xx’]+’ ‘,用表达式直接把数字类型转换成字符串
    · 在表达式中做超长字段截断 可以用substring截取字符串
    error:string index out of range -1
    if(isNull(col[‘question’])){
    col[‘question’]
    }else if(col[‘question’].length>5000){
    substring(col[‘question’],0,5000)
    }else{
    substring(col[‘question’],0,col[‘question’].length)
    }
    · 原来是文本格式的日期转日期列以后全都显示为空 文本转日期列
    文本格式的日期格式对应转日期列时,必须是相同日期格式例如 MM/dd/YYYY—->>>MM/dd/YYYY
    · 在处理人中找到包含安畅和忆享的 indexOf函数
    col[‘处理人’].indexOf(“安畅”)
    字段两端的{ }怎么去掉 substring(col[‘列’],1,len(col[‘列’])-1)
    二 . 高级图表需求
    · 折线图怎么显示百分比怎么共享轴 标签和轴的编辑
    元数据模式,y轴共享组,常规格式百分比
    · 本周和上周数据对比线图 整数日期表达式用法
    设置整数日期表达式周年 和 天
    横轴用天周,纵轴用周年划分颜色
    · 固定时间段过滤 内置参数或使用脚本自定义参数
    var a=new Date()
    param[‘十四天前’]=dateAdd(a,”day”,-14)
    param[‘三十天前’]=dateAdd(a,”day”,-30)
    param[‘今天’]=dateAdd(a,”day”)
    用脚本定义参数:本周天和本周天90天前
    var a=param[‘THIS_YEAR_WEEK‘]
    param[‘九十天前’]=dateAdd(a,”day”,-83)
    param[‘本周天’]=dateAdd(a,”day”,+7)
    · 小数据集列表过滤选项不全 装载时运行
    var a=getData(‘列表过滤1’);
    var Vsize=a.size();//获取grid的行数
    var arr1=new Array();
    for(i=Vsize-1;i>0;i—){
    arr1[i]=a.get(i,0);
    }
    列表过滤1.setSelectedObjects(arr1, STRING);
    举例: FT看板,智能客服报告等
    · 展开宽度为0的列(隐藏列) · 普通表
    var loc = new Locator([“省份”],COL,DETIAL);
    表1.setColWidth(loc,200);
    //200为像素
    · 自由表
    var loc=new Locator([‘c-1’],COL,DETAIL)
    自由式表格1.setColWidth(loc,200);
    · 交叉表
    var loc = new Locator([“市场分布”,”Sum_总成本”],COL,DETAIL)
    交叉表1.setColWidth(loc,20);
    //市场分布为列表头字段
    · 柱状图灵活设置步长 选中柱子分组
    · 自由式表格对聚合表达式排序 对前一个单元格进行高级排序,可选聚合字段
    · 如何修改图表标记的标签与提示信息(数值和百分比同时显示) 在文本格式的编辑框中,输入脚本“行业:{col[‘行业’]}\n占比:{col[‘占比总和’],number,#,##0.00%}”。
    说明:{col[‘占比
    总和’],number,#,##0.00%}表示引用数据列“占比_总和”,该数据类型为数字,格式为小数点后保留两位的百分比。
    · 上钻下钻以后时间维度有空白 改时间刻度为离散刻度(智能客服表)

    三 . 待优化问题临时解决方案
    · 文本参数-日期-预定义时间不更新 编辑参数中的参数优先级高于文本参数,需要把编辑参数中的参数设置为空,再把文本参数设置为空,再设置预定义时间保存后才会生效
    · 新窗口超链接传参报错http400 GET请求的URL总长不能超过2KB,减少参数
    · y轴想改成百分比,无法选中数字,元数据模式也不能选中 取消共享组即可选中
    · 邮件再outlook中变形 不兼容,只能用2016版outlook或网页版,或切图
    · 数据集太多,有没有办法判断一个数据集有没有做报表,以便清理 血缘分析
    · 输出excel报错Parameter contains an invalid value! 表名与内置参数冲突,表名不能含有( )
    · 数据集同步因超长字段报错 sql 做超长字段截取
    SUBSTRING(t202_ticket_operation.extern_reply,0,5000) as reply
    · 产品增量导数成功但没数据 param[‘endDate’]=param[‘NEXT_FULL_DAY‘]
    param[‘startDate’]=param[‘THIS_YEAR_MONTH‘]
    直接传参,不需要像工具包增量一样改日期格式

    四 . 邮件需求
    · 邮件发送excel去掉dashboard 页面设置-输出布局-匹配布局/自适应大小取消勾选