什么是函数?

您可以将 Analytics 函数视为执行特定且有用的任务的小工具。 例如,您可以使用函数来标准化一段格式不一致的文本中的大小写。

函数和输入 输出
PROPER("john SMITH")
John Smith

另一种考虑函数的方式是将其视为“黑盒子”。 输入从一侧进入,在其内部进行某种转换,然后输出从另一侧离开。

函数的三个基本部分

示例 PROPER("john SMITH") 演示了任何函数的三个基本部分。

  • 函数名称在此例中,为 PROPER
  • 一对括号左括号 ( 和右括号 )
  • 函数输入括号:在此例中,为 "john SMITH",包括引号在内

说明

在所有 Analytics 文档中,函数名称被以大写表示,这只是一种格式化规范。 Analytics 不要求以大写形式输入函数。

输入和输出

对函数的稍微技术性的描述是它是由接受输入并返回输出的计算机执行的计算或操作。

在上面的示例中,输入是 "john SMITH",输出是 John SmithPROPER( ) 函数执行的操作是将所有单词转换为正确的大小写(首字母大写,后面的字母小写)。

函数从不改变源数据

函数从不改变被用作输入的源数据。 它使用输入数据来计算输出结果,然后结果被存储在您的计算机内存中,以便您可以利用它们。

在上面的示例中,物理数据 john SMITH 在您的计算机中保持不变。 您可以将输出 John Smith 视为“虚拟数据”,它存在于内存中,并且可以在后续操作中使用。

在有关使用函数来创建计算域的讨论中,我们会重温这一知识。

函数的作用域

任何特定函数执行的计算或操作具有很小的作用域。 PROPER( ) 函数仅仅转换文本的大小写。 但是,正如您将在本套教程中所看到的那样,尽管每个函数的作用域都很小,但函数仍然是强大的,并且对于 Analytics 中的数据分析而言至关重要。

函数和命令之间的区别

Analytics 函数和命令都对数据执行计算或操作,但是函数的作用域较窄,而命令的作用域通常较宽。 例如:

  • 窄作用域 PROPER( ) 函数转换文本的大小写
  • 宽作用域 SUMMARIZE 命令对表中的所有记录进行分组

函数可以为命令提供输入。 例如,您可以使用 PROPER( ) 函数来转换“名称”域的大小写,然后使用 SUMMARIZE 命令按现在已标准化的“名称”域对记录进行分组。

反之则不正确。 命令不能被用作函数的输入。

更多示例

您可以使用函数来移除文本中的前导和后继空格,移除 ID 号码中的连字符,或者查找具有位于特定日期范围内的日期的记录。

示例

下面是三个不同函数可以做的事情的示例:

  • ALLTRIM( ) 函数
  • EXCLUDE( ) 函数
  • BETWEEN( )  函数
函数和输入 输出
ALLTRIM(" Chicago ")
Chicago

仅包含字母,无前导或后继空格。

EXCLUDE("VT-123-45", "-")
VT12345

仅包含字母和数字,无连字符。

BETWEEN(`20170701`, `20170101`, `20171231`)

在函数输入中:

  • 第一个日期是被测试的日期
  • 第二个日期是日期范围的开始日期
  • 第三个日期是日期范围的结束日期
T

返回 T,表示结果为真,因为 2017 年 7 月 1 日介于 2017 年 1 月 1 日和 12 月 31 日之间。

作为函数输入的字面量值与域之比较

上面的示例使用实际的或字面量输入值,以便您可以准确地看到每个函数所做的工作。 在 Analytics 中,您通常使用一个域或者一个变量作为函数的主要输入。

下面说明了如何使用域作为函数输入。 后续教程解释了如何使用变量作为函数输入。

示例

以下为上述的 BETWEEN( ) 示例,但现在是使用一个日期域而不是一个字面量日期值作为输入。

BETWEEN(Invoice_Date, `20170101`, `20171231`)

对于 Invoice_Date 域中每个落在 2017 年的日期,该函数返回 T 以表示结果为真,对于其他年份中的日期,返回 F 以表示结果为假。

说明

您为 BETWEEN( ) 函数指定的两个边界值是包容性的。 像这样的细节问题包括在每个函数的帮助主题中。

下一步做什么?

学习如何快速且轻松地熟悉任何 Analytics 函数: 熟悉不同的函数