Spotfire® 用户指南

转换函数

列出可用的转换函数。

函数 说明
Base64Decode(Arg1) 将 base64 字符串解码为二进制大对象,以便可以在 Spotfire 中将其作为图像查看。

示例:

Base64Decode([Column])

Base64Encode(Arg1) 将二进制大对象编码为 base64 字符串。如果 Spotfire 中的数据将导出至其他应用程序,这可能很有用。

示例:

Base64Encode([Column])

Boolean(Arg1) 将列或值转换为 Boolean

示例:

Boolean([Column])

Cast(Arg1 as type) 将任何表达式转换为任意类型(空/未定义除外)。

无效值已传播。为不同类型的输入及不同输出中的输出类型结果执行转换。有关详细信息,请参见转换方法

示例:

Cast([IntegerColumn] as Currency)

Currency(Arg1) 将列或值转换为 Currency

示例:

Currency([Column])

Date(Arg1, ..., Arg3) 将列或值转换为 Date。如果使用单个参数,则 Arg1 可以是 StringDateTime 类型。如果指定了 String,则必须以 Spotfire 可识别的格式写入日期。此外,日期的所有部分(年、月、日)都必须存在。请参见以下示例。如果指定了 DateTime,则会删除时间部分。

如果提供了三个参数,它们必须为 Integer 值。第一个参数为年份,第二个为月份,而第三个为月中第几日。

如果仅提供单个 Integer 参数,则 Date 函数会将该整数视作刻度。刻度从日期 01-01-01(零一年一月一日)开始以 100 纳秒为单位进行计数。

另请参见日期和时间函数以及转换方法

示例:

Date("2003-03-21") → 3/21/2003

Date("3/21/03") → 3/21/2003

Date("10") →(空)

Date(null) →(空)

Date("2003-03-21 11:37:00") → 3/21/2003

Date(2003,03, 21) → 3/21/2003

Date(605000000000000000l) → 3/4/1918

(可用的输出格式取决于当前区域设置。)

DateTime(Arg1, Arg2,..., Arg7) 将列或值转换为 DateTime。如果使用单个参数,则 Arg1 可以是 StringDate 类型。如果指定了 String,则必须以 Spotfire 可识别的格式写入日期。此外,必须至少存在日期的所有部分(年、月、日)。如果指定了 Date,则时间部分会设置为 00:00:00 (12:00:00 AM)。

如果提供了七个参数,它们必须为 Integer 值。第一个参数为年份,第二个为月份,第三个为月中第几日,第四个为小时,第五个为分钟,第六个为秒钟,而第七个参数为毫秒。

如果仅提供单个 Integer 参数,则 DateTime 函数会将该整数视作刻度。刻度从日期 01-01-01(零一年一月一日)开始以 100 纳秒为单位进行计数。

另请参见日期和时间函数以及转换方法

示例:

DateTime("2003-03-21 11:37:00") → 3/21/2003 11:37:00 AM

DateTime("10") →(空)

DateTime(null) →(空)

DateTime("2003-03-21") → 2003-03-21 00:00:00

DateTime(2003, 03, 21, 11, 37, 00) → 2003-03-21 11:37:00

DateTime(605000000000000000l) → 3/4/1918 11:33:20 AM

(可用的输出格式取决于当前区域设置。)

FirstValidAfter(Arg1)

将列中的空值替换为缺失值之后的第一个有效值。

示例:

FirstValidAfter([Column])

FromEpochMilliseconds(Arg1)

将列或值转换为日期时间,其中数字将被解释为自 1970 年 1 月 1 日以来经过的毫秒数。

示例:

FromEpochMilliseconds(231312)

FromEpochSeconds(Arg1)

将列或值转换为日期时间,其中数字将被解释为自 1970 年 1 月 1 日以来经过的秒数。

示例:

FromEpochSeconds(231312)

Integer(Arg1) 将列或值转换为 Integer 数值。如果无法转换,则将返回错误。Arg1 的类型可以为 IntegerRealString,结果的类型为 IntegerReal 数值将被截断,即只使用整数部分。

示例:

Integer("-123") → -123

Integer(-2.99) → -2

Integer("0%") →(空)

Integer(1e20) → (空)

Integer(null) →(空)

LastValidBefore(Arg1)

将列中的空值替换为缺失值之前的最后一个有效值。

示例:

LastValidBefore([Column])

LongInteger(Arg1) 将列或值转换为 LongInteger

示例:

LongInteger([Column])

ParseDate(Arg1, ..., Arg3) 将字符串中的日期解析为 Date 格式。第一个参数是包含日期的字符串或字符串列。

第二个参数是说明该日期结构的格式字符串,第三个(可选)参数是文化代码。

示例:

ParseDate("2013-09-17", "yyyy-MM-dd")

ParseDate("17-okt-2013","dd-MMM-yyyy","sv-SE")

ParseDateTime(Arg1, ..., Arg3) 将字符串中的日期/时间信息解析为 DateTime 格式。第一个参数是包含日期/时间信息的字符串或字符串列。

第二个参数是说明该信息结构的格式字符串,第三个(可选)参数是文化代码。

