Skip to main content

特殊函数

这些函数可执行各种特殊操作。您可以将其运用到所有数据类型中。

Coalesce

Coalesce(v1,v2,v3,…,vn):返回第一个非 null 值。

重要

传递给 Coalesce 函数的值必须全部为相同类型(全部为字符串、全部为数值或全部为空间)。

示例

Coalesce(null, "oranges", "apples", null, "grapes") 返回 oranges。

Coalesce(oranges, apples, grapes) 返回错误。

Coalesce("1", "2", "3") 返回 1。

Coalesce(null, null, null) 返回 Null。

Coalesce(toDateTime("apples"), toDateTime(1)) 返回 1899-12-31 00:00:00,因为 toDateTime("apples") 返回 Null。

EscapeXMLMetacharacters

EscapeXMLMetacharacters(String):使用 XML 元字符的转义版本来替换这些字符。有 5 个字符可转义。

字符

转义版本

"

"

'

'

<

&lt;

>

&gt;

&

&

示例

EscapeXMLMetacharacters("2>1&1<2") 返回 2&gt;1&1&lt;2

GetVal

GetVal(index, v0,...vn):返回索引(从 0 开始)对应的 (v0, ..., vn) 值。

GetEnvironmentVariable

GetEnvironmentVariable(Name):返回 Name 中指定的环境变量。要获取环境变量列表,请在计算机上转至控制面板 > 系统和安全 > 系统 > 高级系统设置 > 环境变量。您将看到系统变量列表。您可以使用此列表中的任何值。

Server 支持

Alteryx 不支持保存至 Server 的应用程序中的 GetEnvironmentVariable

示例

GetEnvironmentVariable(CommonProgramFiles) 返回 C:\Program Files\Common Files。

GetEnvironmentVariable(OS) 返回 Windows_NT。

消息

Message(messageType, message, returnValue):与条件语句一起用于将消息输出到消息日志,并在满足条件时使用指定值更新列数据。

消息类型和文本显示在结果窗口中。如果启用了日志记录,则输出日志文件也类似于此信息。如需了解详情,请访问结果窗口输出日志文件

参数

messageType:与消息类型对应的数字:

  • 1:消息

  • 2:警告

  • 3: 错误

  • 5:转换错误(字段转换错误)

  • 8:文件(输入)

  • 9:文件(输出)

message:用引号括起来的字符串表示的消息文本。

returnValue:要输出到列数据的值。这可以是数值(例如 0)、null 或用引号括起来的文本字符串(例如“False”)。

示例

在本示例中,如果给定的日期时间值不包含有效的时间数据,则在条件表达式中使用 Message 函数输出字段转换错误消息,并用值“False”更新列数据。

If [Hour] = "0" and [Minutes] = "0" then Message(5, "Invalid time in DateTime", "False") Else "True" Endif

NULL

NULL():返回 Null 值。

RangeMedian

RangeMedian(...):计算一系列汇总范围的中位数。如需了解详情,请访问范围中位数

ReadRegistryString

ReadRegistryString(Key, ValueName, DefaultValue="):返回注册表中的值。

Soundex

Soundex(String):返回字符串的 Soundex 码。Soundex 基于字符串中的第一个字符加上基于以下项的 3 个字符创建代码:

字符

Soundex

非字母字符(数字和标点符号)

-1

a、e、i、o、u、y、h 和 w

除非它是字符串中的第一个字符,否则将被忽略。

b、f、p 和 v

1

c、g、j、k、q、s、x 和 z

2

d 和 t

3

l

4

m 和 n

5

r

6

示例

如果生成的代码只有 2 个或 3 个字符长,Soundex 将使用零将代码填充为 4 个字符。例如,在名字 Lauren 中,只有 L、r 和 n 被转换 (Lrn),因此生成的 Soundex 码为 L650。

如果生成的代码长度超过 4 个字符,则第四个字符之后的所有字符都将予以忽略。例如,在名字 Patrick 中,P、t、r、c 和 k 可以被转换为 (Ptrck),但生成的 Soundex 码只有 4 个字符:P362。

Soundex_Digits

Soundex_Digits(String):返回前 4 个数字;或者,如果无,则返回 Soundex 码。

  • 如果字符串中有数字,则返回前 4 位数字。

  • 如果没有数字,则返回 Soundex 代码。

字符串示例

Soundex_Digits

3825 Iris

3825

55555 Main

5555

14L Broadway

14

Commerce Street

C562

L Street

L236

TOPNIDX

TOPNIDX(N, v0, v1, ..., vn):在按降序对索引字段(v0 到 vn)进行排序时,从最大值返回第 N 个从 0 开始的原始索引位置。Null 值将予以忽略,N 应小于非 null 参数。当 N==0 时,等同于 MaxIdx(...)。

  • N - 指定从最大索引字段开始算的第 N 位

  • v0, v1, ..., vn 是索引字段

示例

TOPNIDX(1, [IndexedField1], 5, 7) 返回...

  • 0(如果 5<[IndexedField1]<7)

  • 1(如果 [IndexedField1] < 5 或 [IndexedField1] 是 null)

  • 2(如果 [IndexedField1] > 7)

UrlEncode

UrlEncode(String):将 UTF-16 字符串编码适用于原始引擎和 AMP 的 Web 合法 URL。

重要

Please note that this method is no longer recommended. We recommend the new UrlEncodeUTF8 function instead.

示例

C:\temp\Alteryx URL Encode 返回 C:/temp/Alteryx%20URL%20Encode

UrlEncodeUTF8

UrlEncodeUTF8(String): Encodes a string using the RFC 3986-compliant* percent-encoding. The function converts characters into UTF8-based units and it skips characters defined in the unreserved character set. Unlike the above UrlEncode function, this function doesn't skip the common URL delimiters like "/", so it's not suitable for encoding full path URLs. You should use this function to encode specific URL components, like query component parameters.

注意

*RFC 3986 is the standard for URL encoding and defines a method for encoding Unicode characters by converting them into a UTF-8 byte sequence and then representing each byte with a % (percent) sign followed by two hexadecimal digits.

Example

UrlEncodeUTF8("C:\temp\Alteryx URL Encode") returns C%3A%5Ctemp%5CAlteryx%20URL%20Encode.