TIBCO Cloud™ Spotfire® Business Author 用户指南

转换函数

列出可用的转换函数。

函数 说明
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 函数会将Integer 视作刻度。刻度从日期 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")→ 3/21/2003 0:00:00 AM

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

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 类型,结果为 Integer 类型。Real 数值将被截断,即只使用整数部分。

示例:

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 类型。
注: 此函数始终使用默认值格式设置。这可能会导致转换数值时精度降低。

示例:

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 AM

Time("10")→(空值)

Time(null)→(空值)

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

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

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

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

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

示例:

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])

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

另请参见函数