示例:

ParseDateTime("2013-09-17 10:30", "yyyy-MM-dd h:mm")

ParseDateTime("17-okt-2013 13:25","dd-MMM-yyyy HH:mm","sv-SE")

ParseReal(Arg1, Arg2)

将字符串解析为 Real 值。第一个参数是字符串或字符串列。第二个(可选)参数是文化代码。

示例:

ParseReal([Column], "en-US")

ParseReal("7.25")

ParseTime(Arg1, ..., Arg3) 将字符串中的时间解析为 Time 格式。第一个参数是包含时间的字符串或字符串列。

第二个参数是说明该时间结构的格式字符串,第三个(可选)参数是文化代码。

示例:

ParseTime("9:25", "h:mm")

ParseTime("17:30", "HH:mm","sv-SE")

ParseTimeSpan(Arg1, ..., Arg3)

将字符串中的时间跨度信息解析为 TimeSpan 格式。第一个参数是包含时间跨度信息的字符串或字符串列。

第二个参数是说明该信息结构的格式字符串,第三个(可选)参数是文化代码。

示例:

ParseTimeSpan("5.7:11:3.1", "d.h:m:s.f", "sv-SE")

ParseTimeSpan("123 3 11 7 -5", "f s m h d")

Real(Arg1) 将列或值转换为 Real 数值。如果无法转换,则将返回错误。Arg1 的类型可以为 IntegerRealString,结果的类型为 Real

示例:

Real(1.23) → 1.23

Real(2) → 2

Real("0%") →(空)

Real(null) →(空)

SingleReal(Arg1) 将列或值转换为 SingleReal

示例:

SingleReal([Column])

SN(Arg1, Arg2) 替换空值。如果不为空,则将返回 Arg1,否则将返回 Arg2Arg1Arg2 可以为任何类型,但这两者都必须属于同一类型或同为空。结果与参数具有相同的类型。

常见用法是替换列中的空值。如果 Arg1 是列,Arg2 可以是与此列中的内容具有相同类型的值,也可以是具有相同内容类型的列。如果 Arg2 也是列,则 Arg1 中的错误将被替换为 Arg2 中同一行中的值。

示例:

SN(1, 2) → 1

SN(null, 2) → 2

SN(0/0, 2) → #NA

SN([Column], 1) → 1(如果列中为空值)

SN([Column1], [Column2]) →(如果 Column1 中为空值,则取 Column2 中值)

String(Arg1) 将列或值转换为 StringArg1 可以为任何类型,结果为字符串类型。
注: 此函数始终使用默认值格式设置。这可能会导致转换数值时精度降低。

示例:

String(1.23) → "1.23"

String(null) →(空)

Time(Arg1, Arg2,..., Arg4) 将列或值转换为 Time。如果无法转换,则将返回错误。如果使用单个参数,则 Arg1 可以是 StringDateTime 类型。如果指定了 String,则必须以 Spotfire 可识别的格式写入时间。此外,必须指定时和分。请参见以下示例。如果指定了 DateTime,则会删除日期部分。

如果提供了四个参数,它们必须为 Integer 值。第一个参数为小时,第二个为分钟,第三个为秒钟,而第四个为毫秒。

如果仅提供单个 Integer 参数,则 Time 函数会将该整数视作刻度。刻度从日期 01-01-01(零一年一月一日)开始以 100 纳秒为单位进行计数。

另请参见日期和时间函数以及转换方法

示例:

Time("11:37:00") → 11:37:00

Time("10") →(空)

Time(null) →(空)

Time(11, 30, 20, 4) → 11:30:20

Time(605000000000000000l) → 11:33:20 AM

(可用的输出格式取决于当前区域设置。)

TimeSpan(Arg1, Arg2,...,Arg5)) 从列或值创建 TimeSpan。如果给定一个参数,则输入列可以为 StringTimeSpanInteger 类型。如果指定了 String,则必须以“[-]d.h:m:s.ms”格式写入时间跨度。

如果提供了五个参数,则第一个参数为天,第二个为小时,第三个为分,第四个为秒,第五个为毫秒。前四个参数为 Integer,最后一个为 Real 数值。

如果提供了一个 Integer 参数,则 TimeSpan 会将该 Integer 视作刻度。刻度以 100 纳秒为单位进行计数。这表示 TimeSpan 将使用十分之一微秒(刻度,小数点后 7 位)作为基数,以一秒钟的若干分之几的形式生成。如果给定 10000,则 TimeSpan 为 0.0:0:0.001。

示例:

TimeSpan([Column])

TimeSpan("247.5:17:11.5002")

TimeSpan(247, 05, 17, 11, 500.2)

ToEpochMilliseconds([Arg1])

将列或值从日期时间转换为表示自 1970 年 1 月 1 日起经过的毫秒数的数字。

示例:

ToEpochMilliseconds([Date])

ToEpochSeconds([Arg1])

将列或值从日期时间转换为表示自 1970 年 1 月 1 日起经过的秒数的数字。

示例:

ToEpochSeconds([Date])

有关可转换的数据类型列表,请参见数据类型

另请参见函数