5 l+ c) r5 [0 j3 rTRUNC(numexpr) 数值。返回 numexpr 被截断为整数(向 0 的方向)的值。 % x; ?; g8 ]) q: c3 z C' F p9 P( j# L" ^% u6 u
3 t2 w* H5 V# e' f
) C8 q) O1 S- A4 H3 f统计函数' o8 Y1 h2 k2 b) m( C U+ u5 m
. I0 K' L9 ]4 `2 }/ s4 ]" g后缀 .n 可在所有统计函数中使用以指定有效参数的数目。例如,仅当至少两个变量含有效值时,MEAN.2(A,B,C,D) 对变量 A、B、C 和 D 返回其有效值的均值。SD、VARIANCE 和 CFVAR 的缺省 n 值为 2,其他统计函数为 1。 ; C5 g: Y9 f9 B+ Z0 w) O- S% R2 O: ^" M+ |& b: a5 B0 u( k7 X* l
CFVAR(numexpr,numexpr[,...])数值。返回其具有有效值的参数的方差系数(标准差除以均值)。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 0 V) i |- Y& g4 X0 a! _ , w8 D* N& } O' z( P5 U+ O% ALAG(variable) 数值或字符串。返回数据文件中前一个个案的变量值。为第一个个案返回系统缺失值(数值变量)或空白(字符串变量)。 , y$ l5 I. f9 c8 L( Z( P4 F/ G. u2 `& G" |, }' c1 M: z2 U
LAG(variable,ncases) 数值或字符串。返回文件中前 n 个个案的变量值。为前 n 个个案返回系统缺失值(数值变量)或空白(字符串变量)。0 ~( _* l: s6 i, i2 i
6 Y4 V- [' }! k' M; {' d注意:在一系列的转换命令(无干预 EXECUTE 命令或是其他读取数据的命令)中,延迟函数将在所有其他转换后计算,而无论命令顺序如何。 8 y& B/ P9 A/ k2 q, J F. ~ # m9 Z- l, X W" HMAX(value,value[,...])数值或字符串。返回其具有有效值的参数的最大值。此函数需要两个或更多参数。您可以指定有效参数的最小数目,以对此函数求值。# N6 F1 C w) d9 y6 c4 T" [
9 E8 x4 s7 e4 T' E) `& qMEAN(numexpr,numexpr[,...])数值。返回其具有有效值的参数的算术均值。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。/ ` a) |) u; I7 R
2 `5 D4 m4 o: L" l, b3 W* O) X
MIN(value,value[,...])数值或字符串。返回其具有有效值的参数的最小值。此函数需要两个或更多参数。您可以指定有效参数的最小数目,以对此函数求值。 . g7 I, s; i! h7 _! E$ y. s; B" d4 q9 g; R! J' {
NVALID(variable[,...])数值。返回具有有效的非缺失值的参数的计数。此函数需要一个或多个参数,这些参数应为工作数据文件中的变量名称。 - v0 v8 f& r, F# z3 l% g4 a0 c+ u + h& q; I. D' o& N) hSD(numexpr,numexpr[,...])数值。返回其具有有效值的参数的标准差。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。( o( ?) w* ]/ ]' l
# b$ j) s; m5 Y8 ?$ aSUM(numexpr,numexpr[,...])数值。返回其具有有效值的参数的和。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。' s% h3 A) v( N
! H0 U- i4 T3 A! C- Y6 D3 a3 v5 ^+ C5 _
VARIANCE(numexpr,numexpr[,...])数值。返回其具有有效值的参数的方差。此函数需要两个或更多参数,这些参数必须为数值。您可以指定有效参数的最小数目,以对此函数求值。 % f% S% e9 {, b8 I5 v! Y. f! P 6 h" x! a, z% \1 O; A字符串函数 7 C1 h8 V$ ^- ` , ^2 y1 }" `! b j' J9 x5 w4 d) KCONCAT(strexpr,strexpr[,...])字符串。返回由其全部参数拼接而成的字符串,对其求出的值必须为字符串。此函数需要两个或更多参数。' ^4 R, C# y/ [$ L
: [6 ?7 Q- I, e! d @+ bINDEX(haystack,needle) 数值。返回一个整数,指示字符串 needle 第一次出现在字符串 haystack 中的起始位置。如果 needle 未出现在 haystack 中,则返回 0。 5 e z6 |' W- _# Z4 [' R" ^7 U" q" M
INDEX(haystack,needle,divisor) 数值。请参阅前述函数。可选的第三个参数 divisor 是用于将 needle 划分为各个单独字符串以便搜索的字符数。它必须是一个可平均划分 needle 长度的整数。9 h8 h% W1 a7 D8 _+ o
( ^" @- x- ^/ @9 {: ALOWER(strexpr) 字符串。返回大写字母都更改为小写字母而其他字符不变的 strexpr。1 W( E' B5 u, @+ ]0 ?8 t2 G" Z
+ ]$ s2 c+ g a
LPAD(strexpr,length) 字符串。返回为了延伸到 length 给定的长度而用空格填充左侧的字符串 strexpr,length 必须为 1 到 255 之间的正整数。! V1 U/ o# k% O
* X0 J- f3 h) W9 {* e$ e) ^/ U
LPAD(strexpr,length,char) 字符串。与带两个参数的 LPAD 相同,但用 char 填充 strexpr 的左侧。可选的第三个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的字符串表达式。 - ^8 N' ~; H( a' R2 d: o; s& x/ b! [8 q6 V3 T
LTRIM(strexpr) 字符串。返回删除了所有前导空格的字符串 strexpr。 ?1 J" Y, j# p# p, ], X
2 o9 @0 I/ x. ]. j, a9 T0 b
LTRIM(strexpr,char) 字符串。与带一个参数的 LTRIM 相同,但删除 char 的前导实例。可选的第二个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的字符串表达式。 ! a2 D8 t- q2 I4 q7 ~3 D& F2 @4 J- w2 U8 ^" w
LENGTH(strexpr) 数值。返回 strexpr 的长度,strexpr 必须是一个字符串表达式。这是定义的长度,包括尾部的空格。要获取不带尾部空格时的长度,请使用 LENGTH(RTRIM(strexpr))。! M- X: ~5 p6 |9 ~
$ o1 \* ?/ h. _/ `5 y$ M- {% v( Y
RINDEX(haystack,needle) 数值。返回一个整数,指示字符串 needle 最后一次出现在字符串 haystack 中的起始位置。如果 needle 未出现在 haystack 中,则返回 0。 3 P8 ^* C6 t( l# b( H) d' c& o6 A0 G& U5 A9 i# D4 \& U# _
RINDEX(haystack,needle,divisor) 数值。请参阅前述函数。可选的第三个参数 divisor 是用于将 needle 划分为各个单独字符串以便搜索的字符数。它必须是一个可平均划分 needle 长度的整数。 " B" x4 d# `4 d2 r, L: N+ @' L, H+ X2 [1 v- v j& Y5 \& x
RPAD(strexpr,length) 字符串。返回为延伸到 length 给定的长度而用空格填充右侧的字符串 strexpr,length 必须为 1 到 255 之间的正整数。 0 T; k! a) z3 ?6 d& u2 N& f * c$ @: e& U2 X, q9 t/ {, qRPAD(strexpr,length,char) 字符串。与带有两个参数的 RPAD 相同,但用 char 填充 strexpr 的右侧。可选的第三个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的表达式。 + B; U+ Z# x% B2 V7 m2 y! b8 F1 i 7 ^+ X9 D' `2 l( p' g9 bRTRIM(strexpr) 字符串。返回删除了所有尾部空格的字符串 strexpr。此函数通常用于较大的表达式中,这是因为在将字符串分配给变量时用尾部空格填充了该字符串。$ A! f& M1 J' u; C
& J. l! B& g! ^( ~0 u; P
RTRIM(strexpr,char) 字符串。与带有一个参数的 RTRIM 相同,但删除 char 的尾部实例。可选的第二个参数 char 是包含在一对单引号中的单个字符,或是某个产生单个字符的表达式。4 f( l% j* U2 p& D. g: p3 x
& d/ t/ a O8 d* r: n7 X6 n3 ^0 }% ZSUBSTR(strexpr,pos) 字符串。返回 strexpr 中从位置 pos 开始一直到结尾的子字符串。/ N. n5 x. i; L% I5 x5 p8 q9 a
) L6 F/ C0 L2 A3 m0 y$ a: Y. Z
SUBSTR(strexpr,pos,length) 字符串。返回 strexpr 中从位置 pos 开始、长度为 length 的子字符串。1 q7 N( h# F# s4 O; E
9 D4 N4 p$ Y3 {" eUPCAS(strexpr) 字符串。返回小写字母都更改为大写字母而其他字符不变的 strexpr。' O6 V; W2 Z- M$ P& v6 |
; c; V# m) \6 `4 i! l9 y
日期和时间函数 : x4 ?; |1 @ ~0 g% y6 S $ C& B. R/ C! z9 u( sCTIME.DAYS(timevalue) 数值。返回 timevalue 中的天数(包括有小数位的天数),timevalue 必须为时间格式的数值或表达式,如 TIME.** 函数的结果。1 J5 ]5 d v. u, w/ b% J+ \
) ?7 h9 O( {" x& FCTIME.HOURS(timevalue) 数值。返回 timevalue 中的小时数(包括有小数位的小时数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式读取的格式)的数值或表达式。; O3 g7 p8 ~/ B% T* W
7 y: |. Y+ _8 \* V, y2 q
CTIME.MINUTES(timevalue) 数值。返回 timevalue 中的分钟数(包括有小数位的分钟数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式所读取的格式)的数字或表达式。 + F# N6 W6 k1 X Q! U0 O' Y # ]3 s% E7 r& W( KCTIME.SECONDS(timevalue) 数值。返回 timevalue 中的秒数(包括有小数位的秒数),timevalue 必须为时间格式(TIME.** 函数之一所创建的或以 TIME 输入格式所读取的格式)的数字或表达式。 : y T' m+ m; s F$ T. P* G" H, j6 @6 Y
DATE.DMY(day,month,year) 日期格式的数值。返回一个对应于所指示的 day、month 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,day 在 1 和 31 之间,month 在 1 和 13 之间,year 为一个大于 1582 的四位数整数。, Z5 D% w# b4 n& v/ o% b
9 r- s- v7 Y$ I6 O
DATE.MDY(month,day,year) 日期格式的数值。返回一个对应于所指示的 month、day 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数则同前述函数。 7 y0 M$ ?, V0 ^' Q G7 _: t* Q: f- s0 G3 e( e3 ]2 r, b" A* Q" S
DATE.MOYR(month,year) 日期格式的数值。返回一个对应于所指示的 month 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,month 在 1 和 13 之间,year 为一个大于 1582 的四位数整数。& ~) J' [- ~. U0 ]
3 N9 d8 _* \9 L1 e9 E6 ~
DATE.QYR(quarter,year) 日期格式的数值。返回一个对应于所指示的 quarter 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,quarter 在 1 和 4 之间,year 为一个大于 1582 的四位数整数。 # v4 e/ a5 U4 s8 J7 X 4 h2 h/ K# \& {# o; h1 K& {7 oDATE.WKYR(weeknum,year) 日期格式的数值。返回一个对应于所指示的 weeknum 和 year 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,weeknum 在 1 和 52 之间,year 为一个大于 1582 的四位数整数。4 x n5 S8 H/ h% D, ~9 Y1 |, h! f
$ R3 |& j, U2 ~9 A8 M" I5 z0 RDATE.YRDAY(year,daynum) 日期格式的数值。返回一个对应于所指示的 year 和 daynum 的日期值。要正确显示此值,可为其指定 DATE 格式。参数都必须为整数,daynum 在 1 和 366 之间,year 为一个大于 1582 的四位数整数。+ `4 j( [" q% X
- M$ U6 b* Q r: W8 l) s
TIME.DAYS(days) 时间区间格式的数值。返回一个对应于所指示的 days 数的时间区间。要正确显示此值,可为其指定 TIME 格式。参数必须为数值。 $ m3 I! H7 B" i2 h: L, A0 D) D* Z: Z6 R
TIME.HMS(hours,min,sec) 时间区间格式的数值。返回一个对应于所指示的 hours、min 和 sec 数的时间区间。要正确显示此值,可为其指定 TIME 格式。参数 hours、min 和 sec 必须分别为不大于 24、60 和 60 的整数,但第一个非零参数可以超出其限制,且最后一个参数可以有小数部分。) C. @' o3 F2 A5 X4 U6 q' t
\# p0 Y) a8 o t3 O4 W
XDATE.DATE(datevalue) 日期格式的数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的日期部分。(必须为此函数所创建的变量指定相应的显示格式。在"数据编辑器"的"变量视图"中,使用该变量的"类型"单元格为其指定一个日期显示格式。) & z }2 v0 N+ y. y- [9 @/ o0 U! N6 l) c' K- S
XDATE.HOUR(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的小时(0 和 23 之间的一个整数)。 - r* y! H4 \- [$ p; q 3 t% o( m3 r+ X0 U) ^XDATE.JDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一年中的某天(1 和 366 之间的一个整数)。 % c* h/ S# B0 q ! l" Q! w4 A/ l3 ]5 C4 Z# j4 }( e+ JXDATE.MDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一月中的某天(1 和 31 之间的一个整数)。 $ z. J. a0 ^# S9 R! N2 r( K) ? 0 R2 X* Y8 k) _XDATE.MINUTE(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的分钟(0 和 59 之间的一个整数)。 G [. k0 M8 W- u
' {8 d; N9 D+ @# _% C' g: y/ v# HXDATE.MONTH(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的月(1 和 12 之间的一个整数)。 * H5 T; Z0 r% ^; e7 h7 w6 L 4 K) t% o. s- J4 j& ?XDATE.QUARTER(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一年中的季度(1 和 4 之间的一个整数)。 ! u. G. k; i3 [# q9 n4 _) C , A$ h& y5 m- Z7 p. e* j. kXDATE.SECOND(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的秒(0 和 60 之间的一个数)。! |. z0 g: ^3 \
* }2 X2 w0 @7 s5 f2 C2 \. qXDATE.TDAY(timevalue) 数值。返回时间区间格式(TIME.** 函数之一所创建的或 TIME 输入格式所读取的格式)的数值中的整天数(整数形式) 。 ! _) ]/ R5 U& ]$ I- F ; D' s3 Y# @% B2 e* Z, |8 L% }XDATE.TIME(datevalue) 时间区间格式的数值,代表午夜以来的秒数。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中一天中的时间。(通常应为此函数所创建的变量指定相应的显示格式。在"数据编辑器"的"变量视图"中,使用该变量的" 类型"单元格为其指定一个显示为小时和分钟的日期显示格式。) / o: S4 y8 Z& @$ v: b; l Z% Y9 s- C
XDATE.WEEK(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的周数(1 和 53 之间的一个整数)。 4 }# d2 W5 e/ x- y$ n( u$ @6 A & F4 G! c: ?& V; r$ Q& Q4 GXDATE.WKDAY(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的星期(代表星期天的 1 和代表星期六的 7 之间的整数) 。 2 b0 Z$ p- E+ C3 a& f6 h: C0 Y6 F1 }+ L5 @
XDATE.YEAR(datevalue) 数值。返回日期格式(DATE.** 函数所创建的或 DATE 输入格式之一所读取的格式)的数值中的年份(四位数的整数形式) 。 , H: u$ a R) W+ r% O$ i0 l f: \# c6 H7 O
YRMODA(year,month,day) 数值。返回从 1582 年 10 月 15 日开始一直到参数 year、month 和 day 所代表的日期为止的天数,这三个参数必须为可构成自 1582 年 10 月 15 日以来的有效日期的整数。两位数的 year 值将采用基于"选项"设置("编辑"菜单,"选项","数据"选项卡)的世纪。缺省情况下,两位数的 year 的取值全距如下:从当前日期之前 69 年开始,到当前日期之后的 30 年结束。 2 x9 s1 B G6 {, V0 Z# c' G% I: ? K s1 S/ A6 u
6 M9 I3 J7 D2 R W$ {0 N( P# V8 _2 D( s. S- m: u
逻辑函数 ) ]" ]( l: f. U8 a- _ E% a, @! J B# V; U 2 |& ?5 k" J$ S: |' ?% E9 b8 N1 n2 W! {
. P3 v7 J) h- b
8 h; V5 e0 S3 Y+ o- O7 W
RANGE(test,lo,hi[,lo,hi,...])逻辑。如果 test& t' W1 i9 x$ T4 v, I' b/ _
! }2 H; s. {, D3 g是在 lo, hi 对所定义的任何包含全距内,则返回 1 或 true。参数必须全部为数值或全部为字符串,必须长度相同,并且每个lo, hi 对必须按 lo <= hi 来排序。 ; U/ P: D3 w* D8 ]+ G. S. L0 ^# j5 L+ t9 T8 u
7 a3 s2 ~1 X9 s1 ] ^* t
1 C2 I$ J; u. y" ^: X5 U' |注意:对字符串值,由于使用了国家对照顺序,即使是同一字符集,其结果也可能因语言环境不同而不同。语言顺序,而非 ASCII 顺序,决定了序列中的特定字符的位置。0 Z6 F0 I4 g+ H) C4 c
3 W' d# ?3 i$ x0 K* U, Q# F 6 S$ x/ o b' b$ O2 K% y7 k + {; Z) T5 B( R0 AANY(test,value[,value,...])逻辑。如果检验的值与任何后续值相匹配,则返回 1 或 true;否则返回 0 或 false。此函数需要两个或更多参数。 9 {, g5 [& `0 q& ?5 b# i2 T- H* C; n
1 ]% R1 B5 P0 k4 O
y/ k$ O* z+ ~% A0 o8 g概率密度函数 : x" Z1 G( X9 y0 ], T7 Y* y 4 y- {' _) b j5 E' ~下列函数给出了具有指定分布的密度函数在第一个参数 quant 值处的值。后面的参数为分布参数。请注意每个函数名称中的句点。7 T0 U6 r7 A/ l
7 d: P; f0 S' F+ p+ J9 k
PDF.BERNOULLI(quant, prob) 数值。返回具有给定概率参数的 Bernoulli 分布的值等于 quant 的概率。 7 J- A, [$ ?: h! `" G8 ?. F5 C0 P- g1 F9 @ h5 N2 U
PDF.BETA(quant, shape1, shape2) 数值。返回具有 quant 的给定形状参数的 beta 分布的概率密度。 ! R2 a+ Z! b2 h9 O 5 c% X1 l4 C& K. p) j$ t' kPDF.BINOM(quant, n, prob) 数值。返回当每个试验的成功概率是 prob 时,n 个试验中的成功数等于 quant 的概率。当 n 是 1 时,该值等同于 PDF.BERNOULLI。6 U3 D1 z- A+ K) L- r5 O: E
7 H1 X1 U2 j8 e* E% m! }8 ?
PDF.BVNOR(quant1, quant2, corr) 数值。返回 quant1、quant2 处给定相关性参数的标准双元正态分布的概率密度。 * n2 d1 M+ k$ d0 O; }4 a8 | E1 o2 H5 e" Q9 L: c
PDF.CAUCHY(quant, loc, scale) 数值。返回 quant 处给定位置和标度参数的柯西分布的概率密度。9 _% O8 a( l2 [9 f% ^' _4 R X