SPSS Molder常用函数简介.doc_第1页
SPSS Molder常用函数简介.doc_第2页
SPSS Molder常用函数简介.doc_第3页
SPSS Molder常用函数简介.doc_第4页
SPSS Molder常用函数简介.doc_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

SPSS Molder常用函数简介SPSS Molder软件包含多种功能丰富的函数,几乎涵盖了我们日常工作的各种需要,主要有信息函数、转换函数、比较函数、逻辑函数、数值函数、三角函数、概率函数、位元整数运算、随机函数、字符串函数、日期和时间函数、序列函数、全局函数、空值和Null值处理函数、特殊函数等15大类,本附录将逐一介绍并说明其注意事项。在本附录中涉及到的函数,具体的字段格式按照如下约定表示。BOOL布尔值或标志,例如真或假NUM、NUM1、NUM2任意数字REAL、REAL1、REAL2任意实数,例如1.69、-7.8INT、INT1、INT2任意整数,例如1或-6CHAR字符代码,例如DSTRING字符串,例如bookIDLIST项目列表,例如myteacherITEM字段,例如Customer或extract_conceptDATE其值具有DD-MON-YYYY这样格式的日期字段,例如start_dateTIME其值具有HHMMSS这样格式的时间字段,例如power_flux此外,本附录中的函数以函数、结果类型(整数、字符串等)和说明(如果有)各占一列的形式一一列举说明。例如,对函数rem的说明如下。功能结果说明INT1 rem INT2数值返回INT1除以INT2所得的余数,例如,INT1-(INT1 div INT2)*INT21. 信息函数信息函数用于深入了解特定字段的值。它们通常用于派生标志字段。例如,可以使用BLANK函数来创建一个标志字段,以指示选定字段的值为空值的记录。同样,可以使用存储类型函数(如is_string)来检查某个字段的存储类型。功能结果说明BLANK(FIELD)布尔值根据上游类型节点或源节点(“类型”选项)中设置的空值处理规则对值为空值的所有记录返回真值。注意,不能通过脚本调用此函数NULL(ITEM)布尔值为未定义值的所有记录返回真值。未定义值是系统Null值,在Molder中显示为$null$,注意:此功能无法通过脚本调用is_date(ITEM)布尔值为所有日期类型的记录返回真值is_datetime(ITEM)布尔值为所有日期时间类型的记录返回真值is_integer(ITEM)布尔值为所有整数类型的记录返回真值is_number(ITEM)布尔值为所有数值类型的记录返回真值is_real(ITEM)布尔值为所有实数类型的记录返回真值is_string(ITEM)布尔值为所有字符串类型的记录返回真值is_time(ITEM)布尔值为所有时间类型的记录返回真值is_timestamp(ITEM)布尔值为所有时间戳类型的记录返回真值2. 转换函数转换函数可用来构建新字段和转换现有文件的存储类型。例如,可通过将字符串连接在一起或分拆字符串来形成新字符串。若要连接两个字符串,请使用运算符“ITEM2字符串连接两个字段的值,并返回结果字符串ITEM1、ITEM2to_integer(ITEM)整数将指定字段的存储值转换为整数to_real(ITEM)实数将指定字段的存储值转换为实数to_number(ITEM)数值将指定字段的存储值转换为数值to_string(ITEM)字符串将指定字段的存储值转换为字符串to_time(ITEM)时间将指定字段的存储值转换为时间to_date(ITEM)日期将指定字段的存储值转换为日期to_timestamp(ITEM)时间戳将指定字段的存储值转换为时间戳to_datetime(ITEM)日期时间将指定字段的存储值转换为日期时间值3. 比较函数比较函数用于字段值的相互比较或与指定字符串进行比较。例如,可以使用“=”来检查字符串是否相等。字符串相等的验证示例:Class=class1。对数值比较来说,大于表示离正无穷更近,小于表示离负无穷更近,即所有负数均小于任意正数。功能结果说明TEM1=ITEM2布尔值为ITEM1等于ITEM2的记录返回真值ITEM1/=ITEM2布尔值两个字符串不完全相同时返回真值,完全相同时返回0ITEM1ITEM2布尔值ITEM1小于ITEM2的记录返回真值ITEM1ITEM2布尔值ITEM1大于ITEM2的记录返回真值ITEM1=ITEM2布尔值ITEM1大于等于ITEM2的记录返回真值count_equal(ITEM1,LIST)整数返回字段列表中等于ITEM1的值的个数,如果ITEM1为Null,则返回Nullcount_greater_than(ITEM1,LIST)整数返回字段列表中大于ITEM1的值的个数,如果ITEM1为Null,则返回Nullcount_less_than(ITEM1,LIST)整数返回字段列表中小于ITEM1的值的个数,如果ITEM1为Null,则返回Nullcount_not_equal(ITEM1,整数返回字段列表中不等于ITEM1的值的个数,如果ITEM1为Null,则返回Nullount_nulls(LIST)整数返回字段列表中Null值的个数date_before(DATE1,DATE2)布尔值用于检查日期值的排序。如果DATE1早于DATE2,则返回真值max(ITEM1,ITEM2)Any返回ITEM1和ITEM2两项中较大的一个max_n(LIST)数值返回数值字段列表中的最大值,如果所有字段值为Null,则返回Nullmin(ITEM1,ITEM2)Any返回ITEM1和ITEM2两项中较小的一个min_n(LIST)数值返回数值字段列表中的最小值,如果所有字段值为Null,则返回Nulltime_before(TIME1,TIME2)布尔值用于检查时间值的排序。如果TIME1早于TIME2,则返回真值member(ITEM,LIST)布尔值如果ITEM是指定LIST的成员,则返回真值,否则返回假值,还可以指定字段名称列表4. 逻辑函数MOLDER表达式可用来执行逻辑运算,主要功能如下。功能结果说明COND1 and COND2布尔值此运算为逻辑合取运算,当COND1与COND2同时为真时返回真值,如果COND1为假,则不求COND2的值,此时可以构造这样的合取,让COND1首先检验COND2中的运算是否合法,例如,length(Label)=6 and Label(6)=xCOND1 or COND2布尔值此运算为逻辑(包含性)析取运算,当COND1或COND2为真或这两者同时为真时,返回真值,如果COND1为真,则不求COND2的值not(COND)布尔值此运算为逻辑否运算,当COND为假时返回真,否则,此运算将返回值0If COND then EXPR1 else EXPR2 endifAny此运算为条件求值,如果COND为真,此运算将返回EXPR1的结果,否则,将返回EXPR2的求值结果If COND1 then EXPR1 Elseif COND2 then EXPR2 else EXPR_N endifAny此运算为多分支条件求值。如果COND1为真,此运算将返回EXPR1的结果,如果COND2为真,此运算将返回EXPR2的求值结果,否则,将返回EXPR_N的求值结果5. 数值函数MOLDER包含许多常用的数值函数,主要功能如下。功能结果说明-NUM数值用于求NUM的相反数,返回具有相反符号的对应数字NUM1+NUM2数值返回NUM1与NUM2相加所得的和code-NUM2数值返回NUM1减去NUM2所得的差NUM1*NUM2数值返回NUM1与NUM2相乘所得的积NUM1/NUM2数值返回NUM1除以NUM2所得的商INT1 div INT2数值用于进行整数除法。返回INT1除以INT2所得的商INT1 rem INT2数值返回INT1除以INT2所得的余数,例如,INT1-(INT1 div INT2)*INT2INT1 mod INT2数值此函数已被rem函数取代,不宜再使用BASE * POWER数值返回BASE的POWER次方,底和幂可以是任意数字(一种情况除外:如果POWER为除整数0之外其他类型的0,则BASE不能为0)。如果POWER为整数,则可通过将BASE连续乘POWER次计算出结果,因此,如果BASE为整数,则结果为整数。如果POWER为整数0,则结果将始终是与BASE类型相同的1。如果POWER不是整数,则用公式exp(POWER * log(BASE)计算结果abs(NUM)数值返回NUM的绝对值,结果始终是同一类型的数值exp(NUM)实数返回e的NUM次方(e为自然对数的底)fracof(NUM)实数返回NUM的小数部分,定义为NUM-intof(NUM)intof(NUM)整数将其参数截为整数,返回与NUM符号相同的整数,取满足abs(INT)=abs(NUM)的最大值log(NUM)实数返回NUM的自然对数(以e为底),NUM不能为零(无论何种类型)log10(NUM)实数返回NUM以10为底的对数,NUM不能为零(无论何种类型)。此函数定义为log(NUM)/log(10)negate(NUM)数值用于求NUM的相反数,返回具有相反符号的对应数字round(NUM)整数用于将NUM四舍五入取整数,如果NUM为正数,则用公式intof(NUM+0.5),如果NUM为负数,则用公式intof(NUM-0.5)sign(NUM)数值用于确定NUM的符号,如果NUM为整数,此运算将返回-1、0或1。如果NUM为实数,将返回-1.0、0.0或1.0,取决于NUM是负数、零还是正数sqrt(NUM)实数返回NUM的平方根,NUM必须是正数sum_n(LIST)数值返回数值字段列表中字段值的和,如果所有字段均为Null,则返回Null值mean_n(LIST)数值返回数值字段列表中字段值的均值,如果所有字段值均为Null值,则返回Null值sdev_n(LIST)数值返回数值字段列表中字段值的标准差,如果所有字段值均为Null值,则返回Null值6. 三角函数三角函数以角度为参数或返回结果为角度,无论哪种情况,角度单位(弧度或度数)均由相关流选项的设置控制。功能结果说明arccos(NUM)实数计算指定角度的反余弦值arccosh(NUM)实数计算指定角度的反双曲余弦值arcsin(NUM)实数计算指定角度的反正弦值arcsinh(NUM)实数计算指定角度的反双曲正弦值arctan(NUM)实数计算指定角度的反正切值arctan2(NUM_X,NUM_Y)实数计算NUM_Y/NUM_X的反正切值,然后使用两个数的符号推导出象限信息。结果是范围在-piANGLE=pi(弧度)-180ANGLE=180(度数)间的实数arctanh(NUM)实数计算指定角度的反双曲正切值cos(NUM)实数计算指定角度的余弦值cosh(NUM)实数计算指定角度的双曲余弦值pi实数此常数是pi的最佳实数近似值sin(NUM)实数计算指定角度的正弦值sinh(NUM)实数计算指定角度的双曲正弦值tan(NUM)实数计算指定角度的正切值tanh(NUM)实数计算指定角度的双曲正切值7. 概率函数概率函数返回基于各种分布的概率,主要功能如下。功能结果说明cdf_chisq(NUM,DF)实数返回具有指定自由度的卡方分布中某个值将会小于指定数值的概率cdf_f(NUM,DF1,DF2)实数返回自由度为DF1和DF2的F分布中某个值将会小于指定数值的概率cdf_normal(NUM,MEAN,STDDEV)实数返回具有指定均值和标准差的正态分布中某个值将会小于指定数值的概率cdf_t(NUM,DF)实数返回具有指定自由度的学生氏t分布中某个值将会小于指定数值的概率8. 位元整数运算借助上述函数,可以按表示二进制补码值的位模式(其中位的位置N的权重为2*N)来操控整数。位从0开始往上数,这些运算就好像是把整数的符号位向左无限延伸,因此,最高有效位前的所有位,正整数均为0,负整数均为1,注意:不能从脚本中调用位元函数。功能结果说明INT1整数产生整数INT1的位元补码,即INT1每个为0的位经过求补运算后结果均为1。对于求补运算,始终有INT=-(INT+1)成立。此功能无法通过脚本调用INT1|INT2整数此运算的结果是INT1和INT2的位元“或”,即INT1和INT2中的一个对应位是1或两者的对应位同时是1时,“或”的结果为1INT1|/&INT2整数此运算的结果是INT1和INT2的位元“异或”,即INT1和INT2中的一个对应位是1但非同时为1时“异或”后的结果为1INT1&INT2整数产生整数INT1和INT2的位元“与”,即INT1和INT2的对应位同时为1时进行“与”运算的结果才为1INT1&INT2整数将对INT1和INT2位元求补后的结果进行位元“与”运算,即INT1的对应位是1且INT2的对应位是0时进行这一运算后的结果才为1。此运算与INT1&(INT2)运算的结果相同,可用于清除在INT2中设置的INT1位INTN整数产生INT1向右偏移N个位置的位元模式,如果N为负值,则向左移INT1&=_0 INT2布尔值相当于布尔表达式INT1&INT2/=0,但效率更高INT1&/=_0 INT2布尔值相当于布尔表达式INT1&INT2=0,但效率更高integer_bitcount(INT)整数计数INT的二进制补码表示中1或0的个数。如果INT是非负数,则N为1的个数。如果INT为负数,则N为0的个数。非负整数中将有无数个0,而负整数中将有无数个1。对于此运算,始终有integer_bitcount(INT)=integer_bitcount(-(INT+1)成立integer_leastbit(INT)整数返回整数INT中最低有效位组的数位位置N。N是2的最大权重,据此INT将进行准确划分integer_length(INT)整数以二进制补码的整数形式返回INT的数位长度,即N是最小整数(INT(1=0INT=(-1N) if INT0)。如果INT为非否数,则表示为无符号整数的INT需要至少N位的一个字段。另外,最少需要用N+1个数位来表示有符号整数INT(不论符号是正是负)testbit(INT,N)布尔值检验整数INT中位置N处的数位,并以布尔值的形式(真表示状态为1,假表示状态为0)返回数位N的状态9. 随机函数以下函数用于随机选择项目或随机生成数值,主要功能如下。功能结果说明oneof(LIST)Any返回一个从LIST中随机选择的元素。应以ITEM1,ITEM2,ITEM_N的形式输入列表项,注意,还可以指定字段名列表random(NUM)数值返回类型相同(INT或REAL)的均匀分布随机数,其范围从1NUM。如果使用的是整数,则仅返回整数。如果使用(十进制)实数,则返回实数(由流选项确定的十进制精度)。此函数所返回的最大随机数可以等于NUMrandom0(NUM)数值此函数的属性与random(NUM)相同,但将从0开始取值。它所返回的最大随机数决不会等于X10. 字符串函数在MOLDER中可以对字符串执行以下操作:比较字符串、创建字符串、访问字符串。在MOLDER中,字符串是一对英文双引号(string quotes)之间的一组字符序列。这里所用的字符(CHAR)可以是任何一个字母、数字字符。这些字符已在MOLDER表达式中使用反单引号并以的形式声明过,例如z、A或2。如果字符超出边界或为字符中的负指数,则结果将返回Null值。功能结果说明allbutfirst(N,STRING)字符串返回字符串STRING除去前N个字符后所生成的新字符串allbutlast(N,STRING)字符串返回字符串STRING除去后N个字符后所生成的新字符串alphabefore(STRING1,STRING2)布尔值用于检查字符串的数字字母顺序,如果STRING1在STRING2之前,则返回真值endstring(LENGTH,STRING)字符串从指定字符串中抽取后n个字符,如果字符串长度小于或等于指定长度,则字符串不发生改变hasendstring(STRING,SUBSTRING)整数此函数的功能等同于isendstring (SUB_STRING,STRING)hasmidstring(STRING,SUBSTRING)整数此函数的功能等同于ismidstring (SUB_STRING,STRING)(嵌入的子字符串)hasstartstring (STRING,SUBSTRING)整数此函数的功能等同于isstartstring (SUB_STRING,STRING)hassubstring(STRING,N,SUBSTRING)整数issubstring(SUB_STRING,N,STRING),这里N的默认值为1count_substring(STRING,SUBSTRING)整数返回字符串中指定字符串出现的次数。例如,count_substring(foooo.txt,oo)返回结果为3hassubstring(STRING,SUBSTRING)整数此函数的功能等同于issubstring(SUB_STRING,1STRING),这里N的默认值为1isalphacode(CHAR)布尔值如果CHAR是字符代码,且为字母的指定字符串中的某个字符,则返回真值,否则,返回值为0,例如isalphacode(produce_num(1)isendstring(SUBSTRING,STRING)整数如果字符串STRING以子字符串SUB_STRING结尾,则将返回STRING中子字符串SUB_STRING的整数下标。此外,此函数的返回结果为0islowercode(CHAR)布尔值如果CHAR是指定字符串(通常为字段名)中的某个小写字母字符,则将返回真值,否则,该函数的返回值为0,例如islowercode()-T和islowercode(country_name(2)-T均为有效表达式ismidstring(SUBSTRING,STRING)整数如果SUB_STRING是STRING的子字符串,但首字符或尾端字符与STRING不同,则将返回此子字符串的起始下标,否则,此函数将返回值0isnumbercode(CHAR)布尔值如果指定字符串(通常为字段名)的CHAR为数字字符,则返回真值,否则,返回值为0,例如isnumbercode(product_id(2)isstartstring(SUBSTRING,STRING)整数如果字符串STRING以子字符串SUB_STRING开头,则该函数将返回下标1,除此以外,该函数的返回结果为0issubstring(SUBSTRING,N,STRING)整数从字符串STRING中搜索(从第N个字符开始)等于SUB_STRING的子字符串,如果找到子字符串,则该函数返回相匹配子字符串的起始下标,否则,此函数将返回值0。如果未指定N,则此函数的默认值为1issubstring(SUBSTRING,STRING)整数从字符串STRING中搜索(从第N个字符开始)等于SUB_STRING的子字符串。如果找到子字符串,则该函数返回相匹配子字符串的起始下标,否则,此函数将返回值0,如果未指定N,则此函数的默认值为1issubstring_count(SUBSTRING,N,STRING):整数返回STRING中第N次出现的SUBSTRING的索引。如果SUBSTRING的出现次数少于N次,则返回结果为0issubstring_lim(SUBSTRING,N,STARTLIM,ENDLIM,STRING)整数此函数的功能与issubstring相同,但匹配必须从下标STARTLIM或其之前开始,并且必须从下标ENDLIM或其之前结束。若为任一参数提供假值,则可禁用STARTLIM或ENDLIM限制,例如,issubstring_lim(SUB_STRING,N,false,false,STRING)与issubstring功能相同isuppercode(CHAR)布尔值如果CHAR是大写字母字符,则返回真值,除此以外,该函数的返回值为0,例如isuppercode (country_name(2)-T为有效表达式last(CHAR)字符串返回STRING(长度至少为一个字符)的最后一个字符CHARlength(STRING)整数返回字符串STRING的长度,即字符串字符数locchar(CHAR,N,STRING)整数用于标识符号字段中的字符位置。此函数将在字符串STRING中搜索字符CHAR(从STRING的第N个字符开始搜索)。此函数的返回值表示(从N开始)找到字符的位置。如果未找到字符,则函数返回结果为0。如果此函数存在无效偏移(N)(例如,某个偏移超出了字符串长度),则函数返回结果为$null$,例如locchar(n,2,web_page)在名为web_page的字段中从第2个字符开始搜索字符n。注意:请用反单引号将指定字符引起locchar_back(CHAR,N,STRING)整数此函数类似于locchar函数,所不同的是搜索反向进行且从第N个字符开始。例如,locchar_back(n,9,web_page)将从web_page的第9个字符开始搜索并且从后向前移动搜索。如果此函数拥有无效偏移(例如偏移超出字符串的长度),则此函数的返回结果为$null$。理想的情形是:将locchar_back与length()函数结合使用,以便动态地使用字段当前值的长度,例如locchar_back(n,(length(web_page),web_page)lowertoupper(CHAR)lowertoupper(STRING)CHAR或String可以输入字符或字符串,此函数将返回一个类型相同项,小写字符将转换为大写字符。例如,有效表达式:lowertoupper(Mystring)和lowertoupper(field_name(2)matches布尔值如果字符串与指定模式(例如company_namematchesSPSS)相匹配,将返回真值。模式必须是字符串字符,而不能是包含模式的字段名。问号(?)包含在模式中以便匹配某一字符,星号(*)可以匹配零个或多个字符。若要匹配文字问号或星号(而不是将其用作通配符),可使用反斜杠()作为转义符号replace(SUBSTRING,NEWSUBSTRING,STRING)字符串在指定STRING中,用NEWSUBSTRING替换SUBSTRING中的所有示例replicate(COUNT,STRING)字符串返回一个由原始字符串指定个数的复本所构成的字符串stripchar(CHAR,STRING)字符串借助此函数,可从某个字符串或字段中除去指定字符。例如,可以使用此函数从数据中除去多余符号(如货币符号)以获取一个简单的数值或名称。例如,通过语法stripchar($,Cost)可以除去所有值中的美元符号并返回一个新字段。注:请用反单引号将指定字符引起skipchar(CHAR,N,STRING)整数在字符串STRING中搜索除CHAR以外的字符(从第N个字符开始搜索)。此函数返回一个表示发现子字符串位置的整数子字符串,如果从第N个位置开始的每个字符是CHAR,则返回0。如果函数有一无效偏移(例如,超出字符串长度的偏移),则该函数返回$null$。locchar函数经常与skipchar配合使用以确定N(开始搜索字符串的位置)的值。例如skipchar(s,(locchar(s,1,MyString),MyString)skipchar_back(CHAR,N,STRING)整数与skipchar函数类似,所不同的是搜索反向进行并且从第N个字符开始startstring(LENGTH,STRING)字符串从指定字符串中抽取第n个字符。如果字符串长度小于或等于指定长度,则字符串不发生改变strmember(CHAR,STRING)字符串等同于locchar(CHAR,1,STRING)函数。此函数返回整数子字符串或0,返回的整数子字符串表示CHAR第一次出现的位置。如果函数存在无效偏移(例如,超出字符串长度的偏移),则返回$null$subscrs(N,STRING)CHAR返回输入字符串STRING的第N个字符CHAR。此函数也可采用简写形式:STRING(N)-CHAR。例如,lowertoupper(name(1)就是一个有效表达式substring(N,LEN,STRING)字符串返回从位于下标N的字符开始的字符串SUB_STRING,此子字符串由字符串STRING的LEN个字符组成substring_between(N1,N2,STRING)字符串返回STRING的子字符串,该字符串从下标N1开始并结束于下标N2trim(STRING)字符串除去指定字符串的前导和尾部空格trim_start(STRING)字符串除去指定字符串的前导空格trimend(STRING)字符串除去指定字符串的尾部空格unicode_char(NUM)CHAR返回Unicode值为NUM的字符unicode_value(CHAR)NUM返回CHAR的Unicode值uppertolower(CHAR)uppertolower(STRING)CHAR或String可以输入字符串或字符,此函数将返回一个类型相同项,大写字符将转换为相应的小写字符。注意:指定字符串时一定要用英文双引号,而指定字符时一定要用反向单引号。简单字段名不必使用引号11. 日期和时间函数MOLDER包含一系列处理含有字符串日期时间存储变量的字段函数,这些字符串变量代表日期和时间。可在“流属性”对话框中指定具体到每个流的日期和时间格式。日期和时间函数根据当前选定的格式来解析日期和时间字符串。如果用两位数指定日期中的年(即未指定世纪),则Molder将采用“流属性”对话框中所指定的默认世纪,注意:不能从脚本中调用日期和时间函数。日期和时间函数的主要功能如下。功能结果说明TODAY字符串如果在“流属性”对话框中选择翻转日/分钟,该函数将返回采用当前日期格式的当前日期字符串。如果采用两位数的日期格式且未选择翻转日/分钟,该函数将在当前服务器上返回$null$。注意:此功能无法通过脚本调用date_before(DATE1,DATE2)布尔值如果DATE1所表示的日期在DATE2之前,则返回真值。除此以外,此函数的返回结果为0date_days_difference(DATE1,DATE2)整数以整数的形式返回从日期DATE1到日期DATE2的天数。如果DATE2在DATE1之前,则该函数返回负值date_in_days(DATE)整数以整数的形式返回从基线日期到日期DATE的天数。如果DATE在基线日期之前,则该函数返回负数。为了计算正常进行,必须包含有效日期。例如,不能将2001年2月29日指定为日期。因为2001年并非闰年,所以上述日期不存在date_in_months(DATE)实数以实数的形式返回从基线日期到日期DATE的年数。这是基于每月30.0天的近似数字。如果DATE在基线日期之前,则该函数返回负数date_in_weeks(DATE)实数以实数的形式返回从基线日期到日期DATE的年数。这基于每周7天。如果DATE在基线日期之前,则该函数返回负数date_in_years(DATE)实数以实数的形式返回从基线日期到日期DATE的年数。这是基于每年365天的近似数字。如果DATE在基线日期之前,则该函数返回负数date_months_difference(DATE1,DATE2)实数以实数的形式返回从DATE1到DATE2的月数。这是基于每月30天的近似数字。如果DATE2在DATE1之前,则该函数返回负值datetime_date(YEAR,MONTH,DAY)日期创建给定YEAR、MONTH、DAY的日期值,参数必须为整数datetime_date(ITEM)日期返回给定ITEM(可以是字符串、数值、日期或时间戳)的日期值。函数datetime_date(STRING)将通过解析采用当前日期格式的字符串来创建日期。只有“流属性”对话框中指定的日期格式正确,此函数方能成功执行。函数datetime_date(NUMBER)将根据数值(自基线日期或纪元以来的秒数)创建日期。不足一天的部分将被截断。而函数datetime_date(DATE)和datetime_date(TIMESTAMP)将返回未更改的日期或时间戳的日期部分datetime_day(DATE)整数对给定的DATE或时间戳,返回其所在月份的天数据。返回结果是范围为131的整数datetime_day_name(DAY)字符串返回给定DAY的全称。参数必须是1(周日)7(周六)之间的整数datetime_hour(TIME)整数返回TIME或时间戳的小时数,返回结果是从023之间的整数datetime_in_seconds(DATETIME)实数返回日期时间DATETIME中的秒数datetime_minute(TIME)整数返回来自TIME或时间戳的分钟数。返回结果是范围为059的整数datetime_month(DATE)整数返回来自DATE或时间戳的月数。返回结果是范围为112的整数datetime_month_name(MONTH)字符串返回给定MONTH的全称,参数必须是112之间的整数datetime_now时间戳以时间戳形式返回当前时间datetime_second(TIME)整数返回来自TIME或时间戳的秒数。返回结果是从059之间的整数datetime_day_short_name(DAY)字符串返回给定DAY的缩写。参数必须是1(周日)7(周六)之间的整数datetime_month_short_name(MONTH)字符串返回给定MONTH的缩写。参数必须是112之间的整数datetime_time(HOUR,MINUTE,SECOND)时间返回指定HOUR、MINUTE和SECOND的时间值。参数必须为整数datetime_time(ITEM)时间返回给定ITEM的时间值datetime_timestamp(YEAR,MONTH,DAY,HOUR,MINUTE,SECOND)时间戳返回指定YEAR、MONTH、DAY、HOUR、MINUTE以及SECOND的时间戳值datetime_timestamp(DATE,TIME)时间戳返回给定DATE和TIME的时间戳值datetime_timestamp(NUMBER)时间戳返回给定秒数的时间戳值datetime_weekday(DATE)整数对给定DATE或时间戳,返回其所在周的天数据datetime_year(DATE)整数返回来自DATE或时间戳的年,返回结果为整数,如2002date_weeks_difference(DATE1,DATE2)实数以实数的形式返回从日期DATE1至日期DATE2的周数(基于每周7天)。如果DATE2在DATE1之前,则该函数返回负值date_years_difference(DATE1,DATE2)实数以实数的形式返回从日期DATE1至日期DATE2的年数。这是基于每年365天的近似数字。如果DATE2在DATE1之前,则该函数返回负值time_before(TIME1,TIME2)布尔值如果TIME1表示的时间早于TIME2表示的时间,则返回真值。除此以外,此函数的返回结果为0time_hours_difference(TIME1,TIME2)实数以实数的形式返回时间TIME1和TIME2之间的时间差。如果在“流属性”对话框中选择翻转日/分钟,则用TIME1的较大值表示前一天。如果不选择翻转日选项,则较大的TIME1值将造成返回值为负数time_in_hours(TIME)实数以实数的形式返回TIME所表示的小时数。例如,采用时间格式HHMM时,表达式time_in_hours(0130)的返回值为1.5time_in_mins(TIME)实数以实数的形式返回TIME所表示的分钟数time_in_secs(TIME)整数以实数的形式返回TIME所表示的秒数time_mins_difference(TIME1,TIME2)实数以实数的形式返回时间TIME1和TIME2之间的时间差。如果在“流选项”对话框中选择翻转日/分钟,则将采用TIME1的较大值来指代前一天(仅在当前格式中指定分和秒时,指代前一小时)。如果不选择翻转日选项,TIME1的较大值会造成返回值为负数time_secs_difference(TIME1,TIME2)整数以整数的形式返回时间TIME1和TIME2之间的秒数差。如果在“流选项”对话框中选择翻转日/分钟,则将采用TIME1的较大值来指代前一天(仅在当前格式中指定分和秒时,指代前一小时)。如果不选择翻转日选项,则较大的TIME1值将造成返回值为负数12. 序列函数对于某些操作而言,事件序列很重要。Molder应用程序可使您处理以下记录序列:序列和时间序列、序列函数、记录索引、求值的平均数、总和以及对值进行比较等。对于许多应用程序,每个通过流传递的记录可以看成是独立于所有其他记录的单个案例。此种情况下,记录的顺序通常并不重要。然而对于某些类别的问题,记录序列非常重要。这些一般是发生在时间序列中的情况,其中记录序列代表事件的有序排列。每条记录代表着时间中的某个特定时刻的快照,大部分最重要的信息可能并未包含在瞬时值中,而是包含在随时间的流逝、不断变更发展的方式中。通过以下特征可以立即识别出序列和特殊函数:这些函数的前缀均为“”;函数名称采用大写。序列函数可以引用节点当前处理的记录、已通过节点的记录,甚至是尚未通过节点的记录。序列函数可与其他MOLDER表达式组件自由组合,虽然某些函数对参数有所限制。例如:您会发现了解自某一特定事件发生或条件为真以来的时间长度非常有用。使用函数SINCE可实现上述目的,例如:SINCE(IncomeOutgoings)函数返回最后一条满足此条件记录的偏移量,即在此记录之前满足条件的记录数。如果条件从不为真,则SINCE返回INDEX+1。有时您可能需要在SINCE所用的表达式中引用当前记录的值,此时可以使用函数THIS指定一个始终应用于当前记录的字段名。若要找出最后一条满足Concentration字段值是当前记录两倍的记录的偏移量,可使用表达式:SINCE(Concentration2*THIS(Concentration),有时,当前记录的SINCE函数的定义条件为真,例如:SINCE(ID=THIS(ID),基于这种原因,SINCE函数将不对当前记录的条件求值。如果要对当前记录以及前面记录的条件求值,请使用类似函数SINCE0;如果当前记录的条件为真,则SINCE0返回值为0。注意:不得从脚本调用函数。序列函数的主要功能如下。功能结果说明MEAN(FIELD)实数返回指定的FIELD或FIELDS值的平均值MEAN(FIELD,EXPR)实数返回FIELD值的平均值,这些字段来自当前节点所接收的最后EXPR个记录(包括当前记录)。FIELD必须是数值型字段的名称。EXPR可以是任何值为大于0的整数的表达式。如果EXPR被忽略或超出了目前已接收的记录数,则返回目前为止接收到的所有记录数的平均值。注意:此功能无法通过脚本调用MEAN(FIELD,EXPR,INT)实数返回FIELD值的平均值,这些字段来自当前节点所接收的最后EXPR个记录(包括当前记录)。FIELD必须是数值型字段的名称。EXPR可以是任何值为大于0的整数的表达式。如果EXPR被忽略或超出了目前已接收的记录数,则返回目前为止接收到的所有记录数的平均值。INT指定要向后查看的值的最大数量。这比使用两个参数更为有效DIFF1(FIELD)实数返回FIELD1的一阶微分差,因此单参数形式将返回该字段当前值和前一个值的差。如果之前的相关记录不存在,则返回0DIFF1(FIELD1,FIELD2)实数两参数形式给出了FIELD1对FIELD2的一阶微分差。如果之前的相关记录不存在,26则返回0。DIFF2(FIELD)实数返回FIELD1的二阶微分差。因此单参数形式将返回该字段当前值和前一个值的差。如果之前的相关记录不存在,则返回0。DIFF2(FIELD1,FIELD2)实数两参数形式给出了FIELD1对FIELD2的一阶微分差。如果之前的相关记录不存在,则返回0INDEX整数返回当前记录的索引。当记录到达当前节点时,将为其分配索引。为第一条记录分配索引1,每条后续记录的索引以1递增LAST_NON_BLANK(FIELD)Any根据上游源或类型节点中的定义,返回为非空值的FIELD的前一个值。如果目前所读取的FIELD中没有非空值,则返回$null$。注意,可以为每个字段单独定义空值(又称用户默认值)MAX(FIELD)数值返回指定FIELD的最大值MAX(FIELD,EXPR)数值返回目前为止所接收的最后EXPR条记录的FIELD字段(包括当前字段)的最大值。FIELD必须是数值型字段的名称。EXPR可以是值为大于0的整数的任意表达式MAX(FIELD,EXPR,INT)数值返回目前为止所接收的最后EXPR条记录的FIELD字段(包括当前字段)的最大值。FIELD必须是数值型字段的名称。EXPR是任何值为大于0的整数的表达式。如果EXPR被忽略或超出了目前已接收的记录数,则返回目前为止接收到的所有记录数的最大值。INT指定要向后查看的值的最大数量。这比使用两个参数更为有效MIN(FIELD)数值返回指定FIELD的最小值MIN(FIELD,EXPR)数值返回目前为止所接收的最后EXPR条记录的FIELD字段(包括当前字段)的最小值。FIELD必须是数值型字段的名称。EXPR可以是值为大于0的整数的任意表达式MIN(FIELD,EXPR,INT)数值返回目前为止所接收的最后EXPR条记录的FIELD字段(包括当前字段)的最小值。FIELD必须是数值型字段的名称。EXPR可以是任何值为大于0的整数的表达式。如果EXPR被忽略或超出了目前已接收的记录数,则返回目前为止接收到的所有记录数的最小值。INT指定要向后查看的值的最大数量,这比使用两个参数更为有效OFFSET(FIELD,EXPR)Any检索前一条或下一条记录中给定字段的值。返回与当前记录之间偏移量值为EXPR的记录中名为FIELD的字段的值。如果EXPR为(字符)整数,则其可能有正负之分;正偏移是指某条记录已经传递,而负偏移则为某条尚未到达的记录指定了“期待”。例如,OFFSET(Status,1)返回前一条记录中Status字段的值,而OFFSET(Status,-4)“超前查看”序列的

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论