电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

金蝶EAS Cloud BASRPTFUN函数参考.doc

金蝶EAS Cloud BASRPTFUN函数参考.doc_第1页
1/118
金蝶EAS Cloud BASRPTFUN函数参考.doc_第2页
2/118
金蝶EAS Cloud BASRPTFUN函数参考.doc_第3页
3/118
扩展报表函数参考手册1函数参考1.1公式编辑器公式编辑器可以在三个地方打开:(1)在属性页中,可以设置公式的属性中,当点击下图所示的按钮时,弹出公式编辑器。(2)在报表设计器中,选中单元格,当点击下图所示的图标时,弹出公式编辑器。(3)在移动报表设计器的“预警与推送”窗口中,设置预警条件、消息内容时,当点击下图所示图标时,弹出公式编辑器。扩展报表函数参考手册公式编辑器划分为5个区域:函数参考、数据集、内容、函数说明以及参数说明区。函数栏里展示了扩展报表里所有的函数,数据集以2层结构展示了当前报表中所引用的数据集以及其包含的字段和内置参数;函数和数据集中,所有的叶子节点都可以通过双击鼠标在内容框中光标处生成相应的内容,或通过鼠标拖拽到需要的地方。3扩展报表函数参考手册中间最右边提供5个按钮(鼠标移动到上方会显示提示信息),下面分别介绍。:点击后最大化公式编辑器窗口,。:通过使用Tab键、展开、收起等将函数的参数在版面布局上调整位置,使版面布局更加合理。见下图。扩展报表函数参考手册:点击后打开资源管理中心。一般配合函数IMG使用。5扩展报表函数参考手册:获取颜色RGB值,如下图,点该按钮,会显示出颜色拾取器,用户选中需要的颜色,则会在内容框中生成其RGB值。:选取单元格范围,点击该按钮,公式向导窗口消失,在设计器的界面上会悬浮一个窗口,该窗体始终浮动在设计器界面上,如下图:扩展报表函数参考手册可随时点选设计器中的单元格以获得单元格或单元格区域的引用,窗口中的内容即为该引用。点击窗口最右边的按钮,则恢复到公式向导窗口。通过该窗口获得的内容会添加到公式内容的当前光标处。7扩展报表函数参考手册1.2函数参考1.2.1数据集函数DISTINCT对数据集中的数据进行唯一筛选DS使用指定的动态取数数据集,或把快照中的指定区域生成新的动态数据集ENUMGROUP根据表达式的不同计算结果对数据集进行分组FIELD获得数据集当前行或者当前组中第一行中,指定列的数据FIELDS获得数据集当前组中符合过滤条件的列的集合的数据FIRST从数据集满足条件的记录集合中,选出第一条记录,返回给定字段或表达式的值GROUP根据分组表达式,从数据集中选出一组组集IMG以图片形式显示表达式返回的二进制流LAST从数据集满足条件的记录集合中,选出最后一条记录,返回给定字段或表达式的值LIST获得一个枚举的数据集合NULL对指定数据集做空数据处理,用于根据条件选择对指定数据集是否进行查询OVERLAP对每一条记录依次计算条件表达式,如果满足则把该条记录加入到相应的组里QUERY把参数值传递给指定数据集并执行该数据集,用于动态取数RCOUNT获取指定数据集的当前行集的记录数REF读取指定的(一个或多个)快照中的指定数据SELECT从数据集的当前行集中选取符合条件的记录SELECT1从数据集中按顺序检索到符合过滤条件的第一条记录,返回其SELECTExp值SNAPS把快照数据集中的报表快照读取到内存,以便进行下一步汇总统计。SORT对数组进行排序SUBDS获取子数据集,实现TopN,LastN等功能。TO生成一组连续的整数数据TREEGROUP或SELECT结果数据集的树形展示UNION合并数据集。需要注意要合并的数据集必须字段数和数据类型匹配V设置或获取表达式范围内的临时变量,避免表达式冗余,提高执行效率$E使根据条件获取的数据集/组集在单元格中可扩展扩展报表函数参考手册1.1.1.1DISTINCT功能:对数据集中的数据进行唯一筛选。语法:DISTINCT(dataSource,datasetExp,disExp1[,disExp2[,disExpn...]])参数:dataSource数据集名称;datasetExp数据集表达式,一般为GROUP,SELECT,ENUMGROUP等;disExp(n)用于唯一性判断的表达式,一般为字段名,也可以是复杂表达式。可多项disExp组合应用。注意:为保证数据正确性,datasetExp公式内或相应的SQL数据集内应按照disExp进行排序。返回值:经过唯一筛选的数据集。示例:例1:DISTINCT(ds,SELECT(ds,职员ID,true),职员ID),只保留每位员工的一行记录。1.1.1.2DS功能:使用指定的动态取数数据集,或把快照中的指定区域生成新的动态数据集。语法:DS(cellx)DS(paramsArray1[,paramsArray2[,...]])其中,paramsArray(n)为形如{area,field[,order,attachValue,attachFieldName]}的数组。9扩展报表函数参考手册参数:cellx定义了动态取数数据集(使用query函数)的单元格。paramsArray(n)数组,用于标识参数组别。area指定数据区域,当使用REF(area,snaps)形式时为三维区域,数据将顺序连接;field对应area的字段名,也可以是字段名数组{fields};order对应area的数据方向,缺省为false纵向,也可以是值数组{orders};attachValue对应area的附加数据,也可以是数据数组{attachValues};attachFieldName附加数据字段名。返回值:指定的动态取数数据集。示例:例1:FIELD(DS(B1),"FPERIOD")(B1单元格使用query函数动态取数,)本表达式返回B1单元格动态取数后返回的数据集的FPERIOD字段。例2:DS({REF("out",allsnap),{"id","序号","姓名","调往何处"}})读取allsnap命名对象所指定的快照中的“out”命名对象所指定的区域,然后把该区域的数据作为动态数据集,(从左到右)其字段名分别为"id","序号","姓名","调往何处"。例3:DS({REF("out",allsnap),{"id","序号","姓名","调往何处"}},{REF(A1:B100,allsnap),{"编码","所属组织"}})读取allsnap命名对象所指定的快照中的“out”命名对象所指定的区域加A1:B100区域,然后把该区域的数据作为动态数据集,(从左到右)其字段名分别为"id","序号","姓名","调往何处"、"编码","所属组织"。。1.1.1.3ENUMGROUP功能:根根据表达式的不同计算结果对数据集进行分组。分组过程中,参数按从左到右计算,先出现的条件表达式先算,如果出现满足的表达式,后面的不再计算。语法:ENUMGROUP(dataSource[,hasNullGroup[,termExp1,resultExp1[,termExp2,resultExp2扩展报表函数参考手册[,...]]][,defaultExp]])参数:dataSource数据集名称;hasNullGroup布尔表达式,函数返回值是否包含空组;termExp(n)条件表达式;resultExp(n)满足条件时的分组结果表达式;defaultExp缺省值表达式,如果所有表达式结果都不满足,则分到本表达式计算结果中。返回值:数据组集。示例:例1:enumGroup(ds1,true,类别ID=1or类别ID=3,"副食品",类别ID=6,"肉类","其他")将数据集中满足类别ID=1or类别ID=3的记录归到“副食品”组中,满足类别ID=6的记录归到“肉类”组中,其他的记录归到“其他”组中例2:enumGroup(ds1,true,数量>50,"数量大于50",折扣>0.1,"折扣高于0.1",单价<10,"单价小于10","其他")注意:如果一条记录满足enumGroup中列举的多个条件,则该记录只归到第一个符合条件的组中。1.1.1.4Field功能:获得数据集当前行或者当前组中第一行中,指定列的数据语法:FIELD(dataSource,selectExp)参数:dataSource数据集名称。selectExp数据集列名,也可以是表达式。11扩展报表函数参考手册返回值:数据集的列对象,只能作为表达式的元素使用,不能作为最终单元格的值。注意:Field函数一般配合select、select1、group函数使用。1.1.1.5Fields功能:获得数据集当前组中符合过滤条件的列的集合的数据。语法:FIELDS(dataSource,columnName[,filterExp])参数:dataSource数据集名称;columnName数据集列名,也可以是表达式;filterExp过滤表达式。返回值:一组数据的集合,只能作为表达式的元素使用,不能作为最终单元格的值。如果columnName为{columnName,columnName2…columnName(n)}数组形式,则返回值为符合过滤条件的第一条记录的{columnName,columnName2…columnName(n)}值数组。注意:Fields函数一般配合select、select1、group函数使用。1.1.1.6FIRST功能:从数据集满足条件的记录集合中,选出第一条记录,返回指定字段的值。语法:FIRST(dataSource,selectExp[,descExp[,filterExp[,orderExp]]])扩展报表函数参考手册参数:dataSource数据集名称;selectExp要选择的字段,可以是字段名或列号,也可以是表达式;当使用列号时用正整数表示,1代表第1列,2代表第2列,依此类推;descExp排序的顺序,true代表逆序,false代表顺序;filterExp过滤条件表达式;orderExp排序依据表达式,当为{orderExp1,order1,...orderExpN,orderN}数组形式时为多重条件排序。返回值:数据集中第一条记录指定字段的值,数据类型由selectExp指定的字段决定。示例:例1:FIRST(ds1,name,true,score>90,id)从ds1数据集中选出成绩大于90的记录,按照id逆序排列,返回第一条记录的name字段值。例2:FIRST(ds1,name,true,,score)对ds1数据集的所有记录按照成绩逆序排列,然后返回第一条记录的name字段值。例3:FIRST(ds1,name)返回数据集ds1中第一条记录的name字段值。1.1.1.7Group功能:根据分组表达式,从数据集中选出一组组集。语法:GROUP(dataSource,selectExp[,order[,filterExp[,orderExp[,groupOrderExp[,groupOrder[,groupFilterExp]]]]]])GROUP(dataSource,selectExp,,filterExp)//适用于不需要排序或数据集中已排好序参数:dataSource数据集名称;13扩展报表函数参考手册selectExp选出的分组表达式,可以是字段名,也可以是表达式;order分组前记录的排序顺序,true为逆序,false为顺序;filterExp过滤表达式;orderExp分组前记录的排序依据表达式,当为{orderExp1,order1,...orderExpN,orderN}数组形式时为多重条件排序;groupOrderExp组排序表达式;groupOrder组排序顺序;groupFilterExp组过滤方式。返回值:组数据组集示例:例1:GROUP(ds1,class)把数据集ds1中所有记录按照class字段进行分组,并返回每组的class组集组成的集合。例2:GROUP(ds1,class,true)把数据集ds1中所有记录按照class字段降序排列,然后根据class进行分组,并返回每组的class组集组成的集合。例3:GROUP(ds1,class,false,sex="1")从数据集ds1中选取性别为"1"的记录,按照class字段升序排列,然后根据class进行分组,并返回每组的class组集组成的集合。例4:GROUP(ds1,class,true,sex="1",id)从数据集ds1中选取性别为"1"的记录,按照id字段降序排列,然后根据class进行分组,并返回每组的class组集组成的集合。例5:GROUP(ds1,省份,true,,,SUM(FIELDS(ds1,工业产值)),true,SUM(FIELDS(ds1,工业产值))>5000000)对数据集ds1按照省份进行分组,分组后求出每组的SUM(FIELDS(ds1,工业产值)),仅显示工业产值总和大于500万的分组,然后按照这个汇总值对组进行逆序排列。。1.1.1.8IMG功能:以图片形式显示表达式返回的二进制流。扩展报表函数参考手册语法:Img(binaryExp)参数:binaryExp可以获取(一张)图片二进制流的表达式,例如SELECT1、FIELD、cellx等。返回值:图片。示例:例1:IMG(FIELD(人员简历,照片))图片显示人员简历数据源当前记录中的照片字段。例2:IMG(SELECT1(人员简历,照片))图片显示人员简历数据源第一条记录中的照片字段。1.1.1.9LAST功能:从数据集满足条件的记录集合中,选出最后一条记录,返回给定字段或表达式的值。语法:LAST(dataSource,selectExp[,descExp[,filterExp[,orderExp]]])参数:dataSource数据集名称;selectExp要选择的字段,可以是字段名或列号,也可以是表达式;当使用列号时用正整数表示,1代表第1列,2代表第2列,依此类推;descExp排序的顺序,true代表逆序,false代表顺序;filterExp过滤条件表达式;orderExp排序依据表达式,当为{orderExp1,order1,...orderExpN,orderN}数组形式时为多重条件排序。返回值:数据集中最后一条记录指定字段的值,数据类型由selectExp指定的字段决定。15扩展报表函数参考手册示例:例1:LAST(ds1,name,true,,score)将ds1数据集的记录按成绩逆序排列,并返回最后一条记录的name字段值。1.1.1.10LIST功能:获得一个枚举的数据集合。语法:list(valueExp1{,valueExp2{,valueExp3{,……}}})参数:valueExp(n)可以是常数或表达式,也可以是数组。返回值:一组枚举数据的集合。示例:例1:list(1,3,5,7,9)例2:list("abc","def","ghj")例3:list(arg1,to(1,3),"a","b","c")假设arg1是个整数组,其值为7,8,9,那么该表达式的结果值为{7,8,9,1,2,3,"a","b","c"}1.1.1.11NULL功能:对指定数据集做空数据处理(即不进行实际查询),对此数据集的后续数据操作都将返回空值,用于根据条件选择对指定数据集是否进行查询。语法:NULL(dataSource)扩展报表函数参考手册参数:dataSource数据集名称。返回值:空数据集。对dataSource做无数据处理(即不进行实际查询),对此数据集的后续数据操作都将返回空值。1.1.1.12OVERLAP功能:对每一条记录依次计算条件表达式,如果满足则把该条记录加入到相应的组里。如果有多个组满足,则这些组中都会含有此条记录。如果都不满足并且有缺省值表达式,则把该条记录加入到缺省组中。组值为以该组的第一条记录计算结果表达式所得到的值。语法:OVERLAP(dataSource[,hasNullGroup[,termExp1,resultExp1[,term2,resultExp2[,...]]][,defaultExp]])参数:dataSource数据集名称;hasNullGroup布尔表达式,函数返回值是否包含空组;termExp(n)条件表达式;resultExp(n)满足条件时的分组结果表达式;defaultExp缺省值表达式,如果所有表达式结果都不满足,则分到本表达式计算结果中。返回值:数据组集。示例:例1:overlap(ds1,true,货主地区="华北","华北",货主城市="北京","其中:北京",货主地区="华南","华南",货主地区="华中","华中","其他")把数据集中满足“货主地区="华北"”的记录归到"华北"组中,满足“货主城市="北京"”的记录归到"其中:北京"组中,满足“货主地区="华南"”的记录归到"华南"组中,满足“货主地区="华中"”的记录归到"华中"组中,剩余的记录归到"其他"组中。17扩展报表函数参考手册注意:如果一条记录满足overlap中列举的多个条件,则该记录归到所有符合条件的组中。1.1.1.13QUERY功能:把参数值传递给指定数据集并执行该数据集,用于动态取数。语法:QUERY(dataSource,paramsArray)参数:dataSource数据集名称;paramsArray由参数名称和对应参数值组成的、形如{paramName1,value1[,paramName2,value2[,...]]}的数组。返回值:数据集。示例:例1:SELECT(QUERY(薪酬方案,{"TableName",A1}),FPERSONID)把A1的值传递给“薪酬方案”的TableName参数并执行“薪酬方案”数据集,然后通过SELECT函数返回该数据集的记录。1.1.1.14RCOUNT功能:获取指定数据集的当前行集的记录数,等效于COUNTA(FIELDS(ds1,...)),但更高效。语法:RCOUNT(dataSource)RCOUNT(,resultSet)扩展报表函数参考手册参数:dataSource数据集名称resultSet结果集名称,第一个参数为一个空的占位参数,没有任何效果,第二个参数是一个结果集。返回值:记录数,整型数据示例:例1:RCOUNT(ds1)返回数据集ds1当前行集的记录数。例2:RCOUNT(,SELECT(ds1,ID))返回结果集当前行集的记录数。例3:RCOUNT(,SELECT(ds1,月末余额,,月末余额>=500))返回数据集ds1中月末余额字段中大于等于500的记录数。1.1.1.15REF功能:读取指定的(一个或多个)快照中的指定数据。语法:REF(area{,snaps{,shrinkRow{,shrinkCol}}})参数:area指定区域(单元格、范围、命名对象),如指定命名对象,尽量使用字符串形式;如指定单元格,建议不要直接用单元格引用,需要加引号,如"B1"。snaps快照数据名称。shrinkRow是否将目标数据范围缩减1行,缺省为True。本参数对应area参数为命名对象的情形,在定义可扩展的数据范围命名对象时,必须多1行,在这里将其减除。shrinkCol是否将目标数据范围缩减1列,缺省为False。对应源数据为横向扩展的情形。返回值:19扩展报表函数参考手册三维引用。示例:例1:SUM(REF("B1",allsnap))读取allsnap命名对象中所定义的所有快照中的B1单元格的值,然后作求和统计。例2:SUM(REF("aaa",allsnap,True))读取allsnap命名对象中所定义的所有快照中的以aaa命名的数据块,然后作求和统计。1.1.1.16SELECT功能:从数据集的当前行集中选取符合条件的记录。语法:SELECT(dataSource,selectExp[,order[,filterExp[,orderExp]]])SELECT(dataSource,selectExp,,filterExp)//适用于不需排序或数据集中已排好序参数:dataSource数据集名称;selectExp要选择的字段名,也可以是表达式;order指定排序,true表示降序,false表示升序;filterExp过滤表达式,如不写,仅用“,”占位表示全选;orderExp排序字段或表达式。当此项为空时先检查order是否为空,如果为空,则不排序,如order不为空则按selectExp排序;如果orderExp不为空并order不为空,则按order_exp排序。当orderExp为{}数组形式时为多重条件排序。返回值:一组数据的集合,数据类型由selectExp决定示例:例1:select(ds1,name)从数据集ds1中选取name字段列的所有值,不排序。例2:select(ds1,name,true)从数据集ds1中选取name字段列的所有值并降序排列。例3:select(ds1,name,false,sex=”1”)扩展报表函数参考手册从数据集ds1中选取性别为男性(“1”)的name字段列的值并升序排列。例4:select(ds1,name,true,sex=”1”,id)从数据集ds1中选取性别为男性的name字段列的值并按id字段降序排列。例5:select(ds1,name,,,{id,true,sex,false})从数据集ds1中选取name字段列的值,按id字段降序、按sex字段升序排列。1.1.1.17SELECT1功能:从数据集中按顺序检索到符合过滤条件的第一条记录,返回其selectExp值。语法:SELECT1(dataSource,selectExp{,filterExp})参数:dataSource数据集名称。selectExp要选择的字段列名,也可以是表达式。filterExp过滤条件。返回值:数据类型不定,由selectExp的运算结果决定。示例:例1:select1(ds1,name)返回数据集ds1中第一条记录的name字段值例2:select1(ds1,name,score>90)从数据集ds1中检索出成绩大于90的记录,返回第一条记录的name字段值1.1.1.18SNAPS功能:把快照数据集中的报表快照读取到内存,以便进行下一步汇总统计。一般把本函数放在单元格或命名对象中(推荐)。语法:21扩展报表函数参考手册SNAPS(snapsDs{,sheetIndex})参数:snapsDs快照数据集。sheetIndex快照文件中的表页索引,可以是表页名或表页号,如果缺省则取第一个表页。返回值:包含快照信息的范围对象。示例:例1:SNAPS(SELECT(ds1,FSnapsContent))把快照数据集ds1中的报表快照读取到内存,其中FSnapsContent为存储快照内容的字段名。例2:SNAPS(SELECT(ds1,FSnapsContent),"sheet1")例3:SNAPS(SELECT(ds1,FSnapsContent),1)。1.1.1.19SORT功能:对数组进行排序。语法:SORT(arrayExp[,boolExp])参数:arrayExp数组表达式,譬如group,select,list等函数。boolExp布尔表达式,true表示对数组按升序排列,否则降序。返回值:排过序的数组。示例:例1:sort({5,2,3,4},true)返回值为{2,3,4,5}例2:sort({5,2,3,4})返回值为{5,4,3,2}扩展报表函数参考手册1.1.1.20SUBDS功能:获取子数据集,实现TopN,LastN等功能。语法:SUBDS(ds,top[,bottom])参数:ds源数据集;top整数表达式,正数表示获取前n条数据,负数表示消除前n条数据;bottom整数表达式,正数表示获取后n条数据,负数表示消除后n条数据。示例:例1:SUBDS(ds,10)返回值为包含ds前10行记录的数据集。例2:SUBDS(ds,,10)返回值为包含ds后10行记录的数据集。例3:SUBDS(ds,10,10)返回值为包含ds前后各10行记录的数据集,如有交叉取交集。例4:SUBDS(ds,-10)返回值为不包含ds前10行记录的数据集。例5:SUBDS(ds,,-10)返回值为不包含ds后10行记录的数据集。例6:SUBDS(ds,-10,-10)返回值为不包含ds前后各10行记录的数据集,可能为空集。1.1.1.21TO功能:生成一组连续的整数数据。语法:TO(startExp,endExp[,stepExp])参数:startExp整数数据开始的表达式endExp整数数据结束的表达式stepExp整数数据步长的表达式23扩展报表函数参考手册示例:TO(1,5)=LIST(1,2,3,4,5)TO(1,5,2)=LIST(1,3,5)TO(-5,-10,-2)=LIST(-5,-7,-9)TO(-10,-8)=LIST(-10,-9,-8)1.1.1.22TREE功能:对Group或Select结果数据集的树形展示。语法:TREE(dataSource,datasExp,defaultVisibleLevel,longID|parendID,separateChar|thisID[,level[,virtualNodeName[,nodeFilter]]])参数:dataSource数据集名称;datasExpGROUP或SELECT表达式(区别在于GROUP可以提供更灵活的排序方式);defaultVisibleLevel指定树的展开级次,树的级次从第1级开始,缺省为1;longID|parendID当为longID(长编码字段名)时,配对separateChar计算级次;当为parentID(父节点ID字段名)时,配对thisID计算级次;separateChar|thisID配对longID的分隔字符,或配对parendID的当前节点ID字段名;level级次字段名,如果此字段有值则通过此字段生成树(此时要求记录已经排好序),否则通过“longID|parendID,separateChar|thisID”生成树;virtualNodeName形如{baseNodeName,lowerNodeName}的数组,用以实现“本部”,“下级”虚拟节点;nodeFilter树节点过滤表达式。返回值:一组数据组集,同时显示树形控件。示例:扩展报表函数参考手册例1:TREE(ds,SELECT(ds,FName,False,,FLongNumber),2,FLongNumber,"!")从数据集ds中选取FName字段的所有值并按照FLongNumber排序,按照FLongNumber字段和分隔符“!”计算树形级次。默认展开到第2级。例2:TREE(ds,SELECT(ds,FName),2,FParentID,FID)从数据集ds中选取FName字段的所有值,不进行任何排序,按照FParentID和FID字段计算树形级次。默认展开到第2级。例3:TREE(ds,SELECT(ds,FName,False,2,FLongNumber),,,,FLevel)从数据集ds中选取FName字段的所有值并按照FLongNumber排序,直接从FLevel字段取级次信息。默认展开到第2级。例4:TREE(ds,SELECT(ds,FLongNumber,False),2,FLongNumber,"!",,{"本部","下级"})按照FLongNumber构造树结构,并且生成“本部”,“下级”虚拟树节点。例5:TREE(ds,SELECT(ds,FLongNumber,False),2,FLongNumber,"!",,,COUNTA(FIELDS(ds,CountName))>0)按照FLongNumber构造树结构,并且按照树节点所属组的CountName个数确定此节点的去留。1.1.1.23UNION功能:合并数据集。需要注意要合并的数据集必须字段数和数据类型匹配。语法:UNION(unionAll,datasExp1[,datasExp2...]])参数:unionAll是否简单合并数据,不做唯一性检查;datasExp(n)数据源表达式,可以为单元格、命名对象等;需要注意要合并的数据源必须字段数和数据类型匹配。25扩展报表函数参考手册返回值:合并后的动态数据集。示例:例1:UNION(true,A1,A10,Other)将单元格A1、A10所属的数据集以及命名对象Other所指的数据集合并生成一个新的动态数据集。1.1.1.24V功能:设置或获取表达式范围内的临时变量,避免表达式冗余,提高执行效率。语法:V(index[,exp])参数:index整型数值表达式,取值范围为1-8,即表达式内最多可以设置8个临时变量exp预计会重复的表达式。返回值:两项参数时,返回exp的执行结果,同时将执行结果存入index指定的临时变量位置;一项参数时,返回index指定位置的临时变量值。示例:例1:AND(V(1,SUM(A1:A100))<100,V(1)>0)不再重复计算“SUM(A1:A100)”部分。1.1.1.25$E功能:使根据条件获取的数据集/组集在单元格中可扩展。扩展报表函数参考手册语法:$E(exp)参数:Exp根据条件取得数据集/组集的表达式。返回值:数据集或组集。示例:例1:$E(CASE(@wd1="地区",GROUP(ds,地区,True),@wd1="城市",GROUP(ds,城市,True),@wd1="销售代表",GROUP(ds,销售代表,True),GROUP(ds,产品,True)))根据参数wd1的参数值返回不同的分组数据集,如参数值为“地区”则返回对地区的分组数据集,如参数值为“城市”则返回对城市的分组数据集,如参数值为“销售代表”则返回对销售代表的分组数据集,否则返回对产品的分组数据集。如果没有加上$E,CASE函数返回的组集不能被执行引擎正确识别从而实现扩展。1.2.2日期时间函数DATE按照"yyyy-MM-dd"方式解析日期(没有时分秒部分)DATEDIF计算两个日期间相差的天数、月数或年数DATETIME按照"yyyy-MM-ddH:mm"方式解析日期和时间(没有秒部分)DATEVALUE将文本格式的日期转换为序列号;返回date_text所表示的日期的序列号DAY取出日期值中的日期DAYS360计算基于一年360天的两个日期间的天数27扩展报表函数参考手册FIRSTDAY获取指定条件的首日期HOUR取出时间值中的小时LASTDAY获取指定条件的末日期MINUTE取出时间值中的分钟MONTH取出日期值中的月份MONTHDAYS取出给定日期所在月份的天数NEXTDAY获取指定偏移条件的日期NOW获得当前日期和时间SECOND取出时间值中的秒SETHOLIDAY设置假期日期SETWORKDAY设置工作日SETWORKTIME设置工作时间段TIME按照"H:mm"方式解析时间(只获取时和分,忽略秒),对应日期为1970-1-1TIMEVALUE返回由文本字符串所代表的时间的小数值WEEKDAY返回某日期为星期几。默认情况下,其值为1(星期天)到7(星期六)之间的整数WORKTIME考虑假期、工作日和工作时间段来计算累计工作时间YEAR取出日期值中的年份YEARFRAC返回start_date和end_date之间的天数占全年天数的百分比1.1.1.26DATE功能:返回代表特定日期的序列号。如果在输入函数前,单元格格式为“常规”,则结果将设为日期格式。语法:DATE(year,month,day)参数:参数:year可以为一到四位数字(系统将根据所使用的日期系统来解析,默认情况下,系统将使用1900日期系统);扩展报表函数参考手册month代表每年中月份的数字;day在上述年月中第几天。对于1900年日期系统如果year位于0(零)到1899(包含)之间,则系统会将该值加上1900,再计算年份。例如:DATE(108,1,2)将返回2008年1月2日(1900+108)。如果year位于1900到9999(包含)之间,则系统将使用该数值作为年份。例如:DATE(2008,1,2)将返回2008年1月2日。如果year小于0或大于等于10000,则系统将返回错误值#NUM!。对于1904年日期系统如果year位于4到1899(含)之间,则系统会将该值加上1900,再计算年份。例如:DATE(108,1,2)将返回2008年1月2日(1900+108)。如果year位于1904到9999(含)之间,则系统将使用该数值作为年份。例如:DATE(2008,1,2)将返回2008年1月2日。如果year小于4或大于等于10000,或者位于1900到1903(含)之间,则系统将返回错误值#NUM!。示例:例1:_ABC1年月日2200811DATE(A2,B2,C2)返回上述日期的序列号,使用1900日期系统,为39448或2008-1-1(经格式化)。例2:如果所输入的月份大于12,将从指定年份的一月份开始往上加算。例如DATE(2008,14,2)返回代表2009年2月2日的序列号。例3:如果day大于该月份的最大天数,则将从指定月份的第一天开始往上累加。例如DATE(2008,1,35)返回代表2008年2月4日的序列号。29扩展报表函数参考手册1.1.1.27DATEDIF功能:计算两个日期间相差的天数、月数或年数。语法:DATEDIF(startDate,endDate,unit)参数:startDate起始日期;endDate终止日期;unit要返回的信息的类型,取值包括:"Y"/"M"/"D"/"MD"/"YM"/"YD"。日期有多种输入方式:带引号的文本字符串如"2001-1-30",序列数如36921(如果使用的是1900日期系统,则它代表2001年1月30日),或其他公式或函数的结果,如DATEVALUE("2001-1-30")。unit参数的取值:"Y"一段时期内的整年数;"M"一段时期内的整月数;"D"一段时期内的天数;"MD"startDate和endDate之间相差的天数,忽略日期中的月份和年份;"YM"startDate和endDate之间相差的月数,忽略日期中的天和年份;"YD"startDate和endDate之间相差的天数,忽略日期中的年份。返回值:整数。当startDate小于endDate且相差年/月/天数不为0时返回正整数;当startDate大于endDate且相差年/月/天数不为0时返回负整数。(说明:日期是作为有序序列数进行存储的,因此可将其用于计算。默认情况下,1899年12月31日的序列数为1,而2008年1月1日的序列数为39448,因为它是1900年1月1日之后的第39,448天。DATEDIF函数在需要计算年龄的公式中很有用。)示例:扩展报表函数参考手册例1:DATEDIF("2001-1-1","2003-1-1","Y")=2这段时期包含两个整年。例2:DATEDIF("2001-6-1","2002-8-15","D")=4402001年6月1日和2002年8月15日之间相差440天。例3:DATEDIF("2001-6-1","2002-8-15","YD")=756月1日和8月15日之间相差75天,忽略日期中的年份。例4:DATEDIF("2001-6-1","2002-8-15","MD")=141日和15日(startDate和endDate日期中的相应日)之间相差的天数,忽略日期中的月份和年份。1.1.1.28DATETIME功能:按照"yyyy-MM-ddH:mm"方式解析日期和时间(没有秒部分)语法:Datetime(dateString)参数:dateString"yyyy-MM-ddH:mm"形式的日期字符串,或返回日期字符串的表达式。返回值:日期值。示例:例1:DateTime(“2000-1-114:01”)1.1.1.29DATEVALUE功能:将文本格式的日期转换为序列号,返回dateString所表示的日期的序列号31扩展报表函数参考手册语法:DATEVALUE(dateString)参数:dateString以报表日期格式表示的日期文本。如果省略年份部分,则函数DATEVALUE使用计算机系统内部时钟的当前年份。dateString中的时间信息将被忽略。返回值:文本日期序列号。示例:例1:DATEVALUE("2008-8-22")使用1900日期系统时的文本日期序列号39682。例2:DATEVALUE("2008-2-23")使用1900日期系统时的文本日期序列号39501。例3:DATEVALUE("5-JUL")使用1900日期系统时的文本日期序列号(此时假定计算机内置时钟设置为2008年)39634。1.1.1.30DAY功能:取出日期值中的日期。语法:day(dateValue)参数:dateValue日期。示例:DAY("1949-10-1")返回值为1。扩展报表函数参考手册1.1.1.31DAYS360功能:计算基于一年360天的两个日期间的天数。语法:DAYS360(startDate,endDate[,method])参数:startDate起止日期;endDate终止日期;method布尔值,true采用欧洲方法,false(缺省)采用美国方法。美国方法(NASD):如果起始日期是一个月的31号,则等于同月的30号。如果终止日期是一个月的31号,并且起始日期早于30号,则终止日期等于下一个月的1号,否则,终止日期等于本月的30号。欧洲方法:起始日期和终止日期为一个月的31号,都将等于本月的30号。返回值:两日期间相差的天数。如果startDate在endDate之后,则将返回一个负数。示例:例1:DAYS360(A2,A3)按照一年360天的算法,上述两日期之间的天数(A3-A2)。1.1.1.32FIRSTDAY功能:获取指定条件的首日期语法:FIRSTDAY(date[,type])33扩展报表函数参考手册参数:date日期;type整数,0(缺省),取date本年首日;1,取date本月首日;2,取本周首日(星期日)。返回值:日期。示例:例1:FIRSTDAY(DATEVALUE("2008-2-15"))返回2008-1-1。例2:FIRSTDAY(DATEVALUE("2008-2-15"),1)返回2008-2-1。例3:FIRSTDAY(DATEVALUE("2008-2-15"),2)返回2008-2-10。1.1.1.33HOUR功能:取出时间值中的小时。语法:HOUR(timeValue)示例:HOUR("12:34:56")返回值为12。1.1.1.34LASTDAY功能:获取指定条件的末日期。语法:LASTDAY(date[,type])参数:date日期;type整数,0(缺省),取date本年末日;1,取date本月末日;2,取本周末日(星期六)。扩展报表函数参考手册返回值:日期。示例:例1:LASTDAY(DATEVALUE("2008-2-15"))返回2008-12-31。例2:LASTDAY(DATEVALUE("2008-2-15"),1)返回2008-2-29。例3:LASTDAY(DATEVALUE("2008-2-15"),2)返回2008-2-16。1.1.1.35MINUTE功能:取出时间值中的分钟。语法:MINUTE(timeValue)参数:timeValue时间值。示例:MINUTE("12:34:56")返回值为34。1.1.1.36MONTH功能:取出日期值中的月份。语法:MONTH(dateValue)参数:dateValue日期。35扩展报表函数参考手册示例:MONTH("1949-10-1")返回值为10。1.1.1.37MONTHDAYS功能:取出日期所在月份的天数。语法:MONTHDAYS(dateValue)参数:dateValue日期。示例:MONTHDAYS(DATEVALUE("2008-2-15"))返回值为29。1.1.1.38NEXTDAY功能:获取指定偏移条件的日期。语法:NEXTDAY(date[,dayOffset[,monthOffset[,yearOffset]]])参数:date日期;dayOffset偏移天数,支持小数;monthOffset偏移月数,整数;yearOffset偏移年数,整数。(当dayOffset,monthOffset和yearOffset全部缺省时相当于dayOffset为1。)返回值:日期。扩展报表函数参考手册示例:例1:NEXTDAY(DATEVALUE("2008-2-15"))返回2008-2-16。例2:NEXTDAY(DATEVALUE("2008-2-15"),1.5)返回2008-2-1612:00。例3:NEXTDAY(DATEVALUE("2008-2-15"),-1.5)返回2008-2-1312:00。例4:NEXTDAY(DATEVALUE("2008-2-15"),,1)返回2008-3-15。例5:NEXTDAY(DATEVALUE("2008-2-15"),,,1)返回2009-2-15。例6:NEXTDAY(DATEVALUE("2008-2-15"),1,1,1)返回2009-3-16。1.1.1.39NOW功能:获得当前日期和时间。语法:NOW()1.1.1.40SECOND功能:取出时间值中的秒。语法:SECOND(timeValue)参数:timeValue时间值。示例:SECOND("12:34:56")返回值为56。1.1.1.41SETHOLIDAY功能:37扩展报表函数参考手册设置假期日期。语法:SETHOLIDAY(dateString1[,dateString2[,...]])参数:dateString(n)"yyyy-MM-dd"形式的日期字符串,只应用其中的月日部分。返回值:假期日期值数组。示例:例1:SETHOLIDAY("2009-5-1","2009-10-1")注意:本函数使用时,应在设计器中通过菜单“插入-名称-定义”进行定义,插入的名称必须为“__Holiday”(两个下划线加上“Holiday”)。效果如下:扩展报表函数参考手册1.1.1.42SETWO...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

金蝶EAS Cloud BASRPTFUN函数参考.doc

管理软件+ 关注
实名认证
内容提供者

管理软件资料分享

确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信